Abstract:
A system and method for dynamically generating and displaying a new home screen on a display of a user device are provided. The method comprises determining a user intent based on at least one input variable dynamically provided in real time; dynamically selecting a plurality of resources of information based on the user intent, wherein each selected resource has a representative icon; generating a new home screen including at least the icons of the plurality of dynamically selected resources; and causing a display of the new generated home screen on the user device.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is a continuation of U.S. patent application Ser. No. 13/712,563 filed on Dec. 12, 2012, now allowed, which claims the benefit of U.S. Provisional Patent Application No. 61/653,562 filed on May 31, 2012. The Ser. No. 13/712,563 application is also a continuation-in-part application of U.S. patent application Ser. No. 13/156,999 filed on Jun. 9, 2011, now allowed, which claims the benefit of U.S. Provisional Patent Application No. 61/468,095 filed on Mar. 28, 2011, and U.S. provisional application No. 61/354,022 filed on Jun. 11, 2010. The Ser. No. 13/712,563 application is also a continuation-in-part application of U.S. patent application Ser. No. 13/296,619 filed on Nov. 15, 2011, now pending. The contents of the above-referenced applications are incorporated herein by reference. 
     
    
     TECHNICAL FIELD 
       [0002]    The invention generally relates to display of a home screen on a display device, and more specifically to the dynamic display of home screens for devices having a display. 
       BACKGROUND 
       [0003]    In general, home screens are used to navigate through the content of a user&#39;s devices such as mobile devices, tablet computers, laptop computers, etc. Navigation through the home screen might be carried out by pressing navigation keys on the device or by manipulating other input devices typically associated with a device, such as a touch screen placed over the device&#39;s display. The home screen usually includes a plurality of icons that are static in nature and sometimes are moved from one static display of icons to another by the user. Furthermore, in mobile devices, such as smart phones and tablet computers, the display area is quite limited compared to the display screens typically used by desktop and laptop computer systems. 
         [0004]    On mobile devices, the home screen typically operates as a default browser displaying static data in order to fit the variety of data streaming to and from the mobile device. The home screen typically includes icons associated with applications (e.g., a browser, a mobile application or app, etc.), as well as icons associated with documents, files, and so on. The icons are arranged according to users&#39; preferences, but once they are set, the home screen typically cannot be dynamically changed to display a different set of icons not previously configured by the user. 
         [0005]    It would be therefore advantageous to provide a solution that overcomes the limitations of the prior art. 
       SUMMARY 
       [0006]    Certain embodiments disclosed herein include a method for dynamically generating and displaying a new home screen on a display of a user device. The method comprises determining a user intent based on at least one input variable dynamically provided in real time; dynamically selecting a plurality of resources of information based on the user intent, wherein each selected resource has a representative icon; generating a new home screen including at least the icons of the plurality of dynamically selected resources; and causing a display of the new generated home screen on the user device. 
         [0007]    Certain embodiments disclosed herein also include a system for dynamically generating and displaying a new home screen on a display of a user device. The system comprises a display; a processing unit; and a memory, the memory containing instructions that, when executed by the processing unit, configure the system to: determine a user intent based on at least one input variable dynamically provided in real time; dynamically select a plurality of resources of information based on the user intent, wherein each selected resource has a representative icon; generate a new home screen including at least the icons of the plurality of dynamically selected resources; and cause a display of the new generated home screen on the display. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0008]    The subject matter that is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features and advantages of the invention will be apparent from the following detailed description taken in conjunction with the accompanying drawings. 
           [0009]      FIG. 1  is a schematic diagram of the operation of the system in accordance with one embodiment; 
           [0010]      FIG. 2  is a flowchart describing the operation of displaying a dynamic home screen on a device according to one embodiment; 
           [0011]      FIG. 3  is a flowchart describing the operation of displaying a dynamic home screen respective of an intent according to another embodiment; 
           [0012]      FIG. 4  is a schematic block diagram of a search server in accordance with one embodiment; and, 
           [0013]      FIGS. 5A and 5B  are screenshots of a dynamic home screen of a device showing the operation of the system when the intent changes according to various embodiments disclosed herein. 
       
    
    
     DETAILED DESCRIPTION 
       [0014]    The various embodiments disclosed herein are only examples of the many possible advantageous uses and implementations of the innovative teachings presented herein. In general, statements made in the specification of the present application do not necessarily limit any of the various claimed inventions. Moreover, some statements may apply to some inventive features but not to others. In general, unless otherwise indicated, singular elements may be in plural and vice versa with no loss of generality. In the drawings, like numerals refer to like parts through several views. 
         [0015]    In certain exemplary embodiments disclosed herein, a system and method for displaying a personalized dynamic home screen on a device are provided. The system determines an intent based on a query input, one or more environmental variables, or one or more personal variables. The intent represents the type of content, the content, and/or actions that may be of an interest to the user for a current time period. Respective of the intent, the system selects one or more resources of information responsive of the query and displays them on the home screen of the device. 
         [0016]    In one embodiment, the system displays an image as a wallpaper on the home screen of the device respective of the intent. In another embodiment, the system may be implemented within an application installed on the device or as part of the device&#39;s operating system. The system continuously tracks the environmental or personal variables of the user and upon identification of a change in the intent, and then the system updates the home screen of the device. 
         [0017]      FIG. 1  depicts an exemplary and non-limiting schematic diagram of a system  100  utilized for describing certain embodiments disclosed herein. A user device  110  submits a query to a search server  120  over a communication link  140 . The search server  120  is configured to receive a plurality of environmental variables. Such variables may include, but are not limited to, search history, time of day, social friends, location, motion information, weather information, sounds, images, sentiment inputs received by the user, and more. The environmental variables may be received from databases (not shown) connected to the search server  120 , and from the user device  110 . For example, location information can be received by a GPS in the user device  110 , while social friends may be received from a database of a social media website. In addition, personal variables, such as a user profile, demographic information related to the user, and so on, can be retrieved by the search server  120  and utilized to determine the user&#39;s intent. The search server  120  is configured to determine the user&#39;s intent based on the received variables. With this aim, according to an exemplary embodiment, the search server  120  is configured to analyze the context of each variable and correlates the analyzed variable to derive at least a category of interest. The correlation is performed based on the context of the analyzed variables. 
         [0018]    In another embodiment, the search server  120  is configured to determine the intent respective of a query or part of a query received from the user and at least one environmental variable (and if provided a personal variable). The search server  120  is configured to process the input query and the received variables to determine the intent. With this aim, according to an exemplary embodiment, the search server  120  is configured to analyze the context of the query and each received variable and correlates the analyzed variables with the query to derive at least a category of interest. The correlation is performed based on the context of the analyzed variables and query. As an example, the search server  120  receives the query “Madonna”. The search server  120  is further configured to receive, by a GPS in the user device  110 , information that the user is located, for example, at the Brooklyn Museum. The search server  120  is then configured to analyze the query and together with the user&#39;s location it is associated with an art category. Respective thereto, the user intent is determined as “art” related. 
         [0019]    Once the intent is determined, the search server  120  is configured to select resources from a plurality of resources  130 - 1  through  130 - n  that are the most appropriate to fulfill the user&#39;s intent. The resources  130  include, but are not limited to, a plurality of web search engines, servers of content providers, vertical comparison engines, servers of content publishers, and so on. The resources  130  may include “cloud-based” applications, that is, applications executed by servers in a cloud-computing infrastructure, such as, but not limited to, a private-cloud, a public-cloud, or any combination thereof. The cloud-computing infrastructure is typically realized through a data center. Although not shown in  FIG. 1 , the resources  130  may further include mobile applications (also known as apps) and/or widgets currently installed on the user device  110 . 
         [0020]    The resources  130  may be further arranged according to different categories. For example, if the query term is “Hector Berlioz” then it is most likely that the best answers will be from resources that are capable of handling classical music queries. 
         [0021]    In an embodiment, the search server  120  is configured to determine which resources  130  would be the most appropriate resource(s)  130  to address the intent. With this aim, the resources  130  are categorized according to topics of interest, such as “music” or “carpentry tools”. The topics of interest are set, for example, by the content provided. The resources  130  are further categorized according to demographic information (i.e., to which demographic group a certain resource may be of interest). The resources  130  may also be registered according to certain keywords. To determine the appropriate resource(s)  130 , the search server  120  is configured to match the intent to resources based on the category of each resource. For example, if the intent is “building a bookcase”, then resources categorized with topic of interest “carpentry tools” will be selected. Moreover, as will be described herein below, the search server  120  may monitor the corresponding use by the user on the user device  110  to determine which of the resources  130  were the most appropriate for the user, thereby influencing future references provided from that resource. 
         [0022]    The search server  120  is further configured to provide a display area containing display segments unique to each of the selected resources  130 , which have been determined to be appropriate to address the user&#39;s intent. The selected resources communicate directly with their respective display segments on the user device over the communication links  160 . The display area may be an application in its own right, such as, but not limited to, a web browser. 
         [0023]    In one embodiment, and as further explained herein below, only a portion of the selected resources of the resources  130  are designated with a display segment. Those selected resources that do not have an allocation of a display segment are approached when the user requests, for example, information from additional selected resources. By mere example, there may be thirty selected resources, but the display area may be designed to contain only ten display segments; therefore only the top ten of the selected resources are associated with the display segment. The other selected resources can be associated with the display segment upon a subsequent request for more information made by the user and as further explained below. As a result, it is not necessary for the search server  120  to have any specific information or data regarding the actual content residing on the resource. The only ability needed is to determine which resource of the resources  130  is appropriate to provide a certain answer to the user&#39;s intent, thereby potentially becoming a resource trusted by a user of the device  110 . 
         [0024]    According to certain embodiments, the search server  120  is configured to generate a query respective of the determined intent, or variations thereof, to a resource in a communication format that is proper for that specific resource, thereby enabling search of such resources that require a customized interface to perform any kind of successful processing. The communication links  140 ,  150 , and  160  may occur over a common network such as, but not limited to, a local area network (LAN), a wide area network (WAN), a metro area network (MAN), the world wide web (WWW), the Internet, a wired network, a wireless network, and the like, as well as any combination thereof. The various elements of the system  100  are further described in co-pending U.S. patent application Ser. No. 13/156,999 filed on Jun. 9, 2011 to Kasterstein, et al., titled “SYSTEM AND METHODS THEREOF FOR ENHANCING A USER&#39;s SEARCH EXPERIENCE”, assigned to common assignee, and which is hereby incorporated by reference for all that it contains. 
         [0025]      FIG. 2  depicts an exemplary and non-limiting flowchart  200  of a method for generating and displaying a dynamic home screen over a user&#39;s device according to one embodiment. In S 210 , at least one environmental variable is received. An environmental variable may be, for example and not by way of limitation, the location of the user mobile device, the device rate of motion, time of day, and more. In one embodiment, a set of variables may be pre-defined by the system or by the user. For example, “home” means the physical location of the user&#39;s home, whereas “morning” could mean any time between 6 am and 10 am. 
         [0026]    Optionally, one or more personal variables associated with the user may be retrieved or received. As mentioned above, such variables may include, but are not limited to, a user profile, demographic information, user&#39;s preferences, and so on. Such variables may be retrieved or received from systems and databases that generate and/or maintain the variables. 
         [0027]    In S 220 , based on the received variables, the intent of the user is determined. The received variables include at least one environmental variable and optional one or more personal variables. The intent may represent the type of content, the content, and/or actions that may be of an interest to the user at a current time period. In one embodiment, the intent is determined by monitoring at least the received environmental variables (or variables determined by the users to be monitored) to determine any changes in the variables that may in turn change the intent. Then, the changed environmental variables are analyzed to determine the current (updated) intent of the user. The changed environmental variables may be further correlated with the personal variables. 
         [0028]    For example, if the time is 8 am on Monday and the user&#39;s device location is the user&#39;s home, then the intent may be related to “review news” or “review emails”. If the location changes to away-from-home, and the GPS information indicates the user is driving, the intent may be changed to receiving traffic updates or listening to the user&#39;s favorite radio station during the user&#39;s commute. As another example, if the device&#39;s motion is determined to be at a rate of a person walking, and the location is determined as 5 th  Avenue in New York City, the user intent may be “nearby shopping stores.” 
         [0029]    In S 230 , one or more resources of information (e.g., resources  130 ) related to the determined intent are selected. For example, if the intent is “review news” (as discussed above), then the selected resources may be one or more news websites or apps (mobile applications) that the user usually reviews. The favorite news websites or apps may be determined, for example, based on a different environmental variable, (e.g., search/browsing history) and/or a personal variable (e.g., a user profile). 
         [0030]    In S 240 , a personalized home screen respective of the selected resources is generated to be displayed on the user&#39;s device. Each selected resource is associated with an icon. An icon may be any type of graphical symbol rendered and displayed over the display on the user device. Clicking or tapping on the icon activates an app or provides a link to an information resource (e.g., news website), thereby providing the user with the desired information and/or action. In one embodiment, an icon included in the personalized home screen may be in a form of a widget or a gadget that can activate and/or provide a like to a respective selected resource. It should be noted that the widget or gadget is associated with a resource or information selected as described in detail above. 
         [0031]    In S 250 , it is checked whether it is necessary to stop execution and if so, execution terminates; otherwise, execution continues with S 210 . 
         [0032]      FIG. 3  depicts an exemplary and non-limiting flowchart  300  describing a method for generating and displaying a dynamic home screen respective of a query or part of a query and at least one environmental variable, according to another embodiment. In S 310 , a query, such as a free-text query, or a portion thereof, is received from a user device, for example, a user device  110 . The query may be, for example, a keyword, a portion of a keyword, a plurality of keywords, a character, a series of characters, and the like. 
         [0033]    In one embodiment, at least a portion of a query may be automatically completed, and at least a query may be suggested based on, for example, a user experience. 
         [0034]    In S 320 , at least an environmental variable is received. In S 330 , the user&#39;s intent respective of the query is determined based on at least one environmental variable as described in detail above. The user intent can also be determined using one or more personal variables that may be correlated with the environmental variables. 
         [0035]    In S 340 , a list of relevant resources from the plurality of resources (e.g., the resources  130 - 1  through  130 - n ) is determined for the received query respective of the determined intent. In S 360 , a personalized home screen is generated to include the resources determined to be relevant. The generated home screen is displayed over the user&#39;s device. As noted above the selected resource is associated with an icon on the generated home screen. An icon may be any type of graphical symbol rendered and displayed over the display of the user device. Clicking or tapping on the icon activates an app (mobile application) or provides a link to an information resource (e.g., news website), thereby providing the user with the desired information and/or action. 
         [0036]    As noted above, in one embodiment, an icon included in the personalized home screen may be in a form of a widget or a gadget. It should be noted that the widget or gadget are associated with a resource of information selected as described in detail above. The method discussed with reference to  FIG. 3  can be performed by the search server  120 . 
         [0037]    Following are non-limiting examples for the operation of the method described with reference to  FIG. 3 . If the user often enters queries related to high-end brands, resources which are occasionally selected by other users who tend to search high-end brands are displayed. The time (given as an environmental variable) of the day the query is entered may be further identified. 
         [0038]    As another example, if the user enters the query term “eat” in the morning, results related to breakfast would be displayed, and if the user enters the query term “eat” in the evening, responses related to dinner would be displayed. As another example, if the environmental variable is the temperature at the user&#39;s location and the input query is “clothing”, resources may be selected respective of the temperature and the term “clothing.” Examples for resources that may be displayed in response to the query term “clothing” and the environmental variable temperature indicating “winter season” are on-line stores that sell winter clothing. Again, the selected resources are displayed as icons on the home screen of the user&#39;s device. 
         [0039]    In yet another example, the environmental variable is the state of motion of the device, indicating if the user is static or moving. Resources are selected and icons associated with the selected resources based on this identification and an input query are displayed. For instance, if the user enters the query term “Pizza” while moving, resources related to Pizza restaurants are selected. If the user enters the query term “Pizza” while in a static mode, resources related to Pizza deliveries are displayed. Again, the selected resources of information are displayed as icons on the home screen of the user&#39;s device, thereby the home screen is dynamically changed respective of the query and the corresponding variables. 
         [0040]    In S 370 , it is checked whether there are additional queries to handle, and if so execution continues with S 310 ; otherwise, execution terminates. 
         [0041]    A person of ordinary skill in the art would readily appreciate that the operation of displaying a dynamic home screen as described in  FIG. 2 , and the operation of displaying a dynamic home screen respective of the intent of a query as described in  FIG. 3 , may be integrated without departing from the scope of the invention. 
         [0042]      FIG. 4  depicts an exemplary and non-limiting schematic diagram  400  of the search server  120 . According to an exemplary embodiment, the search server  120  includes an input unit  121  for receiving queries from the user&#39;s device  110 . Through the input unit  121 , a plurality of environmental variables is also received. The search server  120  also includes an analyzer  123 , a selection unit  125 , a tracking unit  127 , and an output unit  129 . Each of the units may include a processor coupled to a memory (both are not shown). 
         [0043]    The analyzer  123  determines the user&#39;s intent based one or more environmental variables and in some case using personal variables as discussed in detail above. The analyzer  123  can also determine the intent respective of an input query as discussed above. The selection unit  125  selects at least one resource from a plurality of resources of information respective of the intent and extracts at least an icon or a widget respective of each selected resource. The tracking unit  127  continuously tracks changes of the at least an environmental variable and updates the home screen respective of the changes. The output unit  129  generates a new home screen that includes the extracted icons and causes the device to replace a current home screen with the newly-generated home screen. 
         [0044]      FIGS. 5A and 5B  depict exemplary and non-limiting screenshots  500 A and  500 B of a personalized dynamic home screen of a mobile device. In  500 A a default home screen with icons is shown. The user may enter a term, for example, the term query “Sushi” in window  510 A. In one embodiment, instant wallpaper with one or more pictures respective of the query intent  520 A is provided, as described in further detail in co-pending U.S. patent application Ser. No. 13/296,619 filed on Nov. 15, 2011 to Kasterstein, et al., titled “A SYSTEM AND METHODS THEREOF FOR INSTANTANEOUS UPDATE OF A WALLPAPER RESPONSIVE OF A QUERY INPUT AND RESPONSES THERETO,” assigned to common assignee, and which is hereby incorporated by reference for all that it contains. 
         [0045]    An environmental variable respective of the user&#39;s current location is provided to the search server  120 , for example, by the Global Positioning System (GPS). The user&#39;s current location is used by the search server  120  to determine whether the user is at his home or away. 
         [0046]    Screenshot  500 A is a home screen being generated in response to the determination that the user is at his home. Accordingly, as the search server  120  identifies the term “Sushi” it displays a wallpaper related to this intent as well as an icon for displaying results respective for the intent, for example, a resource displaying instructions on how to make sushi at home  530 A. 
         [0047]    Screenshot  500 B is a home screen being generated in response to the determination that the user is away from home, and responsive to the query term “Sushi”. The screenshot  500 B displays as a result, icons related to the new intent, for example, a link to a website  510 B specifying the sushi restaurants near the current location of the user. 
         [0048]    The various embodiments may be implemented as hardware, firmware, software, or any combination thereof. Moreover, the software is preferably implemented as an application program tangibly embodied on a program storage unit or tangible computer readable medium consisting of parts, or of certain devices and/or a combination of devices. The application program may be uploaded to, and executed by, a machine comprising any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units (“CPUs”), a memory, and input/output interfaces. The computer platform may also include an operating system and microinstruction code. The various processes and functions described herein may be either part of the microinstruction code or part of the application program, or any combination thereof, which may be executed by a CPU, whether or not such computer or processor is explicitly shown. In addition, various other peripheral units may be connected to the computer platform such as an additional data storage unit and a printing unit. All or some of the servers maybe combined into one or more integrated servers. Furthermore, a non-transitory computer readable medium is any computer readable medium except for a transitory propagating signal. The display segments and mini-display segments may be shown on a display area that can be a browser or another other appropriate graphical user interface of an internet mobile application, either generic or tailored for the purposes described in detail hereinabove. 
         [0049]    All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the principles and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform the same function, regardless of structure.