FIELD OF THE INVENTIONThe invention generally relates to the field of generating user interfaces. More particularly, the invention relates to classifying data displayed in a user interface based on a user defined classification.
BACKGROUND OF THE INVENTIONDue to the large volume of the content available in information systems these days, there is a need to display the content to end users in a structured and intuitive way. For example, the information on a news website has to be classified before it can be displayed to the user. So, the news regarding software companies may appear under the category “News→Industry News By Industry→Infotech→Software” in a particular news website. In another news website, it may be classified as “News→Technology→Software”. Such classifications however may not agree with a user's own preferences or interests. Therefore, it may be time consuming for the user to find the news of his interest in different websites.
While content classification is an important tool to manage complexity, very often it can become the source of further complexity to the end user. Consider another situation, wherein a company portal containing organizational information is migrated from one version to another or is frequently updated causing the information to be moved from one category to another. This causes inconvenience to the employees as they have to search for the information. The paucity of time available to employees does not allow them to spend time learning the content classification mechanism to use it effectively. As a result, inefficiency in information dissemination and productivity losses occur.
Personalization features available in the current user interfaces is typically limited to features such as changing the position of the user interface elements, changing the colors of the user interface elements, changing the font of the text and changing a type of the charts displayed. Basically, the personalization feature is just limited to the features that are provided by the user interface itself and cannot accommodate all preferences of a user.
SUMMARY OF THE INVENTIONDescribed are methods and systems for classifying data displayed in a user interface based on a user defined classification and generating the user interface to display the data based on the user defined classification. The method includes importing a folder structure from a folder structure container wherein the folder structure depicts a user defined classification of the data including any new user interface objects for displaying the data according to user preferences. The data displayed in the user interface is mapped to the folder structure, the user interface object in the user interface is created for the folder and the mapped data is presented in the user interface object.
The system includes a folder structure container having a folder structure depicting the user defined classification. An importing tool imports the folder structure and provides the folder structure to a mapping tool. The mapping tool extracts data objects containing the data displayed in the user interface and provides them to the user. The user may map the data objects to a folder in the folder structure and regenerate the user interface to display the mapped data according to the folder structure.
BRIEF DESCRIPTION OF THE DRAWINGSThe following description includes discussion of figures having illustrations given by way of example of implementations of embodiments of the invention. The drawings should be understood by way of example, and not by way of limitation. As used herein, references to one or more “embodiments” are to be understood as describing a particular feature, structure, or characteristic included in at least one implementation of the invention. Thus, phrases such as “in one embodiment” or “in an alternate embodiment” appearing herein describe various embodiments and implementations of the invention, and do not necessarily all refer to the same embodiment. However, they are also not necessarily mutually exclusive.
FIG. 1 is an exemplary screen display of a user interface displaying data such as news according to an embodiment of the invention.
FIG. 2 is a mapping tool to map the data displayed in the user interface to a folder structure depicting the user defined classification according to an embodiment of the invention.
FIG. 3 is an exemplary screen display of the user interface ofFIG. 1 displaying the data based on the user defined classification according to an embodiment of the invention.
FIG. 4 is an exemplary screen display of the user interface ofFIG. 1 displaying the data based on the user defined classification according to an embodiment of the invention.
FIG. 5 is an exemplary screen display of the user interface ofFIG. 1 displaying the data based on the user defined classification according to an embodiment of the invention.
FIG. 6 is an exemplary screen display of the user interface ofFIG. 1 displaying the data based on the user defined classification according to an embodiment of the invention.
FIG. 7 is a flow diagram for classifying data displayed in a user interface based on a user defined classification according to an embodiment of the invention.
FIG. 8 is a block diagram of a system for classifying data displayed in a user interface based on a user defined classification according to an embodiment of the invention.
DETAILED DESCRIPTIONFIG. 1 is an exemplary screen display of a user interface, for example, aweb page100 displaying data such as news according to an embodiment of the invention. Theweb page100 classifies the news in various categories displayed infirst level tabs105 such as “Home”, and “News”. The news displayed under category “News” is further classified intosecond level tabs110 such as “News By Company”, “News By Industry”, “Economy”, and “Infotech”. Similarly, the news displayed under “News By Industry” are further classified intothird level tabs115 such as “Auto”, “Banking/Finance”, “Cons. Products”, and “Energy”. In theweb page100, news of the “News By Industry” category is displayed asnews120. If the user wishes to see the news in the “Auto” category, then the user may do so by navigating from “News→News By Industry→Auto”. Similarly, the user may see the news under “Infotech” category by navigating from “News→Infotech”.
The user may find it tedious or time consuming to navigate through three levels of tabs to find the news that is of interest to him. For example, to read the news under “Auto” category, the user has to navigate through all the three levels of tabs as follows: “News (first level tab105)→News By Industry (second level tab110)→Auto (third level tab115)”. The user may be interested in reading thenews120 quite often. So, the user may prefer to obtain it with as less navigation as possible. In order to do the above, the user may want to reclassify the news displayed in theweb page100 so as to read the news that is of interest to him in an easier way.
In an embodiment, the user may reclassify the information by creating bookmarks or links, for example, in the “Favorites” folder of a web browser. The user may create a link such as “Auto” in the “Favorites” folder and link to a uniform resource locator (URL) of the auto news presented in “News→News By Industry→Auto” category inweb page100. But the problem with this type of classification is that the “Auto” link would be available only in the system in which the link is created.
In another embodiment, the user could use a personalization feature in the user interface to organize the information. But, the personalization feature in the user interface is typically limited to features such as changing the position of tab controls, changing the color of tab controls, adding more tabs in the user interface by choosing from a list of tabs provided by the personalization feature, changing the font of the information, changing tab controls to tree control and changing the layout of the user interface. So the personalization feature may not allow the user to present the information displayed under a tab control in another tab control of his choice. For example, the personalization feature does not allow the user to present thenews120 displayed in “News→News By Industry→Auto” tab control in new tabs “My News→Auto”.
FIG. 2 illustrates anexemplary mapping tool200 to map data displayed in a user interface to afolder structure205 depicting user defined classifications according to an embodiment of the invention. Thefolder structure205 depicts an example of a user defined classification existing on a system such as the user's system or any other system. The user may have defined thefolder structure205 on the system to classify a set of files, for example, documents, reports, electronic mail and images in the system. The user may also use thefolder structure205 to classify content on aweb page100. Thefolder structure205 may be defined in any application, for example, a file system in Microsoft® Windows, a file system in Linux, a file system in Unix, a file system in Solaris, and Microsoft® Outlook.
Themapping tool200 displays the classification of theweb page100 according to asource classification210 and folders from thefolder structure205 depicting theuser classification220. In an embodiment, themapping tool200 obtainssource classification210 by reading a user interface metadata file, for example, an extensible markup language (XML) file having the details of user interface objects of theweb page100. The user may map the classification fromsource classification210 to the folders inuser classification220 using a “Map To”215 button. The user may remove the mapping using the “Unmap”225 button. In themapping tool200, the “News By Industry” classification fromsource classification210 is mapped to “My News” folder in theuser classification220 as depicted by themapping230. Themapping230 causes thenews120 displayed under “News→News By Industry” category in theweb page100 to now be displayed under the “My News” section of theuser classification220 in a newly generated web page. Similarly, the “News→News By Industry→Auto” classification is mapped to “My News→Auto”, “News→Economy” to “MyNews→Economy”, “News→Economy→Foregin Trade” to “MyNews”, and “News→Infotech”, “News→Infotech→Hardware”, and “News→Infotech→Hardware” to “Tech News”.
Thesource classification210 has corresponding data objects provided by an application associated with theweb page100. The data objects contain the data to be displayed in the user interface. For example, “News→News By Industry” category has a corresponding data object news.newsByIndustry that contains the data,news120. The data object is obtained by accessing an application programming interface of the application.
In one embodiment, when thefolder structure205 is imported in to themapping tool200, corresponding data objects are created for the mapped folders in thefolder structure205 to provide the data to be displayed in the reconfigured web page. After the data objects are created, the mapping is executed in the application by mapping the data object of a classification in thesource classification210 to the data object of the folder inuser classification220. For example, in themapping230, news.newsByIndustry data object is mapped to the newly created “My News” data object. The tab objects in the user interface obtain the data to be displayed in the user interface from the data objects. Obtainingnews120 from a URL is not always reliable because, if the classification ofnews120 in the user interface changes, the URL of thenews120 also changes. For example, if the original URL ofnews120 under classification “News→News By Industry” is “http://timesofworld.com/news/newsbyindustry/index.html” and the classification changes to “News→World→News By Industry”, the URL may also change to “http://timesofworld.com/world/news/newsbyindustry/index.html”. This makes the original URL obsolete. This problem can be eliminated by obtaining the data from the data object instead of the URL.
FIG. 3 is an exemplary screen display of a “My News”web page300 displaying the data based on theuser classification220 ofFIG. 2 according to an embodiment of the invention. The tabs “My News”315 and “Tech News”320 infirst level tabs305 and asecond level tabs310 are created based on a classification defined by the user inuser classification220. Thefirst level tabs305 andsecond level tabs310 correspond to the folders in theuser classification220. The tab “My News”315 corresponds to “My News” folder, and tab “Tech News”320 to “Tech News” folder in theuser classification220. The tabs “Economy” and “Auto” appearing in thesecond level tabs310 of tab “My News”315 correspond to the folders “Economy” and “Auto” under the folder “My News” in theuser classification220. A new tab “Foreign Trade” is created in thesecond level tabs310 since “News→Economy→Foreign Trade” classification insource classification210 is also mapped to “My News” in theuser classification220.
A user interface object is created for the mapped folders in theuser classification220. For example, the tab “My News”315 is created for the folder “My News”. The user interface object represents the user defined classification in “My News”web page300. The user interface object has the name of the folder it is created for.
Because of themapping230, the tab “My News”315 displaysnews325 same asnews120 since “News By Industry” insource classification210 is mapped to “My News” folder inuser classification220. The tab “My News”315 obtains thenews325 from the data object “My News”. The tabs “My News→Economy” and “My News→Foreign Trade” in the “My News”web page300 displays the news originally displayed under “News→Economy”, and “News→Economy→Foreign Trade” respectively in theweb page100.
In an embodiment, the folder “My News” inuser classification220 is created as a “My News”315 tab in “My News”web page300. In another embodiment, the folder “My News” may be created as a node in a tree hierarchy, or an item in the menu based on how the classifications are originally displayed in theweb page100.
FIG. 4 is an exemplary screen display of the autonews web page400. The tab “My News→Auto” displays the auto news originally displayed under “News→News By Industry→Auto” in theweb page100.
FIG. 5 is an exemplary screen display of “Tech News”web page500 displaying the data based on theuser classification220 according to an embodiment of the invention. The tab “Tech News”505 corresponds to “Tech News” folder in theuser classification220. The tabs “Hardware” and “Software” in thesecond level tabs510 correspond to “News→Infotech→Hardware” and “News→Infotech→Software” insource classification210. Though the folders “Hardware” and “Software” do not exist under the “Tech News” folder inuser classification220, the tabs “Hardware” and “Software” are created under tab “Tech News”505 since “News→Infotech→Hardware” and “News→Infotech→Software” are mapped to “Tech News” in theuser classification220.
The tabs “Tech News→Hardware” and “Tech News→Software” in the “Tech News”web page500 display the news originally displayed under “News→Infotech→Hardware” and “News→Infotech→Software”, respectively inweb page100.
FIG. 6 is an exemplary screen display of asearch web page600 that displayssearch results610 of a search performed in an application using the tab name as a search keyword according to an embodiment of the invention. In thesearch web page600, when the user selects the tab “Search”, a search is performed to retrieve the news related to or containing the keyword “tech news”, which is the name of the tab “Tech News”605. The search is performed automatically with tab name as the keyword. In an embodiment, the search is performed within the application. In another embodiment, the search may be performed outside the application. Also, the search may be performed using the search engine of the application or any external search engines such as the one provided by Google®, of Mountainview, Calif.
FIG. 7 is a flow diagram for classifying data displayed in a user interface based on a user defined classification according to an embodiment of the invention. Atprocess block700, afolder structure205 is imported from a system, for example, the user's system. Thefolder structure205 may be imported from an application such as Microsoft® Windows and Microsoft® Outlook. All the folders under the folder imported by the user are considered foruser classification220. For example, infolder structure205, the folders under the “Documents” folder are considered foruser classification220.
Atprocess block705, the data displayed in the user interface such asweb page100 is mapped to a folder in the folder structure, for example,folder structure205 imported into themapping tool200. Themapping tool200 obtains the data objects containing the data displayed in theweb page100 and performs the mapping130 between the data objects and the folder in theuser classification220. The user may map more than one data insource classification210 to a folder in theuser classification220. But, a data insource classification210 may not be mapped to more than one folder in theuser classification220.
Atprocess block710, a user interface object, for example a tab object, is created in theweb page100 for the mapped folders in theuser classification220. The tab object represents the user classification of data. The type of the user interface object created depends on how the classification is presented in theweb page100. If theweb page100 had displayed the classification of data as a tree hierarchy instead of tabs, then a node in a tree hierarchy is created for the folder. In another embodiment, if the classifications are displayed as a menu, then an item in a menu is created for the folder.
Atprocess block715, the mapped data is displayed in newly created user interface object, for example, tab “My News”315 in “My News”web page300. Now, based on the mapping, the tab “My News”315 displaysnews325 which was originally displayed asnews120 under “News→News By Industry” category inweb page100.
The “My News”web page300 may be customized to enable or disable user defined classification of the data displayed. Also, the tabs created based on the user defined classification, for example, “My News”315 and “Tech News”320 may be differentiated from the original tabs “Home” and “News” in a number of ways including generating the “My News”315 and “Tech News”320 in different font, color, tab shape etc. In another embodiment, the “My News”web page300 may be customized to have only the tabs “My News”315 and “Tech News”320 and not the original tabs.
FIG. 8 is a block diagram of asystem800 for classifying data displayed in a user interface based on a user defined classification according to an embodiment of the invention. Thesystem800 includes afolder structure container820 having a folder structure depicting the user defined classification. In one embodiment, thefolder structure container820 includes any system on which the user interface is being viewed, and executing an application associated with the user interface. However, thefolder structure container820 could reside anywhere in a network also including the system on which the user interface is being generated. The folder structure may be imported from an application such as Microsoft® Windows and Microsoft® Outlook.
Animporting tool805 imports the folder structure from thefolder structure container820 and provides the folder structure to amapping tool810. Themapping tool810 obtains an original classification of data in the user interface such asweb page100 and provides them to user assource classification210. Using themapping tool810, the user may map the data insource classification210 to a folder in theuser classification220. Themapping tool810 executes the mapping by extracting a data object containing the data and maps it to the folder in theuser classification220. Aclassification creation engine825 obtains the mapping from themapping tool810 and creates a user interface object, for example, a tab object such as “My News”315 representing the mapping. Auser interface engine815 generates a user interface, for example, “My News”web page300 and displays the mapped data under the newly created tab “My News”315.
Thesystem800 also includes asearch engine835 that performs a search in the application to retrieve news related to or containing a keyword, for example, “tech news” which is a name of the tab “Tech News”320. The search result is displayed in the user interface, for example,search web page600. In an embodiment, the search may be restricted to adata store830 within the application. In another embodiment, the search may be performed outside the application as well. Examples ofsearch engine835 include a search engine of the application, google search provided by Google®, yahoo search provided by Yahoo®, and MSN search provided by Microsoft®.
Embodiments of the invention may include various steps as set forth above. The steps may be embodied in machine-executable program code which causes a general-purpose or special-purpose processor to perform certain steps. Alternatively, these steps may be performed by specific hardware components that contain hardwired logic for performing the steps, or by any combination of programmed computer components and custom hardware components.
Embodiments of the present invention may also be provided as a machine-readable medium for storing the machine-executable instructions. The machine-readable medium may include, but is not limited to, flash memory, optical disks, CD-ROMs, DVD ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, or any other type of machine-readable media suitable for tangibly storing electronic instructions. The machine readable medium can provide the instructions stored therein to a computer system comprising a processor capable of reading and executing the instructions to implement the method steps described herein.
It should be appreciated that reference throughout this specification to one embodiment or an embodiment means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. These references are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined as suitable in one or more embodiments of the invention.
Throughout the foregoing description, for the purposes of explanation, numerous specific details were set forth in order to provide a thorough understanding of the invention. It will be apparent, however, to one skilled in the art that the invention may be practiced without some of these specific details. For instance, a web browser was used in many of the examples above to illustrate and describe the principles of the invention but the invention is not limited to these examples. The detailed description as set forth above includes descriptions of method steps. However, one skilled in the art will understand that the order of the steps set forth above is meant for the purposes of illustration only and the claimed invention is not meant to be limited only to the specific order in which the steps are set forth. Accordingly, the scope and spirit of the invention should be judged in terms of the claims which follow.