(19) TZZ Z T

(11) EP 2 595 054 A2

(12) EUROPEAN PATENT APPLICATION

(43) Date of publication: (51) Int Cl.: 22.05.2013 Bulletin 2013/21 G06F 9/445 (2006.01)

(21) Application number: 12192801.4

(22) Date of filing: 15.11.2012

(84) Designated Contracting States: (71) Applicant: Microsoft Corporation AL AT BE BG CH CY CZ DE DK EE ES FI FR GB Redmond, WA 98052 (US) GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR (72) Inventor: Jacob, Suraj Designated Extension States: Redmond, WA 98052 (US) BA ME (74) Representative: Grünecker, Kinkeldey, (30) Priority: 15.11.2011 US 201113297235 Stockmair & Schwanhäusser Leopoldstrasse 4 80802 München (DE)

(54) Search augmented and configuration for computer applications

(57) Providing for search to facilitate discovery or ac- cess to configuration functions of a computer application is described herein. By way of example, metadata can be appended to configuration functions of the computer application. A matrix correlating subsets of metadata with related configuration functions can facilitate distinguish- ing respective configuration functions, or groups of relat- ed configuration functions based on the subsets of meta- data. User search data can be referenced against the subsets of metadata. Respective subsets of metadata that satisfy a condition defined by a data matching func- tion can be returned as a match, and configuration func- tions associated with matching metadata can be output in response to the search data. In some aspects, user- appended metadata is provided for user customization of configuration function searching, and in other aspects machine learning can be employed to derive user pref- erences from usage activity and search history, and tailor search results to predicted user preferences. EP 2 595 054 A2

Printed by Jouve, 75001 PARIS (FR) 1 EP 2 595 054 A2 2

Description combination of these or like mechanisms for organizing configuration functions. Thus, some applications may TECHNICAL FIELD configuresome configurations functionsin multipleways. For instance, functionality accessible on an editing menu [0001] The present application is related to usability 5 may also be available on an editing , and so on. features for menu and configuration functions of a com- [0005] Although menus, and dialogue boxes puter application, and more particularly to search aug- provide a sophisticated way to organize configuration mented menu and configuration functions for computer functions in a computer application, the sheer number of applications. such functions can still overwhelm users, particularly 10 those users who are unfamiliar with an application, or are BACKGROUND familiar with a prior version of the application having a different organization. One problem in software develop- [0002] Software applications have a variety of mech- ment, for instance, is providing new application function- anisms for providing and enhancing user experience of ality and solving user concerns in a manner that is ap- an application. Some applications are configured to en- 15 pealing to a wide base of users, with an interface that is able a user to alter borders, shading and other visual easy to navigate. One deterrent in moving to a new ver- aspects of an application’s display. Some applications sion ofa computerapplication isfear of losing productivity are configured to enable a user to alter sounds, music, from lack of familiarity with the user interface. A challenge ringtones and other auditory features of the application, for software development in providing computer applica- and so on. Still other applications may provide options 20 tions is to include new functionality, fix inoperable or in- for changing a tactile interface in which a user may re- effective functionality, while providing a pleasing user ex- ceive output information or provide input information to perience, without impacting productivity of users. a computer and computer application (e.g., a touchpad screen). Generally speaking, user interface customiza- SUMMARY tion can be as rich and diverse as the variety of ways in 25 which information can be received from or output to a [0006] A simplified summary is provided herein to help user of a computer application. enable a basic or general understanding of various as- [0003] As applications become more complex, the pects of exemplary, non-limiting embodiments that follow number of functions and functionality of a computer ap- in the more detailed description and the accompanying plication can increase significantly. Take, for instance, a 30 drawings. This summary is not intended, however, as an wordprocessing application. Suchan application will like- extensive or exhaustive overview. Instead, the sole pur- ly have functionality to facilitate generation of letters, pose of this summary is to present some concepts related postcards, documents, presentations, banners, signs, to some exemplary non-limiting embodiments in a sim- and so on. The application may contain different sets of plified form as a prelude to the more detailed description default parameters for each of these different types of 35 of the various embodiments that follow. documents. Such parameters might include dimensions [0007] In particular aspects, disclosed is a system, of documentboundaries, dimensions of borders andmar- comprising a reference component configured to access gins, visual artwork, preconfigured text fields, and so on. a set of metadata correlated with configuration functions In addition, many of these parameters could be user cus- of a computer application, an indexing component con- tomizable, in which case the application will include a 40 figured to distinguish respective subsets of the set of control interface for receiving user parameter values metadata that are associated with respective ones of the (e.g., a control dialogue box for borders and margins, configuration functions; and a searching component that etc.). In general, different application functionality and receives a set of search data, compares the set of search features have associated user options or preference set- data with the subsets of the set of metadata, and identifies tings for user customization of parameters associated 45 a matching subset of metadata that satisfies a condition with the functionality and features. These user options pertaining to the search data defined by a function. and preference settings are also referred to as configu- [0008] In other aspects, a method of providing access ration functions. to configuration functions of an application is disclosed, [0004] Some methods employed for organizing config- the method comprising assigning respective sets of uration functions of a computer application include cre- 50 metadata to respective configuration functions of the ap- ating menus, ribbons, dialogue boxes, toolbars, and the plication that are descriptive of respective names, uses like, that organize configuration functions into various or applications of the respective configuration functions; categories. For example, a set of menus might include a indexing the configuration functions and the assigned re- file menu, editing menu and viewing menu, among oth- spective sets of metadata, receiving a configuration func- ers, in which configuration functions related to those cat- 55 tion search query; referencing the search query with re- egories can be accessed. Other applications can organ- spective sets of metadata and identifying one or more ize related configuration functions in toolbars, or in respective sets of metadata that satisfy a condition de- pop-up boxes, whereas some applications employ a fined by a data matching function relative to the search

2 3 EP 2 595 054 A2 4 query, and returning one or more configuration functions one such aspect, a user can provide user-metadata to assigned to respective sets of metadata satisfying the be appended to a particular configuration function, there- condition. by potentially modifying the likelihood of returning the [0009] In further aspects, the subject disclosure pro- configuration function in response to entry of search data vides a computer-readable medium comprising instruc- 5 related to the user- metadata. In another aspect, user ac- tions that, when executed by a processor, facilitate user tivity within the computer application can be monitored access to configuration functions of an application; the and analyzed to generate additional metadata related to instructions comprising assigning distinguishing metada- a particular user’s use of the computer application. This ta to respective configuration functions of an application, metadata can be descriptive of how the user interacts indexing the configuration functions and the distinguish- 10 with various aspects of the user interface, what options ing metadata, receiving a search query pertaining to con- or preferences the user selects, or the like. This metadata figuration functions of the application, searching the dis- can be appended to suitable configuration functions to tinguishing metadata to identify a subset of the distin- enhance future search results based on the user activity. guishing metadata correlated with the search query suf- In at least one additional aspect, machine learning can ficient to satisfy a condition defined by a correlation func- 15 be employed to derive the metadata or to conduct a tion, and returning a configuration function associated search, providing a sophisticated set of algorithms to with the subset of the distinguishing metadata in re- adapt computer application configuration functionality to sponse to the search query. a particular user of the computer application. [0010] According to various aspects of the subject dis- [0014] Other embodiments and various non-limiting closure, provided herein is user-enabled search coupled 20 examples, scenarios and implementations are described with accessing configuration functions of a computer ap- in more detail below. plication. In a particular aspect, metadata can be append- ed to configuration functions of the computer application. BRIEF DESCRIPTION OF THE DRAWINGS Respective sets of metadata can then be used to distin- guish respective configuration functions, or groups of re- 25 [0015] Various non-limiting embodiments are further lated configuration functions. A user can enter search described with reference to the accompanying drawings data, which can be reference against the sets of meta- in which: data. Respective sets of metadata that satisfy a condition [0016] Figure 1 illustrates a block diagram of an exam- defined by a data matching function can be returned as ple system that provides search for configuration func- a match, and configuration functions associated with30 tions of an application according to aspects disclosed matching metadata can be output in response to the herein; search data. [0017] Figure 2 depicts a block diagram of a sample [0011] In some non-limiting aspects of the subject dis- system that provides multimedia output and interactive closure, audio, visual or multimedia content can be pro- instruction for configuration functions; vided in conjunction with search for configuration func- 35 [0018] Figure 3 illustrates a block diagram of an exam- tions. The content can be configured to instruct a user ple system that provides multi-application support for how to access a configuration function through the user configuration function searching according to some as- interface. Further, the content can be triggered upon se- pects; lection of a particular configuration function among a list [0019] Figure 4 depicts a block diagram of example of configurations functions that are output in response to 40 implementations of configuration function searching ac- a search. Thus, by searching for and selecting a config- cording to further aspects; uration function, a user indicates unfamiliarity with ac- [0020] Figure 5 illustrates a block diagram of an exam- cessing the configuration function through the user inter- ple system thatprovides user customization andmachine face. The audio/visual/multimedia content can supple- learning for configuration function searching; ment a user’s mastery of the user interface of the com- 45 [0021] Figure 6 illustrates a flowchart of an example puter application. method for providing user searching for computer appli- [0012] In still other aspects of the subject disclosure, cation configuration functions according to other aspects; configuration function search results can be returned as [0022] Figure 7 illustrates a flowchart of a sample a list of links. Selection of a link can call the configuration method for receiving user search data and identifying function selected, thereby opening a dialogue box,50 and returning related configuration functions in some as- drop-down menu, activating a toolbar function, etc., giv- pects; ing a user access to the configuration function. Thus, the [0023] Figure 8 depicts a flowchart of an example search can facilitate rapid access to the desired config- method for providing user customizable searching relat- uration function, enhancing user productivity within the edto configuration functionsaccording to further aspects; computer application. 55 [0024] Figure 9 depicts a flowchart of a sample method [0013] In one or more additional aspects, metadata ap- for providing searching adapted to a particular user’s use pended to application configuration functions can be cus- of a computer application; tomized based on user activity, or user preferences. In [0025] Figure 10 depicts a block diagram of example

3 5 EP 2 595 054 A2 6 non-limiting networked environments in which various identified metadata can be returned in response to the aspects herein can be implemented; and search. In some disclosed aspects, the search can return [0026] Figure 11 illustrates a block diagram represent- a list of links that provide access to a selected configu- ing exemplary non-limiting computing system in which ration function in response to such a selection. In other one or more aspects can be implemented. 5 aspects, selection of a configuration function can initiate tutorial content instructing a user how to access the con- DETAILED DESCRIPTION figuration function through a user interface of the com- puter application. According to one or more additional OVERVIEW aspects, configuration function searching can be custom- 10 ized to a user or a user’s use of an application, by incor- [0027] As mentioned briefly in the background section, porating user-related metadata with the configuration organization of configuration functionality of a computer functions. In at least one aspect, searching can be en- application can be a difficult task for software develop- hanced with machine learning to provide a robust and ment engineers. Particularly, conflicting goals for a wide sophisticated analysis of user preferences and usage to range of application users must be satisfied to achieve 15 optimize searching and search results related to config- an acceptable application for a large market. Thus, for uration functions of the computer application. instance, a user interface should be aesthetically pleas- [0030] Referring now to the drawings, Figure 1 illus- ing, as well as productive, enabling a user to rapidly ac- trates a block diagram of an example system 100 con- cess functionality that assists in performing tasks within figured to provide keyword-based search in conjunction the application. Moreover, user customizable settings, 20 with identifying or accessing configuration functions of a including user options, user preferences, and the like, in computer application, according to one or more aspects which users can input parameters to control operation, of the subject disclosure. Keyword-based search can appearance or execution of application features, should comprise various search algorithms that receive data, be easily accessible without cluttering a user interface. compare the received data to a set of stored data, and These user customizable settings are referred to herein 25 derive similarities between subsets of the set of stored as configuration functions. data and the received data, from which search results [0028] Successful computer applications often include are compiled and output in response. Various mecha- diverse functionality coupled with a high degree of user nisms for searching are included within the meaning of configuration, while minimizing display clutter associated the term "search", including network or web search en- with the functionality and configuration functions. To min- 30 gines (e.g., an Internet search engine, such as the bing® imize display clutter, user interface controls e.g.( , dia- search engine provided by Microsoft Corporation, and logue boxes) related to functionality and configuration others), application-based search engines ( e.g.,a search functions are often hidden in the display until accessed utilitycontained within a particular application),or thelike, through the user interface. The access mechanisms can which can be adapted to provide searching functionality in turn be hidden behind drop-down menus, hide-able/ 35 as described herein. movable toolbars, or shortcut keys / key combinations, [0031] As depicted, system 100 can comprise a con- or the like. Familiarity with the access mechanisms can figuration searching system 102 communicatively con- provide rapid access and implementation of powerful ap- nected with a database 112 for storing data. Configura- plication functionality; sometimes associated with the tion searching system 102 can comprise a user interface vernacular title "power user". A typical power user is often 40 component 104 configured to receive user input informa- loathe to switch to other applications with which they are tion, and configured to output user information to output less familiar, or even new versions of the same applica- media (e.g., a graphical display, audio speakers, tactile tion, for fear of losing the high degree of productivity that interface, and so on). Particularly, user interface compo- user has established in an existing version of an appli- nent 104 can be configured to obtain user input 106 com- cation. Accordingly, reducing learning time while maxi- 45 prising search data. The user input can comprise text mizing functionality and aesthetic appearance are com- data (e.g., entered into a text field related to configuration mon challenges in software application development. function searching, e.g., see Figure 4, infra), voice data [0029] To address these and related problems, the converted to text data (e.g., in response to processing subject disclosure provides for searching in conjunction by a voice to text application), user interface selections with accessing configuration functions of a computer ap- 50 (e.g., selected by keyboard entry, mouse selection, plication. Metadata can be appended to configuration touchpad or touch screen selection), or other suitable functions to facilitate this searching. The application can user input mechanism. include a search field for entering search data for config- [0032] User input 106 is received at user interface com- uration functions. Search data entered within the search ponent 104. Where suitable, user interface component field can be analyzed with regard to metadata appended 55 104 can be configured to render search data contained to the configuration functions, and subsets of metadata in user input 106 into a different data form. For instance, determined to be related to the search data identified. text data in a particular language can be converted to One or more configuration functions associated with this ASCII data, machine code, or some other suitable data

4 7 EP 2 595 054 A2 8 format, to facilitate analysis and processing of search in part based on a user initiating a configuration function data. search. For instance, an end user can entering search [0033] Configuration searching system 104 can further data can receive one set of configuration function results comprise a search engine 108 configured to utilize the based on an end user classification, whereas an appli- search data received from user input 104 to identify one 5 cation developer can enter the search data and receive or more configuration functions of a computer applica- a second set of configuration function results based on tion, related to the search data. To facilitate the search a developer classification, or the like. Such a result can and identification, search engine 108 can comprise a ref- be achieved, for instance, when the set of metadata erence component 110 configured to access a set of stored in metadata file 114 is categorized for different metadata stored in a metadata file 114 of database. The 10 classifications of computer application users e.g. ( , in- set of metadata stored in metadata file 114 can be ap- cluding an end- user category and a developer category). pended by database 112 to configuration functions of the In such case, searching component 120 can be config- computer application stored in a configuration function ured to receive a category of user in conjunction with the file 116. For instance, subsets of metadata can be cor- set of search data and excludes from the comparison related with individual configuration functions, or groups 15 metadata inconsistent with the category of user. As an of configuration functions, based on categories, names, alternative, searching component can modify the condi- descriptions, usage, contexts of usage, or the like, or tion defined by the function according to the category of suitable combinations thereof, of those configuration user, causing the first set of metadata to satisfy the con- functions or groups of configuration functions. According dition for the end user but not the developer, and causing to this relationship between metadata and configuration 20 the second set of metadata to satisfy the condition for functions, an indexing component 118 can be configured the developer but not the end user, and so on. Other to distinguish respective subsets of the set of metadata implementations known in the art or made known to one that are associated with respective ones of the configu- of skill in the art by way of the context provided herein ration functions, or respective groups of the configuration are considered within the scope of the subject disclosure. functions. This can be achieved by exploiting differences 25 [0036] Figure 2 illustrates a block diagram of an exam- in respective subsets of metadata stored in metadata file ple system 200 configured to provide search functionality 114 that are correlated with individual configuration func- in conjunction with computer application configuration tions or groups of configuration functions, or combina- functions, according to additional aspects of the subject tions thereof. By receiving subsets of stored metadata disclosure. Particularly, system 200 can be configured from reference component 110, indexing component 118 30 to output search results in response to a configuration can then access configuration functions from configura- function search. The search results can be further con- tion functions file 116, and compile a matrix of configu- figured to facilitate selection and access to a configura- ration functions and metadata for a particular computer tion function returned in response to the search. In at application. In some aspects of the subject disclosure, least one aspect, system 200 can facilitate instructing a indexing component 118 can further compile a matrix of 35 user in accessing one or more configuration search func- configuration functions and metadata, in conjunction with tions through a user interface of an associated computer user preferences or user usage activity, referenced for a application, to improve user knowledge and mastery of single computer application or for multiple computer ap- the computer application. plications, or suitable combinations thereof. [0037] System 200 can comprise a configuration [0034] In addition to the foregoing, search engine 108 40 searching system 202 that can perform a search of con- can comprise a searching component 120 configured to figuration functions and return one or more configuration receive a set of search data from reference component functions in response to the search. A user interface com- 110 and to compare the set of search data with subsets ponent 204 can be configured to obtain search data from of the set of metadata compiled by indexing component user data entry, which can be provided to a search engine 118. Moreover, searching component 120 can be con- 45 206. Search engine 206 can be substantially similar to figured to identify a matching subset of metadata that search engine 108 of Figure 1 according to some aspects satisfies a condition pertaining to the search data defined of the subject disclosure; in other aspects, search engine by a function. For instance, the condition can comprise 206 can include some, all or none of the features of satisfying a set of relevancy criteria established by the search engine 108. According to various aspects, search function, although other suitable conditions related to 50 engine 206 can employ the search data to retrieve one searching with respect to a set of search data can be or more configuration functions related to the search da- utilized in addition or instead. Searching component 120 ta. The configuration functions can be provided as a can then be configured to identify one or more configu- search result to an output component 208. ration functions correlated with the subsets of metadata [0038] Output component 208 can be configured to re- that satisfy the condition. These one or more configura- 55 turn the one or more configuration functions correlated tion functions can be returned in response to the search. with matching subsets of metadata identified by search [0035] In at least one aspect of the subject disclosure, engine 206, to user interface component 204 and an out- search engine 108 can be configured to search at least put media device of a computing device associated with

5 9 EP 2 595 054 A2 10 configuration searching system 202 (e.g., see Figure 10, of search data, and return to the search engine 308 a infra). As an example, the configuration functions can be configuration function at least of a second computer ap- included withinan applicationcontent message212 com- plication having metadata related to the set of search prising visual content 214 sent to a display device 216, data. or audio content 218 sent to an audio device 220 (e.g., 5 [0042] To facilitate cross-application configuration speakers), or other media content sent to another media searching, multi-application configuration database 304 device (e.g., tactile information sent to a tactile user in- can comprise metadata appended to configuration func- terface device). Additionally, in at least some aspects of tions of multiple computer applications and store the the subject disclosure output component 208 can be fur- metadata in a multi-application metadata file 312 10 ther configured to return one or more executable links (application1-X metadata, where x is a suitable integer representing the one or more configuration functions in greater than 1). Configuration functions for the multiple response to the search data. The executable link can be applications can be stored in an application configuration configured, for instance, to initialize the configuration functions file 314. Additionally, multi-application config- function within the computer application in response to uration database 304 can also store configuration func- a selection of the executable link. 15 tions common to multiple applications, or similar or relat- [0039] According to one or more alternative or addi- ed configuration functions for the multiple applications tional aspects of the subject disclosure, configuration as defined by a metadata similarity function, in a cross- searching system 202 can comprise a tutorial component application configuration function file 316. By storing re- 210. Tutorial component 210 can be configured to exe- lationships between metadata and configuration func- cute audio, video, image or multimedia content that is 20 tions across the multiple applications, multi-application configured to describe utilization of a configuration func- configuration database 304 can further be configured to tion associated with one or more configuration functions. cross-correlate configuration functions of the multiple Particularly, the content can describe how to access the computer applications having respective subsets of configuration function(s) through a user interface of the metadata that satisfy a condition defined by the similarity computer application. In one instance, the content can 25 function. Thus, by referencing search data with the multi- be preceded by a user interface query requesting wheth- application metadata stored in multi- application metada- er a user would like the content to be played, and exe- ta file 312, configuration functions of multiple applications cution of the content can be conditioned on acceptance stored by multi-application configuration database 304 by a user in response to the user interface query. In other can be returned in response to a search, and provided instances, execution of the content can be set in a user 30 to search engine 308 and user interface component 306 preference (e.g., a configuration function) of the compu- to return to a user in response to the search. ter application. Examples of such content can include a [0043] Figure 4 illustrates example user interface im- video displaying movement of a mouse pointer to menus plementations of configuration function searching ac- or toolbars on which a configuration function can be ac- cording to aspects disclosed herein. A fixed search im- cessed, a set of pictures depicting accessing the config- 35 plementation 400A is depicted at the top of Figure 4. uration function in a user interface of the computer ap- Fixed search implementation 400A comprises a display plication, or the like. 402A. Display window 402A can be a view win- [0040] Figure 3 illustrates a block diagram of an exam- dow for a computer application in one aspect of the sub- ple system 300 that provides searching for configuration ject disclosure, whereas in other aspects, display window functions across multiple computer applications accord- 40 402A can be a window spawned within the computer ap- ing to further aspects of the subject disclosure. Addition- plication, or can be spawned outside of the computer ally, system 300 can be configured to identify similar con- application by an operating system of a computer. As figuration functions among multiple applications and out- depicted,display window402A can include afixed search put one or more configuration functions of a first applica- field 404A. Fixed search field 404A can be located adja- tion based on search data related to a second application. 45 cent to a , as depicted, or can be in another System 300 therefore can facilitate user facility and acu- fixed location within display window 402A. Other loca- men in the second application based at least in part on tions can include a border (not depicted) at the bottom experience and knowledge of the first application. of display window 402A, or a border on a side of display [0041] System 300 can comprise a configuration window 402A. Fixed search field 404A can further com- searching system 302 communicatively connected with 50 prise an input field 406A into which text can be entered a multi-application configuration database 304. Config- by a user. Text entered into input field 406A can be em- uration searching system 302 can comprise a user inter- ployed, for instance, as keywords for searching configu- face component 306 configured to receive user search ration functions of a computer application(s), as de- data within, a pertaining to, a first application, and provide scribed herein. Upon conducting the search, configura- the search data to a search engine 308. Search engine 55 tion function results matching the search are returned in 308 can employ a compatibility component 310 config- a results window 408A. Results window 408A can be ured to access multi-application configuration database implemented as a drop-down window incorporating 304 in response to search engine 308 receiving the set scrolling or other navigational techniques for viewing a

6 11 EP 2 595 054 A2 12 subset of the configuration function results. In at least stored in a configuration functions file 514. The user one aspect, configuration function results can comprise metadata can be appended to metadata file 516, in one links, where the links are configured to execute a config- aspect, and related to the one or more configuration func- uration function associated with a selected link. tions to which the user metadata is directed by user input. [0044] At the bottom of Figure 4 is depicted a movable 5 Thus, user library component 512 enables a user to input search implementation 400B. Movable search imple- metadata for particular configuration functions. The user mentation 400B comprises a display window 402B, which metadata and related configuration function association can be substantially similar to display window 402A, de- can affect the results of configuration function searching scribed above. Within display window 402B is a movable in a manner provided by a computer user, facilitating us- search field 404B. Movable search field 404B can be10 er-directed customization of the configuration function positioned throughout display window 402B. Reposition- search. ing can be accomplished by clicking and dragging mov- [0048] In addition to the foregoing, metadata/search able search field 404B via a mouse input device, by spec- customization component 510 can be configured to mon- ifying vertical and horizontal position within display win- itor and analyze user activity relating to one or more com- dow 402B, or the like. Movable search field 404B can be 15 puter applications and employ the analysis to make pre- hidden or exposed, in some aspects of the subject dis- dictive determinations matching configuration function closure, with a keyboard entry, mouse input, menu se- search results to estimated usage or preferences of an lection, toolbar selection, or a suitable combination there- application user. User-specific metadata derived by of. When exposed, user text can be entered into an input metadata/search customization component 510 from the field 406B, in a similar manner as described above with 20 predictive determinations can be appended to selected regard to input field 406A. Configuration function search configuration functions and stored in user metadata file results can be output in a results window 408B, which 518, and optionally distinguished from user- supplied us- can include links configured to execute a configuration er metadata appended by user library component 512, function in some aspects. discussed above. Additionally, a machine learning com- [0045] Figure 5 illustrates a block diagram of an exam- 25 ponent 522 can employ one or more of a set of algorithms ple system 500 configured to provide user customization to make the predictive determinations, derive the user- of configuration function search capabilities of a compu- specific metadata, or modify configuration function ter application. Additionally, system 500 can incorporate search results consistent with estimated usage or pref- machine learning functionality to provide search results erences of the application user. tailored to preferences or usage history of a particular 30 [0049] In order to optimize configuration function user. Thus, system 500 can facilitate configuration func- search results, machine learning component 522 can uti- tion search configured to adapt to a user’s needs and lize a set of models ( e.g., metadata models, configuration preferences, providing a more robust user experience. function model, user usage models, data correlation [0046] System 500 can comprise a configuration models, user preference models, statistical models searching system 502 communicatively connected to a 35 based on the foregoing, etc.) in connection with returning metadata database 508. Keywords, text or other search a set of configuration functions to user-supplied search data can be received utilizing a user interface component data configured for user usage and preferences. The 504 associated with a user interface of a processing de- models can be based on a plurality of information (e.g., vice, computer device, electronic device, etc., pertaining metadata stored in metadata file 516, user metadata to configuration searching system 502. The keywords, 40 stored in user metadata file 518, associations between text or other search data can be employed as user search metadata or user metadata and configuration functions data by a search engine 506, which identifies configura- stored in configuration function file 514, stored search tion functions of a computer application(s) having asso- results of prior configuration function searches stored in ciated metadata satisfying a condition defined by a data search history file 526, etc.). Optimization routines asso- matching function. Identified configuration functions can 45 ciated with machine learning component 522 can har- be returned in response to the search by an output com- ness a model(s) that is trained from previously collected ponent 510 and user interface component 504. data, a model(s) that is based on a prior model (s) that is [0047] Configuration searching system can further updated with new data, via model mixture or data mixing comprise a metadata/search customization component methodology, or a model (s) that is trained with seed data, 510 configured to adapt configuration function searching 50 and thereafter tuned in real-time by training with actual to one or more users of an application(s). For instance, field data based on parameters modified as a result of a user library component 512 can be employed that is error correction instances. configured to append a set of metadata stored in meta- [0050] In addition, machine learning component 522 data database within a metadata file 516 with user meta- can employ optimization and machine reasoning tech- data received in response to a user interface entry. This 55 niques in connection with making determinations or in- user metadata can be metadata actively entered by a ferences regarding optimization decisions, such as cor- user, and can be directed toward one or more configu- relating user-supplied appended metadata and predic- ration functions of one or more computer applications tive user-related metadata with application usage history

7 13 EP 2 595 054 A2 14 or configuration function search history, -- either alone 406B of Figure 4, infra). Predictive text component 524 or in conjunction with one or more previous iterations of can be further configured to update the proposed search user input or user usage and user preference analysis, result upon textual changes to the text currently entered. or the like. For example, machine learning component Still further, the proposed search result can be returned 522 can employ a probabilistic- based or statistical- based 5 from data compiled from previous sets of search data, or approach in connection with matching stored metadata from the currently entered text satisfying a correlation with user search data. Inferences can be based in part condition with respect to appended metadata, user-ap- upon explicit training of classifier(s) (not shown), or im- pended metadata or metadata derived from user usage plicit training based on a data feedback loop (not depict- of an application(s), or a suitable combination thereof. In ed), and the like. 10 at least one disclosed aspect, predictive text component [0051] Machine learning component 522 can also em- 524 can be configured to return a proposed search result ploy one of numerous methodologies for learning from in the form of image content, audio content, video content data and then drawing inferences from the models so or multimedia content, where content can be played / constructed (e.g., Hidden Markov Models (HMMs) and displayed or updated as data is entered into the search related prototypical dependency models, more general 15 field. probabilistic graphical models, such as Bayesian net- [0053] The aforementioned diagrams have been de- works, e.g., created by structure search using a Bayesian scribed with respect to interaction between several sys- model score or approximation, linear classifiers, such as tems, apparatuses, components, electronic circuits, or support vector machines (SVMs), non-linear classifiers optoelectronic devices. It should be appreciated that (e.g., methods referred to as "neural network" method- 20 suchdiagrams can include those componentsor systems ologies, fuzzy logic methodologies, and other approach- specified therein, some of the specified components, or es that perform data fusion, etc.) in accordance with im- additional components. For example, a system could in- plementing various aspects described herein. Methodol- clude configuration searching system 500 including ogies employed by machine learning component 522 can search engine 506, reference component 110, indexing also include mechanisms for the capture of logical rela- 25 component 118 and searching component 120, in con- tionshipssuch astheorem provers or heuristic rule- based junction with multi-application configuration database expert systems. Inferences derived from such learned or 304. Sub-components could also be implemented as manually constructed models can be employed in other sub-components connected to other sub-components optimization techniques, such as linear and non-linear rather than included within a parent component. Addi- programming, that seek to maximize probab ilities of error 30 tionally, it should be noted that two or more components relatedto minimizing deviation ofexpected search results could be combined into a single component providing and provided search results. For example, maximizing aggregate functionality. For instance, reference compo- an overall accuracy of expected search results and pro- nent 202 can include indexing component 214 to facilitate vided search results can be achieved through such op- accessing stored metadata and stored configuration timization techniques. 35 functions, and relationships there between, and distin- [0052] According to a particular aspect of the subject guishing respective configuration functions or groups of disclosure, metadata/search customization component configuration functions by related subsets of metadata, 510 can be configured as follows to implement the opti- by way of a single component. Components of the dis- mization and machine learning techniques describes closed systems and apparatuses can also interact with above. A user history component 520 can be configured 40 one or more other components not specifically described to track userconfiguration function activity relative to user herein but known by those of skill in the art, or made use of one or more computer applications and record known to one of skill in the art by way of the context user configuration function activity at least as a function provided herein. of time and of computer application. Additionally, ma- [0054] In view of the exemplary diagrams described chine learning component 522 can be configured to an- 45 supra, process methods that may be implemented in ac- alyze recorded user configuration function activity and to cordance with the disclosed subject matter will be better employ optimization weights for the configuration func- appreciated with reference to the flow chart of Figures 6 tions or for a condition and data matching function em- - 9. While for purposes of simplicity of explanation, the ployed to match user search data to subsets of metadata methods are shown and described as a series of blocks, stored in metadata file 516 or subsets of user metadata 50 it is to be understood and appreciated that the disclosed stored in user metadata fi le 518. Weighting can be a subject matter is not limited by the order of the blocks, result of one or more data models and in response to the as some blocks may occur in different orders and/or con- analysis and can be a function of time and computer ap- currently with other blocks from what is depicted and de- plication. In a further aspect, metadata/search customi- scribed herein. Moreover, not all illustrated blocks may zation component 510 can comprise a predictive text 55 be required to implement the methods described here- component 524 configured to auto- fill a search input field inafter. Additionally, it should be further appreciated that with a proposed search result in response to text being the methods disclosed hereinafter and throughout this entered into a search field e.g. ( , search field 406A or specification are capable of being stored on an article of

8 15 EP 2 595 054 A2 16 manufacture to facilitate transporting and transferring ing the selected configuration function. such methods to an electronic device. The term article [0057] Figure 8 depicts a flowchart of an example of manufacture, as used, is intended to encompass a method 800 according to one or more additional aspects computer program accessible from any computer-read- of the subject disclosure. Particularly, method 800 can able device, device in conjunction with a carrier, or stor- 5 provide user customization for configuration function age medium. search capabilities. At 802, method 800 can comprise [0055] Figure 6 depicts a flowchart of a sample method compiling a list of configuration functions of a set of com- 600 for providing search capabilities in conjunction with puter applications. At 804, method 800 can comprise as- discovering and accessing configuration functions of a signing respective sets of metadata to respective config- computer application, according to additional aspects of 10 uration functions. In at least one aspect, the respective the subject disclosure. At 602, method 600 can comprise sets of metadata can be assigned at least in part based assigning respective sets of metadata to respective con- on similarity of functions among respective computer ap- figuration functions of the computer application that are plications of the set of computer applications. At 806, descriptive of respective names, uses or applications of method 800 can comprise indexing sets of metadata and the respective configuration functions. Moreover, at 604, 15 configuration functions for searching within a metadata method 600 can comprise indexing the configuration matrix. At 808, method 800 can comprise receiving us- functions and the assigned respective sets of metadata. er-related data for one or more configuration functions. Indexing can comprise, for instance, generating a matrix At 810, method 800 can comprise appending assigned of metadata and related configuration functions, option- metadata with user- related metadata. In at least one dis- ally including qualitative or quantitative degree of relat- 20 closedaspect, the user- relatedmetadata can besupplied edness. At 606, method 600 can comprise receiving a directly by a user of a computer application(s). In other configuration function search query. The configuration aspects, the user-related metadata can be derived from function search query can comprise data entered into a user application activity, prior configuration function user interface in conjunction with configuration function search data or search results, or a suitable combination search functionality. At 608, method 800 can comprise 25 thereof. referencing the search query with respective sets of [0058] To provide metadata derived from user usage, metadata and identifying one or more respective sets of at 812, method 800 can comprise monitoring user activity metadata that satisfy a condition defined by a data match- related to configuration functions of the set of computer ing function relative to the search query. At 610, method applications. At 814, method 800 can comprise identify- 600 can comprise returning one or more configuration 30 ing user patterns affecting use of configuration functions. functions assigned to respective sets of metadata satis- At 816, method 800 can comprise deriving additional fying the condition. metadata from user usage patterns. At 818, method 800 [0056] Figure 7 illustrates a block diagram of an exam- can comprise appending additional metadata to related ple method 700 according to particular aspects of the configuration functions. In at least one aspect, the us- subject disclosure. At 702, method 700 can comprise list- 35 er-related metadata can be appended per user, and ing configuration functions of a computer application. At storedand searchedseparately in conjunction with auser 704, method 700 can comprise assigning respective sets identifier, user login, user status, user type e.g( ., end- of metadata to the respective functions. Metadata can user, developer, etc.), or the like. be default metadata, utilizing function name data, func- [0059] Figure 9 illustrates a flowchart of a sample tion description data, function usage data, related help 40 method 900 for providing intelligent predictive algorithms file data pertaining to the function, user- supplied data, or for configuration function search capabilities according data derived from user usage of the computer applica- to still other aspects of the subject disclosure. At 902, tion, or the like, or a suitable combination thereof. At 706, method 900 can comprise tracking user configuration method 700 can comprise indexing sets of metadata and function activity related to use of a computer application. configuration functions for searching. At 708, method 700 45 At 904, method 900 can comprise recording user config- can comprise receiving a search query for a configuration uration function activity at least as a function of time and function. At 710, method 700 can comprise comparing computer application. At 906, method 900 can comprise setsof metadata to data included withinthe search query. analyzing recorded activity and weighting configuration At 712, method 700 can comprise identifying subsets of functions according to user identity and user activity. At the metadata that satisfy a condition defined by a data 50 908, method 900 can comprise modifying a search con- matching function. At 714, method 700 can comprise re- dition or a data matching function at least in part from the trieving configuration functions for respective subsets of weighted configuration functions to affect outcome of the metadata satisfying the condition. At 716, method configuration function search results based on the anal- 700 can comprise returning a list of the retrieved config- ysis of recorded user activity. uration functions in response to receiving the search que- 55 ry. At 718, method 700 can comprise receiving a selection for a configuration function in the list. At 720, method 700 can comprise executing content associated with access-

9 17 EP 2 595 054 A2 18

EXEMPLARY NETWORKED AND DISTRIBUTED EN- vide services to the system of Fig. 10, and/or may rep- VIRONMENTS resent multiple interconnected networks, which are not shown. Each computing object 1010, 1012, etc. or com- [0060] One of ordinary skill in the art can appreciate puting object or devices 1020, 1022, 1024, 1026, 1028, that the various embodiments for search augmented5 etc. can also contain an application, such as applications menu and configuration functions described herein can 1030, 1032, 1034, 1036, 1038, that might make use of be implemented in connection with any computer or other an API, or other object, software, firmware and/or hard- client or server device, which can be deployed as part of ware, suitable for communication with or implementation a computer network or in a distributed computing envi- of the techniques for search augmented menu and con- ronment, and can be connected to any kind of data store. 10 figuration functions provided in accordance with various In this regard, the various embodiments described herein embodiments of the subject disclosure. can be implemented in any computer system or environ- [0064] There are a variety of systems, components, ment having any number of memory or storage units, and and network configurations that support distributed com- any number of applications and processes occurring puting environments. For example, computing systems across any number of storage units. This includes, but 15 can be connected together by wired or wireless systems, is not limited to, an environment with server computers by local networks or widely distributed networks. Current- and client computers deployed in a network environment ly, many networks are coupled to the Internet, which pro- or a distributed computing environment, having remote vides an infrastructure for widely distributed computing or local storage. and encompasses many different networks, though any [0061] Distributed computing provides sharing of com- 20 network infrastructure can be used for exemplary com- puter resources and services by communicative ex- munications made incident to the systems for search change among computing devices and systems. These augmented menu and configuration functions as de- resources and services include the exchange of informa- scribed in various embodiments. tion, cache storage and disk storage for objects, such as [0065] Thus, a host of network topologies and network files. These resources and services also include the shar- 25 infrastructures, such as client/server, peer-to-peer, or hy- ing of processing power across multiple processing units brid architectures, can be utilized. The "client" is a mem- for load balancing, expansion of resources, specializa- ber of a class or group that uses the services of another tion of processing, and the like. Distributed computing class or group to which it is not related. A client can be takes advantage of network connectivity, allowing clients a process, i.e., roughly a set of instructions or tasks, that to leverage their collective power to benefit the entire 30 requests a service provided by another program or proc- enterprise. In this regard, a variety of devices may have ess. The client process utilizes theequested r service applications, objects or resources that may participate in without having to "know" any working details about the the mechanisms for search augmented menu and con- other program or the service itself. figuration functions as described for various embodi- [0066] In a client/server architecture, particularly a net- ments of the subject disclosure. 35 worked system, a client is usually a computer that ac- [0062] Fig. 10 provides a schematic diagram of an ex- cesses shared network resources provided by another emplary networked or distributed computing environ- computer, e.g., a server. In the illustration of Fig. 10, as ment. The distributed computing environment comprises a non-limiting example, computing objects or devices computing objects 1010, 1012, etc. and computing ob- 1020, 1022, 1024, 1026, 1028, etc. can be thought of as jects or devices 1020, 1022, 1024, 1026, 1028, etc.,40 clients and computing objects 1010, 1012, etc. can be which may include programs, methods, data stores, pro- thought of as servers where computing objects 1010, grammable logic, etc., as represented by applications 1012, etc., acting as servers provide data services, such 1030, 1032, 1034, 1036, 1038 and data store(s) 1040. It as receiving data from client computing objects or devic- can be appreciated that computing objects 1010, 1012, es 1020, 1022, 1024, 1026, 1028, etc., storing of data, etc. and computing objects or devices 1020, 1022, 1024, 45 processing of data, transmitting data to client computing 1026, 1028, etc. may comprise different devices, such objects or devices 1020, 1022, 1024, 1026, 1028, etc., as personal digital assistants (PDAs), audio/ video devic- althoughany computer can be considered a client, a serv- es, mobile phones, MP3 players, personal computers, er, or both, depending on the circumstances. laptops, etc. [0067] A server is typically a remote computer system [0063] Each computing object 1010, 1012, etc. and 50 accessible over a remote or local network, such as the computing objects or devices 1020, 1022, 1024, 1026, Internet or wireless network infrastructures. The client 1028, etc. can communicate with one or more other com- process may be active in a first computer system, and puting objects 1010, 1012, etc. and computing objects the server process may be active in a second computer or devices 1020, 1022, 1024, 1026, 1028, etc. by way of system, communicating with one another over a commu- the communications network 1042, either directly or in- 55 nications medium, thus providing distributed functionality directly. Even though illustrated as a single element in and allowing multiple clients to take advantage of the Fig. 10, communications network 1042 may comprise information-gathering capabilities of the server. Any soft- other computing objects and computing devices that pro- ware objects utilized pursuant to the techniques de-

10 19 EP 2 595 054 A2 20 scribed herein can be provided standalone, or distributed [0073] In addition, there are multiple ways to imple- across multiple computing devices or objects. ment the same or similar functionality, e.g., an appropri- [0068] In a network environment in which the commu- ate API, tool kit, driver code, operating system, control, nicationsnetwork 1042 or busis theInternet, forexample, standalone or downloadable software object, etc. which the computing objects 1010, 1012, etc. can be Web serv- 5 enables applications and services to take advantage of ers with which other computing objects or devices 1020, the techniques provided herein. Thus, embodiments 1022, 1024, 1026, 1028, etc. communicate via any of a herein are contemplated from the standpoint of an API number of known protocols, such as the hypertext trans- (or other software object), as well as from a software or fer protocol (HTTP). Computing objects 1010, 1012, etc. hardware object that implements one or more embodi- acting as servers may also serve as clients, e.g., com- 10 ments as described herein. Thus, various embodiments puting objects or devices 1020, 1022, 1024, 1026, 1028, described herein can have aspects that are wholly in etc., as may be characteristic of a distributed computing hardware, partly in hardware and partly in software, as environment. well as in software. [0074] The word "exemplary" is used herein to mean EXEMPLARY COMPUTING DEVICE 15 serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein [0069] As mentioned, advantageously, the techniques is not limited by such examples. In addition, any aspect described herein can be applied to any device where it or design described herein as "exemplary" is not neces- is desirable to search augmented menu and configura- sarily to be construed as preferred or advantageous over tion functions, in a computing system. It can be under- 20 other aspects or designs, nor is it meant to preclude stood, therefore, that handheld, portable and other com- equivalent exemplary structures and techniques known puting devices and computing objects of all kinds are to those of ordinary skill in the art. Furthermore, to the contemplated for use in connection with the various em- extent that the terms "includes," "has," "contains," and bodiments, i.e., anywhere that resource usage of a de- other similar words are used, for the avoidance of doubt, vice may be desirably optimized. Accordingly, the below 25 such terms are intended to be inclusive in a manner sim- general purpose remote computer described below in ilar to the term "comprising" as an open transition word Fig. 11 is but one example of a computing device. without precluding any additional or other elements. [0070] Although not required, embodiments can partly [0075] As mentioned, the various techniques de- be implemented via an operating system, for use by a scribed herein may be implemented in connection with developer of services for a device or object, and/or in- 30 hardware or software or, where appropriate, with a com- cluded within application software that operates to per- bination of both. As used herein, the terms "component," form one or more functional aspects of the various em- "system" and the like are likewise intended to refer to a bodiments described herein. Software may be described computer-related entity, either hardware, a combination in the general context of computer-executable instruc- of hardware and software, software, or software in exe- tions, such as program modules, being executed by one 35 cution. For example, a component may be, but is not or more computers, such as client workstations, servers limited to being, a process running on a processor, a or other devices. Those skilled in the art will appreciate processor, an object, an executable, a thread of execu- that computer systems have a variety of configurations tion, a program, and/or a computer. By way of illustration, and protocols that can be used to communicate data, both an application running on computer and the com- and thus, no particular configuration or protocol should 40 puter can be a component. One or more components be considered limiting. may reside within a process and/or thread of execution [0071] Fig. 11 thus illustrates an example of a suitable and a component may be localized on one computer computing system environment 1100 in which one or as- and/or distributed between two or more computers. pects of the embodiments described herein can be im- [0076] In addition to the various embodiments de- plemented, although as made clear above, the comput- 45 scribed herein, it is to be understood that other similar ing system environment 1100 is only one example of a embodiments can be used or modifications and additions suitable computing environment and is not intended to can be made to the described embodiment(s) for per- suggest any limitation as to scope of use or functionality. forming the same or equivalent function of the corre- Neither should the computing system environment 1100 sponding embodiment(s) without deviating there from. be interpreted as having any dependency or requirement 50 Still further, multiple processing chips or multiple devices relating to any one or combination of components illus- can share the performance of one or more functions de- trated in the exemplary computing system environment scribed herein, and similarly, storage can be effected 1100. across a plurality of devices. Accordingly, the various em- [0072] As mentioned above, while exemplary embod- bodiments should not be limited to any single embodi- iments have been described in connection with various 55 ment, but rather should be construed in breadth, spirit computing devices and network architectures, the under- and scope in accordance with the appended claims. lying concepts may be applied to any network system and any computing device or system.

11 21 EP 2 595 054 A2 22

Claims 120 a configuration function of the second computer application having metadata related to the set of 1. A system, comprising: search data.

a reference component 110, configured to ac- 5 7. The system of claim 1, further comprising: cess a set of metadata 114 correlated with con- figuration functions 116 of a computer applica- a tutorial component 210 configured to execute tion; audio, video, image or multimedia content that an indexing component 118 configured to dis- is configured to describe utilization of a config- tinguish respective subsets of the set of meta- 10 uration function associated with the matching data 114 that are associated with respective subset of metadata; and ones of the configuration functions 116; and a user library component 512 configured to ap- a searching component 120 configured to re- pend the set of metadata or one or more of the ceive a set of search data 106, compare the set respective subsets of the set of metadata with of search data 106 with the subsets of the set 15 user metadata received in response to a user of metadata 114, and identify a matching subset interface entry. of metadata that satisfies a condition pertaining to the search data defined by a function. 8. The system of claim 1, wherein the set of metadata 114is categorized for different classifications of com- 2. The system of claim 1, further comprising an output 20 puter application users, including an end-user cate- component 208 configured to return for display by gory and a developer category, and further wherein the computer application a configuration function the searching component 120 is configured to re- correlated with the matching subset of metadata in ceive a category of user in conjunction with the set response to receiving the set of search data. of search data and to exclude from the comparison 25 metadata inconsistent with the category of user. 3. The system of claim 2, wherein the output compo- nent 208 is further configured to return an executable 9. The system of claim 1, further comprising a predic- link configured to initialize the configuration function tive text component 524 configured to return a pro- within the computer application in response to a se- posed search result in response to text currently en- lection of the executable link. 30 tered into the search field 404A, 404B, and config- ured to update the proposed search result upon tex- 4. The system of claim 1, wherein the searching com- tual changes to the text currently entered, wherein ponent 120 further comprises a search field 404A, the proposed search result is returned from data 404B displayedby the computer applicationand con- compiled from previous sets of search data, or from figured to receive entry of the search data, wherein 35 the currently enteredtext satisfyinga correlation con- the search field 404A, 404B is configured to be dis- dition with respect to user-appended metadata or played within a toolbar menu of the computer appli- with respect to the set of metadata. cation, or is configured to be displayed as a pop- up search window in response to a keyboard entry. 10. The system of claim 9, wherein the predictive text 40 component 524 returns the proposed search result 5. The system of claim 1, further comprising a multi- in the form of image content, audio content, video application configuration database 304 configured content or multimedia content. to: 11. The system of claim 1, further comprising: store configuration functions 314 and related 45 metadata 312 for the computer application and a user history component 520 configured to for a second computer application; and track user configuration function activity relative cross-correlate configuration functions 316 of to user use of the computer application and thecomputer application and configurationfunc- record user configuration function activity at tions 316 of the second computer application 50 least as a function of time and of computer ap- having respective subsets of metadata that sat- plication; and isfy a condition defined by a similarity function. a machine learning component 522 configured to analyze recorded user configuration function 6. The system of claim 5, further comprising a compat- activity and to weight the configuration functions ibility component 310 configured to access the multi- 55 in response to the analysis and modify the con- application configuration database 304 in response dition or the function of time and computer ap- to the searching component 120 receiving the set of plication via the weights. search data, and return to the searching component

12 23 EP 2 595 054 A2 24

12. A method of providing access to configuration func- tions of an application, comprising:

assigning respective sets of metadata to respec- tive configuration functions of the application 5 that are descriptive of respective names, uses or applications of the respective configuration functions 602; indexing the configuration functions and the as- signed respective sets of metadata 604; 10 receiving a configuration function search query 606; referencing the search query with respective sets of metadata and identifying one or more respective sets of metadata that satisfy a con- 15 dition defined by a data matching function rela- tive to the search query 608; and returning one or more configuration functions assigned to respective sets of metadata satis- fying the condition 610. 20

13. The method of claim 12, further comprising catego- rizing the respective configuration functions into a setof user- distinct categories 906, matching the con- figuration function search query to at least one of the 25 set of user-distinct categories, and modifying the condition to include a correlation with the at least one of the set of user-distinct categories defined by a correlation function 908. 30 14. The method of claim 13, further comprising tracking user activity within the application 812, wherein the matching the configuration function search query to the at least one of the set of user- distinct categories comprises correlating the user activity with the set 35 of user-distinct categories 814, and identifying a us- er-distinct category that satisfies a condition defined by an activity matching function 816.

15. The methodof claim 12, further comprising activating 40 a tutorial function that executes image, video, audio or multimedia content describing use of a user-se- lected configuration function, or detailing user acti- vation of the user-selected configuration function within a user interface of the application in conjunc- 45 tion with executing the user-select configuration function.

50

55

13 EP 2 595 054 A2

14 EP 2 595 054 A2

15 EP 2 595 054 A2

16 EP 2 595 054 A2

17 EP 2 595 054 A2

18 EP 2 595 054 A2

19 EP 2 595 054 A2

20 EP 2 595 054 A2

21 EP 2 595 054 A2

22 EP 2 595 054 A2

23 EP 2 595 054 A2

24