The present disclosure relates generally to the field of smart phones, and more particularly to optimization of smart phone usage.
Recent studies indicate that “screen time” now occupies 90% of discretionary time, with much of that time spent on smart phones. This large allocation of discretionary time to our phones results in many cases of time being diverted away from other, more important, goals. These goals might include something as simple as calling one's parents to check in, studying in pursuit of educational advancement, volunteering time at a favorite charity, or simply getting more sleep.
Spending too much time on apps is not helped by companies that make more money the longer a user stays on their platforms. These companies design their apps and web sites to keep users on their platforms for as long as possible. While ultimately, it is up to the user to choose whether or not they spend time on any given platform, often times users are simply unaware of the amount of time they are spending on any particular platform and the life-tradeoffs they are making by missing out on more highly valued, activities. With so much discretionary time being used on our phones or other computing devices, it is easy to see that more productive endeavors, like studying, exercise, or face-to-face socializing, might get less attention than they merit.
According to one example embodiment, there is described a smart phone usage monitoring and management system including a data collection process operating on a smart phone client application (“app”) to collect data related to the usage of a smart phone. This usage data includes, in one example embodiment, data concerning the operational modes of the smart phone, data from or about apps executing on the smart phone, data from or derived from devices operating on the smart phone, and other data. Devices include, in one example embodiment, a GPS receiver or an accelerometer, used to produce GPS coordinates or detect motion of the smart phone. According to one embodiment, the collected data is streamed to a cloud-based server that executes one or more processes to store and transform the usage data into a usage profile for the smart phone, and notifications that can be returned to the smart phone. In one example embodiment, a usage notification causes a change in an operational mode or capability of the smart phone, or a message to be displayed to a user of the smart phone. In another embodiment, processes on the server generate a summary of the smart phone usage data. According to another example embodiment, the smart phone usage data is applied to a machine learning system to transform this data into information useful to provide notifications to a user of the smart phone. According to another example embodiment, the smart phone app displays a usage profile that constitutes a percentage of success against usage goals established by the user, and progress toward usage goals configured by the user. According to another example embodiment, usage goals are associated with a user's goals to perform certain beneficial activities, and a profile is displayed showing how usage of the smart phone corresponds to those activities.
According to one example embodiment, as illustrated in diagrammatic form in
In one example embodiment, the message sent to the smart phone 12 is used to control an operational capability of the smart phone. In example embodiments, capabilities to control with a message include enabling or disabling the operation of an app installed on the smart phone. In other example embodiments, the messages sent to the smart phone are intended to be delivered to a user of the smart phone. Such messages, in one embodiment, are intended to influence use of the smart phone, for example by encouraging or “nudging” the user toward certain uses or non-uses of the smart phone.
According to one example embodiment, a nudge manager function 30 determines if the smart phone 12 is eligible to receive an N-type nudge specified by eligible nudge profile 28. If one of the N-type nudge messages in the eligible nudge profile 28 is ranked highest among eligible nudge messages, and if the maximum number of N-type messages have not yet been received during a specified period of time, the nudge manager function 30 directs that the N-type nudge message be sent to the smart phone 12 by an N-type nudge function 38. A notification receiver 40 deployed on smart phone 12 receives the respective N-type nudge message and presents the message on a user interface 215 of the smart phone 12. The user of the smart phone 12 can view the message, and also, to view a corresponding score representing the degree to which the N-type usage goal has been achieved for the smart phone 12 during a particular period, such as a given day. In one example embodiment, a day begins at 12:00 AM and lasts to 12:00 PM, but a day may begin and end on other cycles of more or less than 24 hours in length, for example a day may be from 5:00 AM to 12:00 PM.
The functions described above are, in one example embodiment, constituted by one or more software components including computer program code, wherein the software components cooperate to provide the described functionality. According to one example embodiment, the software components are located remotely from one another, such as one component located on the smart phone while another is located on one or more remote servers on the internet, or as alternately referred to, in the cloud.
Referring now to
Referring now to
Referring now to
As illustrated in
According to another embodiment, the usage management process 212 monitors the phone's operational mode to detect when the phone transitions from a doze/sleep mode into an awake mode and vice versa. According to one embodiment, the transition is captured and logged in the database 222 of server 220. According to another example embodiment, app usage data 214 concerning what apps were used and when and where were they used, is obtained by usage management process 212. According to one embodiment, process 212 is configured to receive usage data 214 for a specific list of apps on the smart phone 12. According to one embodiment, the list is maintained in a database 222 on server 220. The characteristics and/or attributes of each app are stored and used to assist in gathering and interpreting data from each respective app. According to another example embodiment, apps are categorized by type of activities they represent, and these categories are then used in part to summarize smart phone usage, and by proxy, the smart phone user's activities.
Usage data 214 is used, in one example embodiment, to determine if the usage of any given app, or overall usage, is consistent with user's preferences for phone usage. Accordingly, in example embodiments, the smart phone usage monitoring and management system tracks “digital decisions” of a user and identifies areas where the user is being consistent with their goals and areas where they aren't. For example, if the user spends time on a reading app, and the user has a learning preference for his or her educational usage goals, then such usage would be count toward that goal. On the other hand, if the usage of the smart phone was time on a social media app, and not enough time on an app in the education category/subcategory of usage in their preferences, the user may receive a notification that his or her usage is inconsistent with their educational usage goals.
A process 224 on server 220 receives the stream of usage data 214 from usage management process 212 and stores it in a database 222. According to one example embodiment, the smart phone 12 and server 220 track, collect and/or store context data that is used in analysis of smart phone usage. Such context data includes, in one example embodiment, data indicative of the location of the smart phone 12 and time of day. According to one example embodiment, this context data, along with other usage data 214 such as app usage, is used as described herein below, to determine a notification to issue to a user. For example, a notification, in one example embodiment, is based on the location of the smart phone 12, and presumably also the user of the phone, the time of day, and the app being used by the user. For example, if the smart phone 12 is being used to view screens of the Facebook® app at 2 A.M., a notification suggesting it would be wise to go to bed/sleep, would be better compared to a notification suggesting to call a friend in a list of social contacts the user wants to keep up with. According to this example embodiment, the absence of phone usage in the nighttime is used as a proxy for a phone user's sleep cycle. In another example embodiment, usage management process 212 is configured to obtain data from a pedometer app that determines how many steps or how far a user has walked to assess a user's level of physical activity.
Server process 224 provides data from the database 222 to one or more of a plurality of specialized cloud functions 230 to handle tasks to process the usage data 214. In addition, server process 224 can export some or all of the usage data 214, for example stored in the database 222, to an artificial intelligence/machine learning system 250, described in more detail below, that can be deployed on server 220 or one or more other servers. According to one example embodiment, cloud functions include various functions to perform operations on the usage data 214. These functions include, in one example embodiment, a summary function to summarize the usage data 214 and assemble a usage profile, indicating a usage of the smart phone and by proxy the activities of the smart phone's user. The usage profile is, in one example embodiment, usage of the smart phone during any given period or periods of time. According to another example embodiment, a usage profile is based on the last seven days of usage data 214 and based on data for the current day.
Cloud functions 230 also, in one example embodiment, take the form of notification functions, that determine a notification (also referred to as “nudges” herein) to send to a user based on user configuration data stored in database 222 and configured through the user interface 215 (described in detail below with reference to
Referring now to
According to one example embodiment, for physical activity usage goals 410, users can configure preferences for sleep and exercise. In one example embodiment, a user sets how many hours of sleep they would like to get each night and how important sleep is to them on a 1-10 scale. According to another example embodiment, a user sets an exercise goal for how many times a week they would like to get exercise, and how important exercise is to them on a 1-10 scale. According to other example embodiments, other physical activity usage goals 410 are configured.
According to another example embodiment, for social activity usage goals 420, users can configure preferences for keeping in touch and events to attend. In one example embodiment, a user specifies up to five people that they would like to stay in touch with throughout the month. According to another example embodiment, a user specifies how many events they would like to attend each month, as for example might be learned of from a service like Google® Places®. According to other example embodiments, other social activity usage goals 420 are configured.
According to another example embodiment, for educational usage goals 430, users can configure preferences for topics to learn and/or skills to acquire. In one example embodiment, a user specifies one or more topics to learn, and how important they are to the user, and/or skills to acquire, and how important they are to the user. For example, a user may specify the goal to learn a new language and give it a high importance rating. According to another example embodiment, a user may specify a goal of spending time in the library or at school. According to other example embodiments, other educational usage goals 430 are configured.
According to another example embodiment, for mindfulness usage goals 440, users can configure preferences for meditation and spirituality. In one example embodiment, a user sets how much time a day or week they would like to spend in reflection and meditation. According to another example embodiment, a user sets how much time a day or week they would like to spend on spirituality, and a location for this activity, such a place of worship. According to other example embodiments, other mindfulness usage goals 440 are configured.
Referring now to
According to one embodiment, illustrated in
According to one example embodiment, illustrated in
According to one example embodiment, an artificial intelligence process, illustrated in
Referring now to
If the user chooses the physical goals option, the user interface 215 offers sleep, fitness or nutrition, as illustrated in
If the user selects nutrition as a physical goal, the user interface 215 of
If the user chooses educational goals, they can choose between the options of staying sharp or learning new things, as illustrated in
If the user selects meditation as a goal, they are presented the user interface 215 of
As illustrated in
Referring to
Example Computer System
Examples, as described herein, may include, or may operate on, logic or a number of components, modules, or mechanisms. Modules may be hardware, software, or firmware communicatively coupled to one or more processors in order to carry out the operations described herein. Modules may hardware modules, and as such modules may be considered tangible entities capable of performing specified operations and may be configured or arranged in a certain manner. In an example, circuits may be arranged (e.g., internally or with respect to external entities such as other circuits) in a specified manner as a module. In an example, the whole or part of one or more computer systems (e.g., a standalone, client or server computer system) or one or more hardware processors may be configured by firmware or software (e.g., instructions, an application portion, or an app) as a module that operates to perform specified operations. In an example, the software may reside on a machine-readable medium. In an example, the software, when executed by the underlying hardware of the module, causes the hardware to perform the specified operations. Accordingly, the term hardware module is understood to encompass a tangible entity, be that an entity that is physically constructed, specifically configured (e.g., hardwired), or temporarily (e.g., transitorily) configured (e.g., programmed) to operate in a specified manner or to perform part or all of any operation described herein. Considering examples in which modules are temporarily configure each of the modules need not be instantiated at any one moment in time. For example, where the modules comprise a general-purpose hardware processor configured using software; the general-purpose hardware processor may be configured as respective different modules at different times. Software may accordingly configure a hardware processor, for example, to constitute a particular module at one instance of time and to constitute a different module at a different instance of time. Modules may also be software or firmware modules, which operate to perform the methodologies described herein.
Examples, as described herein, may include, or may operate by, logic or a number of components, or mechanisms. Circuit sets are a collection of circuits implemented in tangible entities that include hardware (e.g., simple circuits, gates, logic, etc.). Circuit set membership may be flexible over time and underlying hardware variability. Circuit sets include members that may, alone or in combination, perform specified operations when operating. In an example, hardware of the circuit set may be immutably designed to carry out a specific operation (e.g., hardwired). In an example, the hardware of the circuit set may include variably connected physical components (e.g., execution units, transistors, simple circuits, etc.) including a computer readable medium physically modified (e.g., magnetically, electrically, movable placement of invariant massed particles, etc.) to encode instructions of the specific operation. In connecting the physical components, the underlying electrical properties of a hardware constituent are changed, for example, from an insulator to a conductor or vice versa. The instructions enable embedded hardware (e.g., the execution units or a loading mechanism) to create members of the circuit set in hardware via the variable connections to carry out portions of the specific operation when in operation. Accordingly, the computer readable medium is communicatively coupled to the other components of the circuit set member when the device is operating. In an example, any of the physical components may be used in more than one member of more than one circuit set. For example, under operation, execution units may be used in a first circuit of a first circuit set at one point in time and reused by a second circuit in the first circuit set, or by a third circuit in a second circuit set at a different time.
Machine (e.g., computer system) 1100 may include a hardware processor 1102 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), a main memory 1104 and a static memory 1106, some or all of which may communicate with each other via an interlink (e.g., bus) 1108. The machine 1100 may further include a display unit 1110, an alphanumeric input device 1112 (e.g., a keyboard), and a user interface (UI) navigation device 1114 (e.g., a mouse). In an example, the display unit 1110, input device 1112 and UI navigation device 1114 may be a touch screen display. The machine 1100 may additionally include a storage device (e.g., drive unit) 1116, a signal generation device 1118 (e.g., a speaker), a network interface device 1120, and one or more sensors 1121, such as a global positioning system (GPS) sensor, compass, accelerometer, or other sensors. The machine 1100 may include an output controller 1128, such as a serial (e.g., universal serial bus (USB), parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connection to communicate or control one or more peripheral devices (e.g., a printer, card reader, etc.).
The storage device 1116 may include a machine readable medium 1122 on which is stored one or more sets of data structures or instructions 1124 (e.g., software) embodying or utilized by any one or more of the techniques or functions described herein. The instructions 1124 may also reside, completely or at least partially, within the main memory 1104, within static memory 1106, or within the hardware processor 1102 during execution thereof by the machine 1100. In an example, one or any combination of the hardware processor 1102, the main memory 1104, the static memory 1106, or the storage device 1116 may constitute machine readable media.
While the machine readable medium 1122 is illustrated as a single medium, the term “machine readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database or electronic data repository, and/or associated caches and servers) configured to store the one or more instructions 1124.
The term “machine readable medium” may include any medium that is capable of storing, encoding, or carrying instructions for execution by the machine 1100 and that cause the machine 1100 to perform any one or more of the techniques of the present disclosure, or that is capable of storing, encoding or carrying data structures used by or associated with such instructions. Non-limiting machine readable medium examples may include solid-state memories, and optical and magnetic media. In an example, machine readable media may exclude transitory propagating signals (e.g., non-transitory machine-readable storage media). Specific examples of non-transitory machine-readable media may include: non-volatile memory, such as semiconductor memory devices (e.g., Electrically Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM)) and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
The instructions 1124 may further be transmitted or received over a communications network 1126 using a transmission medium via the network interface device 1120 utilizing any one of a number of transfer protocols (e.g., frame relay, internet protocol (IP), transmission control protocol (TCP), user datagram protocol (UDP), hypertext transfer protocol (HTTP), etc.). Example communication networks may include a local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), mobile telephone networks (e.g., cellular networks), Plain Old Telephone (POTS) networks, and wireless data networks (e.g., Institute of Electrical and Electronics Engineers (IEEE) 1102.11 family of standards known as Wi-Fi®, IEEE 1102.16 family of standards known as WiMAX®), IEEE 1102.15.4 family of standards, peer-to-peer (P2P) networks, 3rd Generation Partnership Project (3GPP) standards for 4G and 5G wireless communication including: 3GPP Long-Term evolution (LTE) family of standards, 3GPP LTE Advanced family of standards, 3GPP LTE Advanced Pro family of standards, 3GPP New Radio (NR) family of standards, among others. In an example, the network interface device 1120 may include one or more physical jacks (e.g., Ethernet, coaxial, or phone jacks) or one or more antennas to connect to the communications network 1126. In an example, the network interface device 1120 may include a plurality of antennas to wirelessly communicate using at least one of single-input multiple-output (SIMO), multiple-input multiple-output (MIMO), or multiple-input single-output (MISO) techniques. The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine 1100, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software. A computer-readable medium can comprise a non-transient storage medium or a transient medium, such as a transmission medium.
The above detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show, by way of illustration, specific embodiments that may be practiced. These embodiments are also referred to herein as “examples.” Such examples may include elements in addition to those shown or described. However, also contemplated are examples that include the elements shown or described. Moreover, also contemplate are examples using any combination or permutation of those elements shown or described (or one or more aspects thereof), either with respect to a particular example (or one or more aspects thereof), or with respect to other examples (or one or more aspects thereof) shown or described herein.
Thus, as described above, according to one example embodiment, there is described herein a system for tracking electronic and physical smart phone activity including but not limited to location data and app usage data 114, streaming that data to a remote server, automatically interpreting and transforming that data on the remote server, and transmitting electronic control data to the smart phone.
According to one example embodiment, system 10 is used to assist users of a smart phone to develop habits and tendencies to the user's goals. According to one example embodiment, described above, a user interface 215 facilitates the configuration of electronic processes to interpret and transform the data according to user preferences. The user interface 215 is further adapted to present information and user-control features that allow for navigation through an array of user interface 215 screens adapted to receive touch entries.
This application is a continuation of and claims priority to U.S. patent application Ser. No. 16/520,636, filed on Jul. 24, 2019, the disclosure of which is incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 16520636 | Jul 2019 | US |
Child | 18158386 | US |