FreshPatents.com Logo
stats FreshPatents Stats
2 views for this patent on FreshPatents.com
2013: 2 views
Updated: December 22 2014
Browse: Google patents
newTOP 200 Companies filing patents this week


Advertise Here
Promote your product, service and ideas.

    Free Services  

  • MONITOR KEYWORDS
  • Enter keywords & we'll notify you when a new patent matches your request (weekly update).

  • ORGANIZER
  • Save & organize patents so you can view them later.

  • RSS rss
  • Create custom RSS feeds. Track keywords without receiving email.

  • ARCHIVE
  • View the last few months of your Keyword emails.

  • COMPANY DIRECTORY
  • Patents sorted by company.

Your Message Here

Follow us on Twitter
twitter icon@FreshPatents

Temporal task-based tab management

last patentdownload pdfdownload imgimage previewnext patent

20120331407 patent thumbnailZoom

Temporal task-based tab management


Systems and methods for managing tabs, such as tabs used for accessing web pages. Such systems and methods may also provide, arrange and identify the tabs based on tasks to be performed using resources accessed via the web pages. A method for task-based web page tab management may include determining a task period. The method may also include selecting one or more tabs of a plurality of displayed tabs to adjust based on the task period and a task profile. The method may further include adjusting the display of the selected tabs. A system for task-based web page tab management may include a task period determiner and a tab adjuster. The system may also include a task profiler.

Google Inc. - Browse recent Google patents - Mountain View, CA, US
Inventors: Alex Ainslie, Nicholas Jitkoff
USPTO Applicaton #: #20120331407 - Class: 715760 (USPTO) - 12/27/12 - Class 715 
Data Processing: Presentation Processing Of Document, Operator Interface Processing, And Screen Saver Display Processing > Operator Interface (e.g., Graphical User Interface) >Mark Up Language Interface (e.g., Html)



view organizer monitor keywords


The Patent Description & Claims data below is from USPTO Patent Application 20120331407, Temporal task-based tab management.

last patentpdficondownload pdfimage previewnext patent

BACKGROUND

1. Technical Field

Embodiments relate generally to client server applications.

2. Background

A web browser is a software application executed on a computing device that allows a user to view or download content that is available on a network, such as on a website on the World Wide Web. Content may include text, files, images, audio, video and personal communications. A browser may also allow a user to enter, upload, or execute content. Browsers may use a number of protocols and standards to obtain or manage content flow. Most browsers primarily use hypertext transfer protocol (HTTP) to fetch content and web pages.

Web browsers may be used to display news and sports information, weather information, on line forums (e.g., social and business networking forums, web blogs, bulletin boards, and online discussion forums), online shopping sites, and specialized and general purpose web search sites. Web browsers have been used to provide web based applications such as tax preparation software, office software (e.g., software for preparing documents, presentations, spread sheets, and databases), and game playing applications.

Web browser clients that support tabbed browsing are becoming increasing popular. Tabbed web browsers allow a user to open multiple browser windows, each having a corresponding tab for selecting the window. The tabs may be arranged in a tab area of the web browser client. Typically, the tabs occupy a substantially smaller area of the browser than the browser windows. The small space occupied by the tabs allows a large number of tabbed windows to be opened at one time without exhausting the space reserved for the tabs or largely reducing the space for displaying an active browser window.

Users can efficiently switch between applications by selecting browser tabs. As the number of tabs increases, the effort required to locate and select the proper browser tab decreases the user's efficiency.

BRIEF

SUMMARY

Embodiments for managing the tabs for multiple windows on a client based on a user task are provided. Such a capability may also provide for organizing and displaying sets of tabs.

In an embodiment, a method for task-based web page tab management may include determining a task period. The method may also include selecting one or more tabs of a plurality of displayed tabs to adjust based on the task period and a task profile. The method may further include adjusting the display of the selected tabs.

In another embodiment, a system for task-based web page tab management may include a task period determiner configured to determine a task period. The system may also include a tab adjuster configured to select one or more tabs of a plurality of displayed tabs to adjust based on the task period and a task profile, and to adjust the display of the selected tabs.

In an embodiment, a method for task-based web page tab management is provided. The method may include determining a task period. The method may also include selecting a first set of one or more tabs of a plurality of displayed tabs to adjust based on the task period and a task profile. The method may further include selecting a second set of one or more tabs of the plurality of displayed tabs to adjust based on the task period. The method may also include adjusting the display of the first and second sets of selected tabs. The first set of tabs may be adjusted in a first manner and the second set of tabs is adjusted in a second manner.

In another embodiment, a system for task-based web page tab management may include a task period determiner configured to determine a task period. The system may also include a tab adjuster configured to select a first set of one or more tabs of a plurality of displayed tabs to adjust based on the task period and a task profile and select a second set of one or more tabs of the plurality of displayed tabs to adjust based on the task period. The tab adjuster may also be configured to adjust the display of the first and second sets of selected tabs. The first set of tabs may be adjusted in a first manner and the second set of tabs is adjusted in a second manner.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments are described, by way of example only, with reference to the accompanying drawings. In the drawings, like reference numbers may indicate identical or functionally similar elements. The drawing in which an element first appears is typically indicated by the leftmost digit or digits in the corresponding reference number.

FIG. 1 is a diagram of an exemplary communication system suitable for practicing an embodiment.

FIGS. 2 and 3 are diagrams that schematically illustrate a browser with tabs suitable for practicing an embodiment.

FIG. 4 is a flow chart illustrating a method in accordance with an embodiment.

FIG. 5 is a flow chart illustrating another method in accordance with an embodiment.

FIG. 6 is a flow chart illustrating yet another method in accordance with an embodiment.

FIGS. 7 and 8 illustrate data structures suitable for practicing embodiments.

FIGS. 9A, 9B, and 9C illustrate a data structure suitable for practicing an embodiment.

FIG. 10 is an illustration of an example computer system in which embodiments can be implemented.

DETAILED DESCRIPTION

Embodiments relate to managing tabs for accessing server applications on a client. Embodiments manage sets of tabs associated with tasks to facilitate accessing a relevant set of tabs during a task period. Embodiments may also emphasize a relevant set of tabs and deemphasize one or more other sets of tabs.

A user might begin his activity at a computer by checking his email, and viewing online news using a browser client for accessing web based services. Embodiments may identify a task period corresponding to the start of the user's morning activities, and may open browser windows associated with an email reader and an online news site favored by the user. Tabs for the open browser windows may be adjusted to emphasize the tabs for the user during the identified task period.

In another example, a user may start up a programming editor at the start of a software development task period. Embodiments may detect the start up of the programming editor and may emphasize tabs on the user's browser associated with programming resources that the user typically consults when engaged in software development. Tabs that are not associated with the software development task may be deemphasized on the user's browser.

Embodiments are described herein with reference to illustrations. It should be understood that the invention is not limited to the embodiments. Other embodiments are possible, and modifications can be made to the embodiments within the spirit and scope of the teachings herein and additional fields in which the embodiments would be of significant utility. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the relevant art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.

For example, in the embodiments described below below, the client applications are Hypertext Markup Language (HTML) compatible tabbed browsers. The use of such browsers is exemplary, and other clients or applications that are capable of displaying tabbed windows providing access to multiple server applications or functions can be used.

It would also be apparent to one of skill in the relevant art that the embodiments, as described herein, can be implemented in many different embodiments of software, hardware, firmware, and/or the entities illustrated in the figures. Any actual software code with the specialized control of hardware to implement embodiments is not limiting of the detailed description. Thus, the operational behavior of embodiments will be described with the understanding that modifications and variations of the embodiments are possible, given the level of detail presented herein.

In the detailed description herein, references to “one embodiment,” “an embodiment,” “an example embodiment,” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.

FIG. 1 is a diagram of a system 100 for task-based web page tab management, according to an embodiment. Exemplary system 100 includes computing device 102, network 104, and web servers 106a, 106b, and 106c. Web servers 106a, 106b, and 106c are server systems that include one or more computers that host web based applications. Although only three servers 106a, 106b, and 106c are shown in FIG. 1, more or fewer servers may be used as appropriate. In other cases, 106a, 106b and 106c may also be other client or mobile devices.

Network 104 connects web servers 106a and 106b to computing device 102. Network 104 can be any network or combination of networks that can carry data communications. Such a network can include, but is not limited to, a wired (e.g., Ethernet) or a wireless (e.g., Wi-Fi and 3G) network. In addition, network 104 can include, but is not limited to, a local area network, medium area network, and/or wide area network such as the Internet. Network 104 can support protocols and technology including, but not limited to, Internet or World Wide Web protocols and/or services. Intermediate network routers, gateways, or servers may be provided between components of system 100 depending upon a particular application or environment.

Computing device 102 is configured to execute instructions and to carry out operations associated with system 100. In an embodiment, computing device 102 can be implemented on a single computing device such as, for example and without limitation, a stand-alone device. Computing device 102 can be based on processing devices that include, but are not limited to, programmable logic arrays, application-specific integrated circuits, and central processing units that have at least one processor and memory. In another embodiment, computing device 102 can have multiple processors and multiple shared or separate memory components such as, for example and without limitation, one or more computing devices incorporated in a clustered computing environment or a server farm. The computing process can be performed by the clustered computing environment, or server farm, and may be carried out across multiple processors located at the same or different locations.

Computing device 102 includes a display device for presenting text and graphical information. The display device can be, for example and without limitation, a liquid crystal display, a plasma display, a computer monitor (e.g., a variable graphics array (VGA) display, a super VGA display, and a cathode ray tube display), and other similar types of display devices. In an embodiment, the display device can be configured to display a graphical user interface (GUI) that provides an interface between a user and computing device 102 or an application running on computing device 102 (also referred to herein as a “system application”). The system application can be, for example and without limitation, an email application, a multi-media display application, a document generating application, or a video game. Features of the GUI for the system application can be arranged in a predefined layout on the display device or can be generated dynamically to serve specific actions taken by the user, according to an embodiment. For instance, the GUI can display information such as interactive text and graphics for the user to select via an input device.

Computing device 102 can be, for example, and without limitation, a personal computer system (e.g., desktop, laptop, tablet, and handheld computers), a personal digital assistant (PDA), mobile device, navigation device or a smart phone. Computing device 102 is configured to access content hosted on web servers 106a, and 106b over network 104. Computing device 102 hosts browser 110 and task based tab management system 120. Browser 110 may exist within or be executed by hardware in computing device 102. For example, browser 110 may be software, firmware, or hardware or any combination thereof in computing device 102.

Browser 110 includes window area 112 for displaying visual content in a window from one or more selected web based application, and tab area 114 for displaying tabs associated with open browser windows associated with web based applications. A user can select a window from a set of open windows for viewing in window area 112 by selecting a tab associated with the window and displayed in tab area 114 using an input device connected to or a touch screen on computing device 102. For example, a user might use a pointing device connected to computing device 102 to select a particular tab, and in response to the selection, browser 110 may be configured to display the contents of a window associated with the selected tab in window area 112.

According to an embodiment, task based tab management system 120 includes task period determiner 122, task profiler 126, and tab adjuster 124. Task period determiner 122 may determine the relevant tasks to be performed on computing device 102 at the current time. Task profiler 126 may track user activity on computing device 102 and track the tasks and activities initiated on computing device 102 to generate a task profile. Tab adjuster 124 may control one or more features of sets of tabs, including, for example, the appearance, location, and grouping of tabs based on a task profile. System 100 may also include task database 128. Task database 128 may store the task profile and other data generated and used by components of task based tab management system 120.

FIG. 4 is a flow chart illustrating an exemplary method 400 of an embodiment. For ease of explanation, method 400 will be described with respect to system 100 of FIG. 1 and the tab systems shown in FIGS. 2 and 3. However, it is noted that embodiments of the method are not intended to be limited thereto.

Method 400 begins in step 402 with determining a task period. In an embodiment, task period determiner 122 may be configured to identify a task period by comparing the current time to a stored task profile and determine if a time associated with a task or a set of tasks has been reached. In some embodiments, current activity of a user or application can be compared to a task profile.

FIG. 7 shows an example data structure that represents data stored in one or more tables in task database 128 in an embodiment. Data structure 700 includes multiple records with each record representing information for one or more tabbed windows that can be opened in browser 110. In the illustrated example, records 702a through 702d of data structure 700 each include information defining a respective set of tabs that are to be adjusted based on identified time periods. Fields 704 and 706 of data structure 700 include information describing a triggering events for each a set of tabs.

Example record 702a of data structure 700 contains information for a set of two tabs associated with the task period “Morning Routine” that are adjusted daily at 08:00 AM. Example record 702b, of data structure 700 contains information for a set of three tabs associated with task period “Progress Report” that are to be adjusted monthly on the second Tuesday of each month at 3:00 PM. Example record 702c of data structure 700 contains information for a set of three tabs associated with task period “Leisure Browsing” that are adjusted every weekday at 12:30 PM.

For records 702a-702d of data structure 700, field 708 includes a task reference or a descriptive task period name associated with each set of tabs, and field 710 includes application launch information for accessing a web based application via browser 110. In the illustrated example, the application launch information includes a Uniform Resource Locator (URL) associated with a web application window and the corresponding tab. The URL identifies the location of a web based resource to be accessed from browser 110. In an embodiment, the application launch information may include a path to access a web application and parameters be passed to the web application. For example in record 702a, the URL in field 710 includes a domain name “http://www.generictimes.com/” indicating the location of a web server system hosting a web, a path to a resource, namely application script “news-paper.asp”, and a query string “section=sports” that specifies that a parameter “section” having a value of “sports” to be passed to the web application. The identified web server returns application output from the identified application to computing device 102, which displays the output in a browser window associated with the second tab of the 8:00 daily tab set.

In an embodiment, task period determiner 122 can be configured to compare the current time with the time periods specified in specified in field 704 for each set of tabs described in 700 and to generate an output identifying a task identifier (e.g., the descriptive task name) for a set of tabs when the current time corresponds to one of the specified time periods. In a further embodiment, task period determiner 122 can be configured to identify a task period by identifying one or more task trigger actions and determining if the one or more trigger action associated with the task period has occurred.

Referring again to data structure 700 in FIG. 7, record 702d represents a set of three tabs that are triggered when the action in field 704 is identified. In the illustrated example, the trigger action for the set of tabs associated with record 702d is a launch of application “program.exe” (i.e., the executable for the program) on computing device 102. Field 708 indicates that the descriptive name for the task period associated with the set of tabs is “Program Development” and field 710 of each record associated with the tab set includes the URLs for launching web based applications for opening windows associated with the tab set. In the illustrated example, tabs for windows associated with programming resources (e.g., Android™ SDK information, Java™ code examples, and a Java™ style guide) are identified as tabs to be adjusted when the program.exe programming IDE is launched on computing device 102.

In the illustrated example, a single triggering event is associated with a set of tabs. In a further embodiment, field 704 may include multiple trigger actions, and task period determiner 122 can be configured to identify a task period in response to detecting one, all, or any number of the triggering events included in field 704.

In an embodiment, task period determiner 122 can be configured to detect actions performed on computing device 102 and to identify the detected actions as candidate actions for adjusting a set of tabs. In an embodiment, task period determiner 122 can be configured to identify the startup up of application programs on computing device 102 by monitoring a program launcher or a process table maintained by an operating system executing on computing device 102. In another example, task period determiner 122 can monitor email activity to identify the sending or receiving of emails having identifying features (e.g., a specified subject line, to or from address or body content). In a further example, task period determiner can monitor the selecting of one or more tabs on browser 110 as candidate trigger actions for adjusting a set of tabs.

In a further embodiment, task period determiner 122 can receive indications of activity from systems external to computing device 102 and generating reports receivable by computing device 102. For example task period determiner 122 can be configured to identify receiving a report from a facility security system that a user of computing device 102 has left or entered the facility as a candidate action for triggering an adjustment of tabs. As a further example, task period determiner 122 can be configured to identify receipt of a signal from an emergency warning system of inclement indicating inclement weather as a candidate activity for adjusting a set of tabs.

One of ordinary skill in the art will understand based on the information herein, that task period determiner 122 can be configured to identify a variety of activities initiated by a variety of systems as candidate actions for triggering an adjustment of tabs.

In an embodiment, task period determiner 122 can be configured to compare one or more actions detected on computing device 102 with the trigger actions specified in field 704 for each set of tabs described in 700 and can be further configured to generate an output identifying a task period (e.g., by specifying the descriptive task name) having trigger action or actions that corresponds to the actions detected on computing device 102.

In the above description, URLs are used as application launch information. One of ordinary skill in the relevant arts based on the information herein will understand that embodiments may use various methods to specify application launch information. For example, computing device 102 can use a different remote procedure call technique. For example extensible markup language remote procedure (XML-RPC) requests can be used to access applications on a web server, and the application launch information can include the XML information for making the remote procedure call for a particular application.

Method 400 continues in step 404 with selecting tabs of a plurality of displayed tabs to adjust based on the task period and a task profile. In an embodiment, tab adjuster 124 may select a set of tabs of a plurality of displayed tabs to adjust based on the task period identified by task period determiner 122 and a task profile retrieved from task database 128.

Referring again to FIG. 7, data structure 700 includes a task profile for a user of computing device 102. Tab adjuster 124 may be configured to retrieve data structure 700 from task database 128 and to identify a candidate set of tabs and respective application launch information corresponding to the task period identified by task period determiner 122. Tab adjuster 124 may be further configured to select a set of tabs on browser 110 that were launched with application launch information corresponding to the application launch information for the identified candidate tabs.

Referring now to FIG. 8, data structure 800 represents information stored in one or more tables in task database 128 in an embodiment. Each record of data structure 800 corresponds to a tab available on browser 110. Field 804 of each record contains an identifier for a respective tab. Field 806 includes information indicating the display state (e.g., information describing a tabs appearance and/or location on browser 110) of a respective tab, and field 808 contains information describing the application launch information used to open the window associated with the respective tab.

In an embodiment, tab adjuster 124 can be configured to select tabs for which the application launch information in data structure 800 corresponds to the application launch information of a tab of the identified candidate set of tabs. For example, at time 8:30 AM, task period determiner 122 can identify task period “Morning Routine” as the current task period based on information in data structure 700. Tab adjuster 124 can identify URLs “https://corporate.com/email/jones” and “http://www.generictimes.com/news-paper.asp/?section=sports” as application launch information for a candidate set of tabs for adjusting based on the identified task period and the profile information in data structure 700. Tab adjuster 124 can the select browser tabs with identifiers 0001 and 0002 for adjustment based on information for tabs presented on browser 110 included in data structure 800.

In an embodiment, selecting the task to display can include spawning a new window and an associated tab on browser 110. Tab adjuster 124 may be configured to spawn a new task window with associated tab in browser 110, when a tab of a candidate set of tabs identified by tab adjuster 124 has associated application launch information that does not correspond to application launch information for a tab presented on browser 110. In a further embodiment, tab adjuster 124 may be configured to launch browser 110 if browser 110 is not currently active on computing device 102.

For example, task period determiner 122 may identify task period “Program Development” as the current task period in response to detecting the launching of the Programming IDE, based on information in data structure 700. Tab adjuster 124 can identify URLs “http://developer.android.com/guide/index.html”, “http://www.javasnippets.com/examples”, and “http://www.javainfo.com/styleguide.html” as application launch information for a candidate set of tabs for adjusting based on the task period and the profile information using the methods described above. Tab adjuster 124 may select browser tabs with identifiers 0003 and 0004 presented on browser 110 for adjustment based on information for tabs presented on browser 110 included in data structure 800. in the illustrated example, data structure 800 does not include information corresponding to a tab having application launch information for accessing the Java style guide, namely “http://www.javainfo.com/styleguide.html”, because a corresponding window and tab are not presently available on browser 110. Tab adjuster 124 can be configured to open a browser window and tab on browser 110 for the Java style guide using the corresponding application launch information in data structure 700, and can be further configured to select the newly opened tab for adjusting.

In a further embodiment, task period determiner 122 can be configured to open new tabs based on application launch information in data structure 700 regardless of the presence of a corresponding tab opened on browser 110 and to select the newly opened tabs for adjusting.

Method 400 continues in step 406 with adjusting the selected tabs on the display. In an embodiment, tab adjuster 124 can be configured to adjust the set of tabs selected in step 404. Various methods for changing the appearance and location of the tabs in the selected set of tabs. Example methods for adjusting a set of tabs will be scribed with reference to FIGS. 1, 2, 3, and 4.

FIGS. 2 and 3 illustrates tabs in an example tabbed browser 200 according to an embodiment. Tabbed browser 200 is managed by the tasked based tab management system shown in FIG. 1. FIG. 2 shows several tabs on browser 200 at time 12:00. In the illustrated example, time 12:00 corresponds to a previous task period in which tabs 208 and 210 were adjusted. Browser tab 202 is located at the far left of tab area 214 and is a wide tab, browser tabs 204, 206, and 212 are narrow tabs located at various positions in tab area 214 and are narrow tabs. Browser tabs 208 and 210 are clustered together and are wide tabs having a color different from the other tabs in tab area 214.

FIG. 3 illustrates the tabs on browser 200 at time 3:00 PM. At 3:00 PM, task period determiner 122 of task based tab management system 120 identifies that task period “Progress Report” is active and tab adjuster 124 selects tabs 204, 206, and 212 of browser 200 as tabs to be adjusted using the methods described above with reference to FIG. 4.

In an embodiment, tab adjuster 124 can be configured to adjust the selected tabs by clustering the selected tabs. For example, tab adjuster 124 can be configured to move tabs 204, 206, and 212 are moved from their previous positions in which the tabs were arranged along the length of tab area 214 as shown in FIG. 2, to a position as shown in FIG. 3, where the selected set of browser tabs 204, 206, and 212 are arranged in a cluster at the far left of tab area 214.

In an embodiment, tab adjuster 124 can be configured to adjust the selected tabs by changing the width of the selected tabs. For example, as shown in FIG. 3, tab adjuster 124 can be configured to set the width of tabs 204, 206, and 212 to be greater than that of all of the tabs that were not selected by tab adjuster 124.

In an embodiment, tab adjuster 124 can be configured to adjust the selected tabs by changing the color of the selected tabs. For example, as shown in FIG. 3, tab adjuster 124 has set tabs 204, 206, and 212 to a color distinct from a color of the tabs that were not selected by tab adjuster 124. In the illustrated example tabs 204, 206, 212 have been set to a shade of grey distinct from the grey and white of the remaining tabs, but the selected tabs can be changed using any colors and/or shading that distinguishes the tabs from the remaining tabs.

One of skill in the relevant art will understand based on the description herein that a variety of methods can be used to adjust the selected set of tabs to distinguish them from non selected tabs. For example, tab adjuster 124 may be configured to move the selected set of tabs to a second tab area located in a different area of the browser than tab area 214. As another example, tab adjuster 124 can be configured to adjust the selected set of tabs to a different shape than the remaining tabs. As a further example, adjusting the selected tabs may include making visible to the user any tabs of the selected set of tabs are hidden. Tabs may also become animated.

In an embodiment, multiple methods for adjusting tabs may be combined and applied to a set of selected tabs. For example, in FIG. 3, tab adjuster 124 has adjusted tabs 204, 206, and 212, by applying clustering, width adjusting, and color adjusting, and relocating to tabs 204, 206, and 212.

Tab adjuster 124 may be configured to perform the adjustments of sets of tabs in a manner that emphasizes or draws the user\'s attention to the tabs being adjusted. For example, tab adjuster 124 may be configured to perform clustering or moving of a set of tabs by showing an animation of the tabs in the selected set moving to their clustered or new locations, changing to a new color or changing to a new width. In another example, tab adjuster 124 may cause a selected set of tabs to flash for a predetermined period by intermittently changing the color of the selected set of tabs to a different color and restoring the color of the set of tabs.

FIG. 5 is a flow chart illustrating an exemplary method 500 of an embodiment. For ease of explanation, method 500 will be described with respect to system 100 of FIG. 1 and the tab systems shown in FIGS. 2 and 3. However, it is noted that embodiments of the method are not intended to be limited thereto.

Method 500 begins in step 502 with determining a task period. In an embodiment, task period determiner 122 may be configured to identify a task period using methods similar to those described above with reference to step 402 of method 400. Method 500 continues in step 504 with selecting a first set of tabs of a plurality of displayed tabs to adjust based on the task period and a task profile.

In an embodiment of tab adjuster 124 may select a first set of tabs of a plurality of displayed tabs to adjust using methods similar to those methods used to select a set of tabs described above with reference to step 404 of method 400.

Method 500 continues in step 506 with selecting a second set of tabs of a plurality of displayed tabs to adjust based on the task period. In an embodiment, tab adjuster 124 may be configured to select all of the remaining tabs presented on browser 110 that do not correspond to the tabs in the task period selected by task period determiner 122 as a second set of tabs. For example, tab adjuster 124 may be configured to identify all the presented tabs based on presented tab information stored in data structure 800 shown in FIG. 7, and to identify select as the second set of tabs, all tabs in data structure 800 that do not correspond to tabs in the first selected set based on the time period.

In another embodiment, tab adjuster 124 may be configured to select the tabs associated with a previously determined task period as the second set of tabs. For example, tab adjuster 124 can be configured to identify the tabs selected for a previous task period based on information in tab state data structure 800.

In another embodiment, tab adjuster 124 can be configured to select the tabs associated with an upcoming task period as the second set of tabs. For example, determiner 122 can be configured to identify an upcoming task period based on information in the data structure 800, and tab adjuster 124 can be configured to select the tabs corresponding to the upcoming task period as a second set of tabs.

In another embodiment, task period determiner 122 can determine a second task period based on detecting a newly received trigger corresponding to a second task period based on methods similar to those described above in step 402 of method 400 and tab adjuster 124 can be configured to select a second set of tabs that corresponds to the second task period. One of skill in the relevant art will understand based on the description herein that there are various ways of selecting a second set of tabs for adjusting.

Method 500 continues in step 508 with adjusting the display of the first and second tabs wherein the first set is adjusted in a second manner and the second set of tabs is adjusted in a second manner. For example, tab adjuster 124 may adjust the first set of tabs in a first manner using methods similar to those described above with reference to step 406 of method 400. Tab adjuster 124 may be configured to adjust the second set of tabs in a variety of manners.

In an embodiment, tab adjuster 124 can be configured to adjust the second set of tabs by adjusting one or more of the width, color, location, appearance of the second set of tabs. In FIG. 2, tabs 204, 206, and 212 are a first set of tabs, and tabs 208 and 210 are a second set of tabs. In FIG. 3, the first set of tabs has been adjusted in a first manner by changing the color of the tabs to a common color, increasing the width of the tabs, and clustering the first set of tabs at the left of tab area 214. The second set of tabs has been adjusted in a second manner by moving the tabs away from the area of the first set of tabs, reducing the width of tabs in the second set to be smaller than the width of the first set of tabs, changing the color of tabs 208 and 210 to a color distinct from the first set of tabs, and un-clustering the tabs of the second set.

In a further embodiment, adjusting the tabs of the second set may include hiding the tabs of the second set so that the second set of tabs are not visible to a user, while adjusting the tabs of the first set may include making visible to the user any tabs of the first set that are hidden.

One of skill in the relevant arts will appreciate that the tasks of the first and second sets can be adjusted in various manners. In an exemplary embodiment, the tabs of the first set can be adjusted by clustering tabs in one tab area, while the second set of tabs can be clustered in a second area distinct from the first area. In another embodiment, the tabs of the second set can be clustered adjacent to the tabs of the first set. In a further embodiment, the tabs of the second set can be adjusted to be colored differently and/or to have different widths from tabs of the first set and from tabs presented on browser 200 that are in neither the first or the second set.

FIG. 6 is a flow chart illustrating an exemplary method 600 for creating a task profile in an embodiment. Method 600 will be described with respect to system 100 of FIG. 1 and the tab systems shown in FIGS. 2 and 3. However, it is noted that embodiments of the method are not intended to be limited thereto.

Method 600 begins in step 602 with recording trigger actions detected on a computing device. In an embodiment, task profiler 126 may identify activities on computing device 102 and record information associated with the identified activities in task database 128. The recorded activities may be candidate trigger actions for a task profile to be created. The identified activities may include actions such as user behavior (e.g., launching of applications, focused tab windows), automated events performed on computing device 102, and notification of activities performed elsewhere and received by computing device 102. In an embodiment, task profiler 126 may identify activities of computing device 102 using methods similar to those described as being performed by task period determiner 122 in method 400 described above.

Data structure 900 illustrated in FIGS. 9A, 9B, and 9C is an example data structure that can represent one or more tables stored in database 128 for recording activities by task profiler 126. FIGS. 9A, 9B, and 9C show example activities identified and recorded during a period spanning Dec. 15, 2010 and Dec. 16, 2010 by an embodiment of task profiler 120. Each record of example data structure 900 contains information corresponding to an identified activity. In example data structure 900, field 904 contains a unique activity ID for each identified activity. Fields 906 and 908 contain the starting and ending time for an identified activity. Field 910 contains a description of the type of activity identified, and field 912 includes information related to the identified activity. Example field 914 contains a description of related actions performed in associated with the respective identified activity.

Referring to FIG. 9A, for the record for the identified activity with ID 0001, data structure 900 indicates that the activity is a building security notification indicating that Sam Smith has entered building 132. The record of data structure 900 for the identified activity with ID 0002 represents the startup of a browser on computing device 120.

Method 600 continues in step 604 with recording browser tab activity. In an embodiment, task profiler 126 can be configured to monitor activity on browser 110 and to identify activities on browser 110 computing device 102 and to record information associated with the identified browser activities in task database 128. Task profiler 126 can be configured to record the activity in data structure 900. Referring again to FIG. 9A, for the record for the identified activity with ID 0003, data structure 900 indicates that the respective activity is opening of a browser window on browser 110 on computing device 102. The record of data structure 900 for the identified activity with ID 0004 indicates that the respective activity is opening of a second browser window on browser 110 on computing device 102. Fields 914 of the two records describe browser activity of tabbing between the two open browser windows.

Method 600 continues in step 606 with identifying task periods. In an embodiment, task profiler 126 can be configured to retrieve stored information related to activities on computing device 102 and to identify task periods based on the stored information and to generate a task profile.

In an embodiment, various methods for identifying task periods may be used. For example, task profiler 126 can be configured to identify activities occurring within a predetermined period prior to browser activities as candidate task periods. For example, task profiler 124 can be configured to identify building security activity with ID 0001 and browser launch activity with ID 0002 occur within a short time (e.g., less than 10 minutes) of opening a browser window. In an embodiment, task profiler 126 can identify the browser launch action and the building security report as candidate task periods.

In an embodiment, task profiler 126 can be configured to recognize the time of day for a candidate task period as a candidate task period. For example, task profiler 126 can be configured to identify the time of a candidate task as a candidate trigger. For example, task profile may identify the time of occurrence of the build security activity and the browser launch activity at 8:15 am and 8:22 am as candidate task periods.

In an embodiment, task profiler 126 can be configured to recognize activity associated with tabs as identifying a task period. A task period can be defined by a change in the content of a web page associated with a tab. Task profiler 126 can be configured to identify a change in the URL for a window, or a change in the text displayed in a window as indicating a change as identifying a task period.

One of skill in the relevant arts will understand based on the description herein, that various events may be detected and recorded by task profiler 126, and then used to identify a task period. For example, task profiler 126 can be configured to detect that spawning of a window and associated new tab from an existing browser window as identifying a task period. In an other example, task profiler 126 can be configured to identify a changing the focus to a new tab as an event signaling a task period.

In an embodiment, task period determiner 122 may be configured to detect any event specified as a trigger in a task profile by task profiler 126. For example, task period determiner 122 can be configured to recognize activity associated with tabs such as changes in content of a web page associated with a tab, spawning of a tab and associated window, and a change in a focus on a tab as events identifying a task period.

In an embodiment, task profiler 126 can be configured to identify candidate repetition periods for task periods of the profile by identifying repeated occurrences of an identified activity. Referring now to FIG. 9B, a building security report that Sam entered building 132 and the launch of browser are repeated as activities 0023 and 0024 one day after similar task 0001 and 0002 were identified. Task profiler 126 may be configured to identify a candidate period of daily for time of day task periods associated with the building security report and browser launch.

In an embodiment, task profiler 126 can be configured to display information related to candidate task periods in a user interface displayed on computing device 102 and to receive user input via the user interface that one or more candidate activities as signals for a task periods. In a further embodiment, a user may specify additional information related to a task period such as a descriptive task name, and a repetition period (e.g. daily, weekly, on weekdays, or monthly) through a user interface provided on the display of computing device 102. For example, a user may reject the build security report and the browser launch activities shown in FIG. 9A as task periods, and identify time of day (e.g. 8:15) as indicating a task period for adjusting tabs. In an embodiment, a user may identify multiple candidate tasks as triggers for a task period.



Download full PDF for full patent description/claims.

Advertise on FreshPatents.com - Rates & Info


You can also Monitor Keywords and Search for tracking patents relating to this Temporal task-based tab management patent application.
###
monitor keywords

Google Inc. - Browse recent Google patents

Keyword Monitor How KEYWORD MONITOR works... a FREE service from FreshPatents
1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored.
3. Each week you receive an email with patent applications related to your keywords.  
Start now! - Receive info on patent apps like Temporal task-based tab management or other areas of interest.
###


Previous Patent Application:
System and method for selecting and displaying webpages
Next Patent Application:
Temporal task-based tab management
Industry Class:
Data processing: presentation processing of document
Thank you for viewing the Temporal task-based tab management patent info.
- - - Apple patents, Boeing patents, Google patents, IBM patents, Jabil patents, Coca Cola patents, Motorola patents

Results in 0.57874 seconds


Other interesting Freshpatents.com categories:
QUALCOMM , Monsanto , Yahoo , Corning ,

###

Data source: patent applications published in the public domain by the United States Patent and Trademark Office (USPTO). Information published here is for research/educational purposes only. FreshPatents is not affiliated with the USPTO, assignee companies, inventors, law firms or other assignees. Patent applications, documents and images may contain trademarks of the respective companies/authors. FreshPatents is not responsible for the accuracy, validity or otherwise contents of these public document patent application filings. When possible a complete PDF is provided, however, in some cases the presented document/images is an abstract or sampling of the full patent application for display purposes. FreshPatents.com Terms/Support
-g2--0.7759
Key IP Translations - Patent Translations

     SHARE
  
           

stats Patent Info
Application #
US 20120331407 A1
Publish Date
12/27/2012
Document #
13165583
File Date
06/21/2011
USPTO Class
715760
Other USPTO Classes
International Class
06F3/048
Drawings
12


Your Message Here(14K)



Follow us on Twitter
twitter icon@FreshPatents

Google Inc.

Google Inc. - Browse recent Google patents

Data Processing: Presentation Processing Of Document, Operator Interface Processing, And Screen Saver Display Processing   Operator Interface (e.g., Graphical User Interface)   Mark Up Language Interface (e.g., Html)