The present invention relates generally to online task lists shared at a household or network level. The invention relates more particularly to systems and methods for providing reminders in a user-created task list.
Various embodiments of systems and methods for providing reminders in a user-created task list are described. An exemplary method for providing reminders in the user-created task list may include several steps. At least a portion of a user-created task list may be received from an Internet service via a user interface between an end user and the Internet service. The user-created task list includes one or more tasks organized into one or more categories. An intermediary display is generated, wherein the intermediary display includes a first subset of the one or more tasks, and the generated intermediary display may be transmitted via the user interface to the end user.
An exemplary system for providing reminders in a user-created task list may include a user interface between an end user and an Internet service that receives at least a portion of the user-created task list, where the user-created task list includes one or more tasks organized into one or more categories and the Internet service stores the user-created task list. The exemplary system may also include a processor for executing instructions stored in memory to generate an intermediary display that includes a first subset of the one or more tasks and transmit the generated intermediary display via the user interface to the end user.
Various embodiments of the present invention provide a method and system for providing reminders in a user-created task list. One or more end users may wish to collaborate on a user-created task list and receive reminders online regarding tasks on the task list. An exemplary system for providing reminders in a user-created task list may include an Internet service that may be coupled to an Internet service provider. The Internet service may store the user-created task list. The system may also include a user interface between an end user and the Internet service that receives at least a portion of the user-created task list, which includes one or more tasks organized into one or more categories. The exemplary system may also include a processor for executing instructions stored in memory to generate an intermediary display that includes a first subset of the one or more tasks and transmit the generated intermediary display via the user interface to the end user.
Generally speaking, an administrator may create and enforce task list polices for one or more end users that utilize computing devices coupled to an Internet service delivered to a location such as a home, residence or place of business or campus. The term “administrator” may include not only individuals, such as parents, but also any individual creating task list policies regarding the Internet service delivered to end users. It will be understood that an administrator may also be an end user, although end users who are not also administrators may not create or apply policies.
It will be further understood that because of the diversity of computing devices that may connect to the Internet service, the policy may be applied to the Internet service rather than requiring the policy to affect each computing device individually, such as a mediation application resident on each computing device. In various exemplary embodiments a policy may also reside as a stand alone application on one or more of the computing devices.
Exemplary user devices for use with the disclosed systems may have an app. As used herein, an app shall be defined as a module including a user interface to an Internet service. The app may further include one or modules included in the Internet service. An app may be downloaded and installed on a user's computing device, including mobile devices. Users may define a task list policy via a user device, such as through the user interface. Some embodiments of the present invention do not require software to be downloaded or installed locally to the user device and, accordingly, do not require the user to execute a de-install application to cease use of the system.
The Internet service may be provided by an Internet service provider, for example, and the Internet service, which may utilize a DNS resolver (such as the DNS resolver 810 of
At step 120, an intermediary display is generated by the task policy, wherein the intermediary display comprises a first subset of the one or more tasks. The first subset of the tasks may include the same tasks as the user-created task list, or a smaller set of the one or more tasks. Furthermore, the portion of the user-created task list received may be customized to include any portion desired by an end user, and may include, for example, all the tasks apportioned to a particular end user (e.g., a particular member of the family), or the tasks apportioned to all of the end users in a certain time frame (e.g., the tasks to be done that morning, day, or week).
The format of the intermediary display may be determined during step 120. The intermediary display, as described below, may take the form of a web page, a pop-up window, an overlay, a message, or a substantially unobtrusive tab or icon that appears on the display of the user device. In various embodiments of the present technology, the generated intermediary display may include the date and/or time that a task was set, as well as a description of the task. It may be appreciated that any engine, module, server, database, or any combination thereof may be used to generate the intermediary display.
The generated intermediary display is transmitted at step 130 via the user interface to the end user. In some embodiments, the intermediary display is transmitted to display on a user device of the end user via the user interface. In further embodiments, the intermediary display is transmitted to display on a web browser window or tab.
As described below in greater detail, in some exemplary embodiments, the generated intermediary display may be transmitted when a predetermined event occurs, such as when the user device is turned on or when the user accesses the internet as detected by the user interface. According to various embodiments, the generated intermediary display may be transmitted when the end user accesses an end user home page. The end user home page may be extracted from a stored browser setting file, which may advantageously facilitate use of a user-created task list application by users with less experience with software applications.
The home page access may be used to establish the start of a session interval. An administrator may choose to not display the intermediary display multiple times during a single end user session. The administrator may not want to again display the intermediary page if the end user simply leaves a user device for a brief period. Tracking the session interval may ensure that the end user is presented with the intermediary page only once per session.
The user interface module 210 provides one or more user interfaces to the end user as a result of the user-created task list application. The user interface module 210 provides a user interface between the end user and the Internet service 260, so that communications between the two are enabled. Exemplary user interfaces provided by the user interface module 210 are shown in
The Internet page monitoring module 220 may perform a step of determining whether the Internet has been accessed or whether an Internet home page has been visited by the end user. If the Internet has been accessed or an Internet home page has been visited by the end user, the event may trigger the user-created task list application to provide a reminder in the form of an intermediary display. The intermediary display generation module 230 may perform a steps of receiving the user-created task list (such as the step 110 of the method 100 described earlier herein in relation to
The architecture 200 includes a network 250 which may comprise a DNS resolver. The network 250 may also include any type and number of databases, servers, end users, computing devices, and policy engines. The task list may be stored and/or amended using the Internet service 260. It will be appreciated by one skilled in the art that the system in
Please note that although
In some embodiments, the end user may indicate on the intermediary display that a task has been completed. In the exemplary embodiment shown in
Variations of the intermediary display may be utilized in addition to the embodiment displayed in
One or more additional tasks, wherein each additional task 530 is associated with a category 540, may be input by the end user using the configuration user interface 500. The additional tasks 530 may be added to the user-created task list to form a modified task list. In an exemplary embodiment, each additional task 530 may be associated with a description that includes information about the task, such as a deadline time and/or date and a written explanation of what the task entails. The category 540 may be any of the categories described above, and may also be customized by the end user to include any suitable category title (e.g., by providing a text prompt that the end user may type in the desired category name). The category 540 may also be preloaded or otherwise stored as part of the user-created task list application, so the end user may select from a preloaded list using a drop-down menu or other suitable interface.
Any suitable presentation may be used for additional tasks. For instance, as depicted in
Returning again to
An end user may desire to send or receive external notifications (such as email reminders and/or reminders by text message) to indicate when tasks have been added to the user-created task list, tasks have been completed, or the user-created task list has been otherwise modified. To send an external notification, an external notification input, such as selecting or otherwise actuating the email notification box 550 may be provided by the end user. In various embodiments, when a completion input is provided, the external notification may then be transmitted. The completion input, as described above, may include selecting the OK button 560, and may cause the external notification to be transmitted when the email notification box 550 is selected. The external notification may include task completion information, which may include information relative to at least one of when the task was completed, who completed the task, and any notes the end user that completed the task would like to transmit.
Similarly, in some embodiments, the set of task completion information may also be transmitted to a reporting log when the completion input is received. The reporting log may be a user interface that includes a list of all completed task and the task completion information associated with each task, which may be advantageous for end users who like to assess the performance of the user-created task list over a period of time.
Another option that may be desirable is for the end user to access the modified user-created task list, whereby the end user may determine if a task has been added to the modified user-created task list by another end user. The user-created task list application may support this feature by transmitting the modified user-created task list via the configuration user interface 500 to the end user when a full-task input is received. The full-task input may include selecting or otherwise actuating the full task list button 570.
Furthermore, in some embodiments, a confirmation user interface may be transmitted to the end user to confirm that the additional tasks 530 (
The intermediary display may also include a button allowing an end user to provide a delay input, such as a Remind Me Later button 760 as shown in the intermediary display user interface 700. When the delay input is received, the generated intermediary display may be hidden from the end user until a predetermined condition is met. The predetermined condition may be an event detectable by the user interface 700, such as the visiting of a user home page or initializing an Internet browser application.
The systems and methods described above may typically be resident in an Internet service or a DNS network. The systems and methods described may also be implemented in plug-in utilities, gateway devices, cable modems, proxy servers, set top boxes, and network interface devices.
The dynamic enforcement engine 820 may generate its policy engine on instructions received from one or more policy modules 830. Each policy module 830 may be constructed to provide various types and levels of services to the DNS network 840. In various embodiments, a policy module 830 may be configured to handle queries directed to subjects including, but not limited to, malicious domain redirection, user access redirection, non-existent domain redirection, and data collection or analysis.
The system 900 utilizes a user interface 910. The user interface 910 may be implemented in many embodiments. One specific implementation of the user interface 910 is as a web page.
The user interface 910 may be accessed by one or more user devices 850 operated by the users 860. The user interface 910 may be accessed though a gateway user device 850 available to the users 860. Suitable user devices 850 include but are not limited to desktops, tablet, PCs, laptops, notebooks, gaming devices, IPods, Smartphone, automobile computer systems, and Internet enabled TVs. The system 900 may also be accessed and controlled remotely by user devices 850, such as a Smartphone or other specialized Internet access device. A Smartphone may be defined as a phone with computing capability. A Smartphone may provide the user 860 with Internet access.
The user interface 910 provides a mechanism for one or more authorized users 860 to establish content policy for the Internet service. The user interface 910 operates between the user devices 850 present in the system 900 and the DNS network 840. Instructions resident on the user interface 910 therefore operate on the Internet service, by controlling at least a portion of DNS resolutions via a dynamic policy engine 930, before the service reaches the displays of the user devices 850.
The user interface 910 provides the users 860 with access to one or more policy applications 920. The user interface 910 may provide access to a selection list to at least one authorized user 860. The authorized user 860 uses the selection list or some other menu mechanism to select those policy applications 920 that the user 860 chooses to apply to the system 900. The authorized user 860 may select any number of the available policy applications for use on the system 900 at any given time. In implementations utilizing Smartphones as the user device 850, the policy applications 920 are downloaded to the device 850. The device 850 then serves as the user interface 910 to communicate directly with the dynamic policy engine 930.
The policy applications 920 may prohibit access to specific Internet content. The policy applications 920 may also limit the time of day when users or selected users 860 may access certain Internet content. The policy applications 920 may also manage and analyze duration of access to Internet content. It is important to note that the policy applications 920 do not simply provide blocking mechanisms by masking or enabling network controls, but rather mediate an Internet service received by the end user. As used herein, mediating the service may include any of blocking, constraining, enabling, redirecting, promoting, demoting, substituting, obscuring, limiting, interrupting, and restricting all or a portion of the Internet service. The policy applications 920 may provide notifications or alerts to one or more users 860 when Internet content is accessed. The policy applications 920 may also provide notification of frequency and duration of access of designated Internet content. The policy applications 920 may also be used to observe, substitute, enable, redirect users, to reward behavior desired from the users by a system administrator, etc. The policy applications 920 may redirect users from a non-favored site to another site. The policy applications 920 may also collect and transmit data characteristic of Internet use.
Access policies supplied by the policy applications 920 may apply to all users 860 of the system 900, or the access policies may be specific to individual users or groups of users 860. The policy applications 920 may be discrete, single purpose applications.
The policy applications 920 provide the users 850 with a mechanism to take various actions relative to their Internet service feed. The policy applications 920 also allow the users 850 to establish a dynamic policy engine 930 that includes a user database. The policy engine 930 is used to enforce rules associated with each policy application associated with individual end users, not simply block various inappropriate Internet content from the Internet feed. Rather, the dynamic policy engine 930, controlled by the user interface 910 through user device(s) 850, is used to manage all aspects of the Internet experience for the users 860. In sum, the policy applications 920 may be used to configure the dynamic policy engine 930 to provide the users 860 with a mechanism to personalize the Internet experience. The policy applications 920 may be configured in combinations, and may each be separately configured.
The database in the policy engine 930 may be used to record and to notify users 860 of various data relative to Internet access. The data collected from and provided to the users 860 may include records of access of specific sites, time spent on specific sites, time of day of access, data specific to individual users, etc.
It should also be noted that following an initial setup through the user interface 910 of the policy engine 930, a direct access 940 enforcement loop may be established between the policy engine 930 and the user devices 850. Subsequent accessing of the DNS network 840 utilizing the direct access 940 decreases response time in the system 900, thereby further enhancing the Internet experience of the users 860. Configurations of policy applications 920 that are selected by one or more users 860 designated as system administrators may remain in the user database of the policy engine 930 until such time as it may be modified by the system administrators. The system administrators may define multiple policy configurations, with a combination of policy applications 920, applicable to one or more end users 860 of the system 900. Each policy application 920 may be separately configurable as well. Policy configurations may vary based upon designated times, conditional triggers, or specific requests from the users 860.
As indicated above, two discrete data flow paths may be established for the system 900. A first data path establishes a set of enforcement policies for the system 900. The first data path flows from at least one user device 850 through the user interface 910, to the policy enforcement engine 930. A second data path 940 may be utilized following the establishment of a set of policies for the system 900. The second data path 940 flows directly between the user device(s) 850 and the policy engine 930. Multiple sets of enforcement policies may be established and saved within the system 900 and implemented selectively by the users 860.
The components shown in
Mass storage device 1030, which may be implemented with a magnetic disk drive or an optical disk drive, is a non-volatile storage device for storing data and instructions for use by processor unit 1010. Mass storage device 1030 can store the system software for implementing embodiments of the present invention for purposes of loading that software into main memory 1010.
Portable storage device 1040 operates in conjunction with a portable non-volatile storage medium, such as a floppy disk, compact disk or Digital video disc, to input and output data and code to and from the computer system 1000 of
Input devices 1060 provide a portion of a user interface. Input devices 1060 may include an alpha-numeric keypad, such as a keyboard, for inputting alpha-numeric and other information, or a pointing device, such as a mouse, a trackball, stylus, or cursor direction keys. Additionally, the system 1000 as shown in
Display system 1070 may include a liquid crystal display (LCD) or other suitable display device. Display system 1070 receives textual and graphical information, and processes the information for output to the display device.
Peripherals 1080 may include any type of computer support device to add additional functionality to the computer system. Peripheral device(s) 1080 may include a modem or a router.
The components contained in the computer system 1000 of
Some of the above-described functions may be composed of instructions that are stored on storage media (e.g., computer-readable medium). The instructions may be retrieved and executed by the processor. Some examples of storage media are memory devices, tapes, disks, and the like. The instructions are operational when executed by the processor to direct the processor to operate in accord with the invention. Those skilled in the art are familiar with instructions, processor(s), and storage media.
It is noteworthy that any hardware platform suitable for performing the processing described herein is suitable for use with the invention. The terms “computer-readable storage medium” and “computer-readable storage media” as used herein refer to any medium or media that participate in providing instructions to a CPU for execution. Such media can take many forms, including, but not limited to, non-volatile media, volatile media and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as a fixed disk. Volatile media include dynamic memory, such as system RAM. Transmission media include coaxial cables, copper wire and fiber optics, among others, including the wires that comprise one embodiment of a bus. Transmission media can also take the form of acoustic or light waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic medium, a CD-ROM disk, digital video disk (DVD), any other optical medium, any other physical medium with patterns of marks or holes, a RAM, a PROM, an EPROM, an EEPROM, a FLASHEPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read.
Various forms of computer-readable media may be involved in carrying one or more sequences of one or more instructions to a CPU for execution. A bus carries the data to system RAM, from which a CPU retrieves and executes the instructions. The instructions received by system RAM can optionally be stored on a fixed disk either before or after execution by a CPU.
The above description is illustrative and not restrictive. Many variations of the invention will become apparent to those of skill in the art upon review of this disclosure. The scope of the invention should, therefore, be determined not with reference to the above description, but instead should be determined with reference to the appended claims along with their full scope of equivalents.
While the present invention has been described in connection with a series of preferred embodiment, these descriptions are not intended to limit the scope of the invention to the particular forms set forth herein. It will be further understood that the methods of the invention are not necessarily limited to the discrete steps or the order of the steps described. To the contrary, the present descriptions are intended to cover such alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims and otherwise appreciated by one of ordinary skill in the art. For instance, although this description describes the technology in the context of a DNS resolver, it will be appreciated by those skilled in the art that an Internet service provider may be utilized with this invention instead or in conjunction with a DNS server. Functionalities and method steps that are performed by a DNS server may be performed by an Internet service provider. Furthermore, one skilled in the art will appreciate that the term “Internet content” encompasses any content that may be accessed by a user device including but not limited to one or more web sites, domains, web pages, web addresses, one or more hyperlinks, URLs, any text, pictures, and/or media (such as video, audio, and any combination of audio and video) provided or displayed on a web page, and any combination thereof.
This nonprovisional patent application is a continuation-in-part application that claims the priority benefit of U.S. patent application Ser. No. 12/727,001 filed on Mar. 18, 2010, titled “Internet Mediation,” and provisional U.S. Patent Application Ser. No. 61/370,556, filed on Aug. 4, 2010, titled “Internet Mediation Applications,” which are hereby incorporated by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
61370556 | Aug 2010 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12727001 | Mar 2010 | US |
Child | 12897639 | US |