This application claims priority from U.S. provisional patent application No. 61/910,882 entitled "User Interface Using Graphical User Activity," filed on 2.12.2013, the entire contents of which are incorporated herein by reference.
Detailed Description
To address the foregoing problems with currently available solutions, methods, systems, articles of manufacture consistent with one or more implementations of the present subject matter may provide, among other possible advantages, a graphical representation of a carousel in a user interface of a computer-implemented time management system. The dial represents units of time and, in a preferred implementation, represents a conventional 12 hour clock face or dial. The time points of information, such as meetings, calls and tasks, relative to units of time are displayed in the carousel.
In particular, a time management system for a computing device is described herein in which time-based information, such as events like meetings, calls, and tasks, is displayed in a graphical user interface having a graphical carousel of units representing time. The dial is preferably circular to represent a standard clock face, such as a 12 hour clock face. The outer region of the dial represents units of time, such as 12 hour and/or 15 minute increments. The inner region of the dial, surrounded by the outer region, provides information about events relating to units of time, such as the start time and/or duration of each event.
Fig. 1 illustrates a time management system 100 according to some implementations of the subject matter disclosed herein. The time management system 100 is implemented as an application executed by or running on a computing device 102, the computing device 102 preferably being a mobile computing device or a wearable computer with a small display and a compelling area for displaying information in a GUI. The computing device 102 includes a graphical display 104, preferably a touch screen display. The graphical display 104 includes a carousel 106 that is graphically rendered by one or more data processors forming part of the computing device 102.
The dial 106 is preferably circular to represent a standard clock face, such as the 12 hour clock face described in fig. 1. The dial 106 includes an outer region 108 that graphically represents units of time, such as one hour and/or twelve hours. The dial 106 may represent other units of time, such as 24 hours. The units of time may be expressed in any time increment, such as one minute, five minutes, and/or 15 minutes. The display of units of time may be dynamically adjusted based on user input and controls. The events may be represented graphically on the outer region, e.g., the start time and/or duration of each event. The turntable 106 also includes an inboard region 110 surrounded by an outboard region 108. The inner area 110 provides graphical or textual information about the selected item associated with the unit of time. The item may be selected based on any of a plurality of attributes, such as the next item, or by a specified importance, or the like. The outer zone 108 may also include a time of day designator 112, such as a graphical representation of a minute hand and/or hour hand.
According to some implementations, the item associated with the carousel 106 may be designated as one of a meeting 112, a phone call 114 or other communication, and a task 116. Other designations or subcategories may be applied, such as task type, meeting type, importance or urgency of the event, number of participants to the event, event category (e.g., business meeting, social event, etc.), to-do list, or other designations. Each item may be depicted by a graphical representation such as a logo, an image of the participant, or a textual representation. As illustrated in fig. 1, each event is depicted by a small circle containing a graphical representation of the participant or location of the event, with pointers to clearly and unambiguously show the start time and/or duration of the event in terms of units of time represented by the outer region 108 of the dial 106.
Fig. 2A-E illustrate several basic features of a time management system 200 consistent with implementations disclosed herein. As shown in FIG. 2A, the time management system 200 may include a graphical representation, preferably a circle, of a carousel 202. As shown in fig. 2B, the carousel 202 includes an outer region 204 defined by an outer boundary and an inner boundary, and an inner region 206 that is a region in the GUI that is inside the inner edge of the outer region 204. The outer and inner boundaries of the outer zone 204 define a time-based interface 208, the circumference of the time-based interface 208 representing a predetermined duration, such as 12 hours, but may define any duration. The duration defined or represented by outer region 204 may be graphically subdivided into time increments, such as one hour worth of increments. The time-based interface 208 is interactive, such as a touch-sensitive area of a touch-sensitive display, in which a user may enter user commands and data input, for example, by using their finger, a stylus, or other input tool.
As depicted in fig. 2C, the outer region 204 graphically represents units of time or discrete time increments. The units of time may be units of seconds, minutes, hours, days, months, or other time. In a preferred implementation, the unit of time may be hours and the outer region 204 of the dial 202 may be divided into twelve hours (i.e., 12 o 'clock to 12 o' clock), as illustrated in fig. 2C. The representation of the units of time, i.e. from 12 hours to 24 hours or from 12 hours to one hour, may be adjusted by user input, e.g. by sliding a touch sensitive display of the display dial 202. However, in a preferred implementation, the outer region 204 displays units of time consistent with a conventional surface, i.e., 12 hours and may further represent increments of one or more minutes.
Fig. 2D illustrates that the event 212 is positioned within a particular portion of the outer region 204, thereby being associated with a particular unit or duration of time represented thereby. The transaction 212 may be any graphical representation including, but not limited to: an image, an icon, text, a geographic shape, a pointer, or any other representation. Additionally, the event may be color coded with respect to the event type, e.g., red for meetings, yellow for user calls, and green for tasks. By assigning the item to only three item types, the item may be provided with a visual environment for quick determination by the user regarding the environment. In some implementations, the user can enter text when setting up an event, and the time management system 200 can convert the text into a graphic, such as an image. For example, if the text is a name, the system 200 will automatically extract a profile image associated with the name from the user's contacts stored in a memory associated with the user's computing device. If the text is a location, such as a nearby coffee shop or coffee shop, the system 200 may search the Internet for a logo or other visual representation of the location. In this manner, the context of any item 212 depicted in the carousel, such as who the item is related to, where the item occurred, etc., can be directly and quickly discerned by the user.
Fig. 2E illustrates information that may be contained in the inner region 206 of the carousel 202. Inner area 206 may include visual cues for user input of new events or edits to existing events, as well as information about existing events (e.g., when the user's next event occurred). The inner area 206 may also be used to provide marketing or advertising information for sponsors associated with the application generating the carousel 202 or associated with an event (e.g., a location of a meeting).
Fig. 3 illustrates the main screen 10 of the application of the time management system. The application program is preferably a "mobile app", i.e. an application program that can be downloaded to the mobile computing device from an application store or the like. Such mobile apps are specifically tailored for a particular mobile computing device platform, which includes hardware such as a display screen, data processor, and battery, and firmware and software such as an operating system and other applications. The home screen 10 includes an item icon 1 displayed within, on or near an inner area of the carousel. The main screen 10 also includes an information carousel 2 displayed within the inner area of the carousel and a time carousel 3 representing a duration.
The main screen 10 further includes an event indicator (e.g., a call dial 4 indicating a telephone call or other electronic communication that is scheduled or needs to be scheduled by the user using the dial), an appointment dial 5 indicating an appointment that is scheduled or needs to be scheduled by the user, and a task dial 6 indicating a task that is scheduled and needs to be scheduled by the user. The tasks may include "to do" lists, time limits, reminders, and the like. The home screen 10 further includes a list view toggle control 7, and a time indicator 8 indicating the current time of day relative to the time dial 3. The function of these and other features will be described in more detail below.
Fig. 4A-4N illustrate various features and functions of a time management system implemented as a mobile app (hereinafter "app") running on a mobile computing device. As shown in fig. 4A, after startup, the app prompts the user to log in. Login can be accomplished directly with the app, or via a social networking service (e.g., a social networking service)) Completed or completed via email. The App also prompts the user to access user contacts, which may be stored locally on the mobile computing device or stored remotely and accessed over a communications network. Once the app has extracted this information, the information is synchronized for access by the app and use within the app.
Fig. 4B illustrates the functionality of creating a new transaction. Each time the user creates a new item, the app prompts the user to define which of a plurality of categories to associate the item with. In some implementations, the categories are defined as meetings (which may include phone calls), contacts (which require the user to physically appear), or tasks. The categories may be color coded to distinguish among category types and make a quickly identifiable reference when the app later displays each item on the carousel.
FIG. 4C illustrates rendering of an untimed indicator. A pointer on the bottom of the interface displays what the app creates from user input, but no specific date or time is assigned. When the user clicks the indicator, the app reveal represents the user's designated person or place for the event. The App may also obscure the background of the GUI in order to focus the user's attention on the deployed indicators. Fig. 4D shows a process of highlighting an event. App may represent icons on or in association with the carousel, preferably on the outer region of the carousel, by means of images or other graphics. For example, if the event is a "contacts" event 404, the app populates the associated icon with the image of the event attendee(s), which may be automatically imported from the user's contacts or newly obtained photos. If the event is a "meeting" event 406, the app populates the icon with an image or other graphical representation of the location or position of the event. The graphical representation may be an icon. The images or icons may be pre-selected or obtained by the app via an Application Programming Interface (API) to a mapping application or other geo-location function.
Fig. 4E and 4F illustrate a process for inviting contacts to an event. When the user adds a contact to the item, the app prompts the user to invite the contact to the item. If the user invites the contacts, the app notifies the invitee, preferably via a push message or other electronic notification system, and gives the invitee the option to accept or decline the invitation or request a different time and/or location. As shown in fig. 4, typically the invitee has accepted the invitation, where the invitation is received electronically by the app, which then coordinates with the app local to the invitee's mobile computing device to populate the invitee's own carousel with the accepted transactions. Thus, the user who initiated the transaction and any invitees who accepted the transaction are coordinated by the time management system.
As shown in fig. 4G, if the user clicks on the icon, the app presents user information about the item. In the example shown in fig. 4G, the call has been calendared and the app presents a "call" button within the inner region of the carousel that can be activated by the user to initiate the call. As shown in fig. 4H, the app may allow the user to edit and adjust the details of the item by the user activating an "edit" control that then directs the app to provide the details of the item to be edited within the inner region of the carousel, as shown in fig. 4I. The App also provides user-selectable edit controls along with details of the event, and the user can edit the details through the edit controls. Alternatively, to change the time of the event, as illustrated in fig. 4J, the app may allow the user to "hold" the icon representing the event and simply "drag" the icon to a new time represented by the outer region of the carousel. The App also indicates changes in time within the information carousel in the inner region and allows the user to save or cancel new time.
In some implementations, the app can be integrated with one or more other applications on the mobile computing device. For example, the app may be integrated with a location service such as a map or geo-location application. As shown in fig. 4k, if the user has selected and entered a location point within the meeting event, one or more location-based features become available to the app. For example, the app may use the geo-location service to calculate the distance to the meeting point location and the time to destination using traffic or other data, as illustrated in fig. 4L. Using the geographic location, the app can also remind the user whether the time before the arrival event is near the time to destination calculated (and dynamically recalculated or updated) by the app, in order to allow the user time to catch up with the meeting. As shown in fig. 4M, the app alerts the user whether it is near a location point set within the task or meeting area, and the alert may be displayed by the app in an inner region of the carousel. Fig. 4N shows a transaction list view generated by the app, and to which the user can navigate via the app.
As discussed above, in some implementations, the app can be integrated with other third party applications. The third party integration may be represented by an icon or other user-selectable control within an inner region of the carousel, e.g., through which the user accesses the third party application. The App may display data collected by the third party application on the carousel. Other functions (e.g., video meetings, e-commerce, taking notes, file sharing, and cloud-based file storage, etc.) may also be integrated with and accessed through the app.
Fig. 5 illustrates the functionality of switching views in a graphical user interface of a mobile application. The App interprets certain user actions on the touch-sensitive display, for example, to switch views on the display between one day, one week and one month or any other time period. For example, a user may "shrink" the display or "expand" the display to adjust the view between time periods.
Fig. 6 illustrates a graphical user interface 600 of an app of a time management system according to some implementations. App provides one or more carousels 602. Each dial 602 is preferably displayed by the app to represent a conventional 12 hour clock face or dial, with the outer area of the dial 602 including a designation of hour increments or other increments (e.g., 15 minute increments). In addition, the dial may be associated with an hour and minute hand, as in a conventional timepiece, so that the time domain represented by the outer region of the dial may have a dual meaning or representation.
The inner area of the dial 602 may display information for meetings, contacts, locations, etc. related to the event calendared using the dial 602. The outer region of the turntable 602 may be formed of one or more rings, such as an inner ring 604 and an outer ring 606, to designate twelve hours of AM and twelve hours of PM, respectively. Previous or currently calendared items for the displayed day may be shown as sections of the inner ring 604 and/or the outer ring 606. The segments extend along respective rings to specify time periods of previously or currently calendared events. The sections may be graphically differentiated according to the type of event, for example color coded with respect to the type of event, i.e., red for meetings, yellow for contacts and green for tasks.
To create or create a new event on the carousel 602, the app displays an event start time handle 608 and an event end time handle 610. In some implementations, the app defaults to displaying the event start time handle 608 at the 12 o 'clock position of the dial 602, and the event end time handle 610 may defaulted to being displayed at a period of one hour from the event start time handle 608, i.e., at the 1 o' clock position. To utilize a 24 hour day with a 12 hour wheel, if the user slides or moves the event start time handle 608 to one side or in one direction of the default position, i.e., to the left or counterclockwise, the app will represent the event start time as AM. If the user slides or moves the transaction start time handle 308 toward the opposite side or direction (i.e., clockwise), the app will represent the transaction start time as PM. The transaction end time handle 610 follows the transaction start time handle 608 to the left or counterclockwise, holding the default period, or leads the transaction start time handle 608 to the right or clockwise. The App enables the user to adjust the duration of a new event by manipulating the event end time handle closer to or farther from the event start time handle 608 to shorten or lengthen, respectively, the new event being scheduled. If the transaction end time handle 610 is placed on the opposite side of the turntable 602 from the transaction start time handle 608, the transaction will cross from AM to PM, or vice versa. Thus, using the 12-hour carousel interface, the app allows 24 hours a day to be designated and calendared.
The App may also represent separate days, such as seven days of a week, in interface 600, or the App may display adjacent weeks, months, or months by receiving one or more commands from the user (e.g., swiping across a screen). Each individual day may include one or more item specifiers 612 that represent one or more items that are scheduled for that day. In some implementations, the designator 612 may be equal to the number of transactions for that day, or may simply indicate the presence of a transaction type. Thus, the one or more transaction specifiers 612 may be color or graphically coordinated with a transaction type specification or distinction scheme used by the app.
FIG. 7 illustrates another interface 700 of a time management system according to some implementations. App provides an interface 700 for creating new events 702. The new event 702 may be selected from a set of event types 704, such as a meeting, a call, or a task. Once the event type 704 is selected, the app allows the user to select the date 706, select the time 708, select the location 710, and or select the person to invite 712 for the event. Each of the selections of date 706, time 708, location 710, and person 712 may display a specific interface for making such selections, such as displaying a contact list to select person 712, or displaying a map application to select location 710 of the event. Interface 700 may also include other functionality, such as a note taking function accessible via note button 714, a reminder function accessible via reminder options button 716, and a repeat options function accessible via repeat options button 718. These buttons may be implemented graphically on the interface or associated with a physical input device. Interface 700 may also include a confirm/cancel user command button 720, such as a home page physical button of the smartphone.
FIG. 8 illustrates yet another interface 800 of a time management system according to some implementations. The interface 800 includes an item 802 graphically represented on a dial 804, substantially as described above. The events 802 may be individually selected from a set of events graphically represented on a carousel 804 in another interface generated by the app. For each item, the app provides a note taking function that is accessible through note button 806. The App also provides in-App messages 808 that are accessible via message button 808. User selection of the messaging function may provide a messaging interface to receive text messages automatically sent to all invitees, or may initially leave the address un-written and the user can include the recipient of the message. App mid-message 808 may also automatically include other transaction related information in the message to be sent to the recipient. Thus, the app provides messaging and networking capabilities that are fully integrated with the event scheduling and time management capabilities.
The interface 800 may also include a summary view button 810 through which a user may access a summary view of the items provided by the app. The summary view may display the event date, location, and/or person associated with the event in graphical or textual form, or a combination thereof. Interface 800 may further include an item edit button 812 to enable a user to edit attributes of an item, such as a date, time, location, and/or person and/or type of item.
Once the transaction is formed or created by the app at the user's command, an invitation is sent to the invitee. For invitees that do not currently have an app on their mobile computing device, the invitation may include a link or the like for enabling the invitee to download the app to their mobile computing device. Thus, the attendees of the event (including the event creator and any invitees) are fully synchronized and coordinated with each other via the app. Future invitations may only occur via the app.
The App may also display one or more carousels, and the one or more carousels may be assigned to or associated with different people, different entities, different items, etc. The App enables the user to switch between two or more carousels by graphically displaying the two or more carousels and highlighting the selected carousel.
One or more aspects or features of the subject matter described herein can be implemented in digital electronic circuitry, integrated circuitry, a specially designed Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), computer hardware, firmware, software, and/or combinations thereof. These various aspects or features may include implementations in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable or programmed data processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device. The programmable or computing system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer software running on the respective computers and having a client-server relationship to each other.
These computer programs, which may also be referred to as programs, software applications, components, or code, include machine instructions for a programmable processor and may be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the term "machine-readable medium" refers to any computer program product, apparatus and/or device for providing machine instructions and/or data to a programmable processor, such as magnetic disks, optical disks, memory, and Programmable Logic Devices (PLDs), including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and/or data to a programmable processor. A machine-readable medium may store such machine instructions non-transitory, such as, for example, a non-transitory solid-state memory or a disk drive or any equivalent storage medium. The machine-readable medium may alternatively or additionally store such machine instructions in a transient manner, such as caching processors or other random access memory associated with one or more physical processor cores.
To provide for interaction with a user, one or more aspects or features of the subject matter described herein may be implemented on a computer having a display device, e.g., a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), or a light emitting diode monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user may provide input to the computer. Other kinds of devices may also be used to provide for interaction with the user. For example, feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user may be received in any form, including but not limited to acoustic, verbal, or tactile input. Other possible input devices include, but are not limited to: a touch screen or other touch sensitive device such as a single or multi-point resistive or capacitive track pad, voice recognition hardware and software, an optical scanner, an optical pointer, a digital image capture device and associated interpretation software, and the like.
The subject matter described herein may be implemented in systems, apparatuses, methods, and/or articles depending on a desired configuration. The implementations set forth in the foregoing description do not represent all implementations consistent with the subject matter described herein. Rather, they are merely a few examples consistent with aspects related to the described subject matter. Although a number of variations have been described in detail above, other modifications or additions are possible. In particular, further features and/or variations may be provided in addition to those set forth herein. For example, the implementations described above may be directed to various combinations and subcombinations of the disclosed features and/or combinations and subcombinations of several further features disclosed above. In addition, the logic flows depicted in the figures and/or described herein do not necessarily require the particular order shown, or sequential order, to achieve desirable results. Other implementations may be within the scope of the following claims.