US20160381658A1 - Systems and methods for contextual discovery of device functions - Google Patents
Systems and methods for contextual discovery of device functions Download PDFInfo
- Publication number
- US20160381658A1 US20160381658A1 US14/754,391 US201514754391A US2016381658A1 US 20160381658 A1 US20160381658 A1 US 20160381658A1 US 201514754391 A US201514754391 A US 201514754391A US 2016381658 A1 US2016381658 A1 US 2016381658A1
- Authority
- US
- United States
- Prior art keywords
- context
- computing device
- indication
- user
- based feature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W68/00—User notification, e.g. alerting and paging, for incoming communication, change of service or the like
- H04W68/005—Transmission of information for alerting of incoming communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/453—Help systems
-
- H04L67/22—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72454—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/18—Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
Definitions
- Computing devices such as mobile phones, may contain a number of features, functionalities, and applications designed to provide increased utility to a user of the computing device.
- features may be continually added as operating systems or applications receive updates.
- features, functionalities, and applications of a computing device may be so plentiful and new that a user may be unaware of them even when they would be useful to the user. As such, a user may have difficulty in achieving awareness of features that the user would otherwise desire to use.
- certain functionalities, features, and applications of a computing device may only be useful in a particular context, such as in a particular situation or for a user with a particular set of needs. Thus, it may require substantial effort on the part of a user to learn and remember various new and legacy features of the computing device. Further, it may require substantial additional time and effort on the part of the user to then determine which of those features or applications, and under what circumstances, the features or applications may be useful.
- FIGS. are not necessarily drawn to scale, and wherein:
- FIG. 1 depicts computing system architecture 100 , according to an example implementation of the disclosed technology.
- FIG. 2 is a flow diagram of a method 200 , according to an example implementation.
- FIG. 3A illustrates a computing device 300 , according to an example implementation.
- FIG. 3B illustrates a computing device 300 with a notification relating to a context-based feature that is output for display, according to an example implementation.
- Example implementations of the disclosed technology can provide systems and methods for notifying a user of a mobile computing device about a feature of the device or application for use with the device that the user may find useful but is otherwise unaware.
- the disclosed systems and methods may notify a user of a mobile device about a feature or application of the device that may be useful to the user in a given context.
- the system may notify a user about an application designed to allow Bluetooth sharing of files if the system observes that the user is attempting to email files to friends who are located nearby. Upon learning of the Bluetooth sharing application, the user may be able to more efficiently share files with friends.
- the system may notify the user of the feature or application only if the user has not previously accessed the feature or application.
- Implementations of the disclosed technology may also provide the user with tutorials of the context-based feature or application and allow the user to activate the feature or application upon notification.
- Certain implementations of the disclosed technology may provide convenient methods for determining a mobile device's environmental context and notifying a user of a feature or application that may be useful in relation to that particular environmental context.
- computing devices may have a variety of sensors and transceivers that may be monitored to collect data that can be used in deriving the mobile device's environmental context.
- a computing device can also monitor signals from applications running on the computing device, such as, for example, web browsers, text messaging, email applications, and others for information that may be used in addition to sensor data in deriving the environmental context of the device.
- the system of the disclosed technology can notify the user about features and applications that are pertinent to the user's current situation or circumstances.
- the disclosed technology may provide notifications to a user that allow a user to learn about various new and legacy features of a mobile device in situations in which a particular feature or application may be useful to the user.
- a user is more likely to appreciate the usefulness of the feature and may gain greater knowledge and utilization of the features of the mobile device.
- implementations of the disclosed technology may include a computing device with more or less of the components illustrated in FIG. 1 .
- the computing device architecture 100 is provided for example purposes only and does not limit the scope of the various implementations of the present disclosed systems, methods, and computer-readable mediums.
- the computing device architecture 100 of FIG. 1 includes a central processing unit (CPU) 102 , where computer instructions are processed; a display interface 104 that supports a graphical user interface and provides functions for rendering video, graphics, images, and texts on the display.
- the display interface 104 may be directly connected to a local display, such as a touch-screen display associated with a mobile computing device.
- the display interface 104 may be configured for providing data, images, and other information for an external/remote display 150 that is not necessarily physically connected to the mobile computing device.
- a desktop monitor may be utilized for mirroring graphics and other information that is presented on a mobile computing device.
- the display interface 104 may wirelessly communicate, for example, via a Wi-Fi channel or other available network connection interface 112 to the external/remote display.
- the network connection interface 112 may be configured as a wired or wireless communication interface and may provide functions for rendering video, graphics, images, text, other information, or any combination thereof on the display.
- a communication interface may include a serial port, a parallel port, a general purpose input and output (GPIO) port, a game port, a universal serial bus (USB), a micro-USB port, a high definition multimedia (HDMI) port, a video port, an audio port, a Bluetooth port, a near-field communication (NFC) port, another like communication interface, or any combination thereof.
- the computing device architecture 100 may include a keyboard interface 106 that provides a communication interface to a physical or virtual keyboard.
- the computing device architecture 100 may include a presence-sensitive display interface 108 for connecting to a presence-sensitive display 107 .
- the presence-sensitive input interface 108 may provide a communication interface to various devices such as a pointing device, a capacitive touch screen, a resistive touch screen, a touchpad, a depth camera, etc. which may or may not be integrated with a display.
- the computing device architecture 100 may be configured to use one or more input components via one or more of input/output interfaces (for example, the keyboard interface 106 , the display interface 104 , the presence sensitive input interface 108 , network connection interface 112 , camera interface 114 , sound interface 116 , etc.,) to allow the computing device architecture 100 to present information to a user and capture information from a device's environment including instructions from the device's user.
- input/output interfaces for example, the keyboard interface 106 , the display interface 104 , the presence sensitive input interface 108 , network connection interface 112 , camera interface 114 , sound interface 116 , etc.
- the input components may include a mouse, a trackball, a directional pad, a track pad, a touch-verified track pad, a presence-sensitive track pad, a presence-sensitive display, a scroll wheel, a digital camera, a digital video camera, a web camera, a microphone, a sensor, a smartcard, and the like. Additionally, an input component may be integrated with the computing device architecture 100 or may be a separate device. As additional examples, input components may include an accelerometer, a magnetometer, a digital camera, a microphone, and an optical sensor.
- Example implementations of the computing device architecture 100 may include an antenna interface 110 that provides a communication interface to an antenna; a network connection interface 112 may support a wireless communication interface to a network.
- the display interface 104 may be in communication with the network connection interface 112 , for example, to provide information for display on a remote display that is not directly connected or attached to the system.
- a camera interface 114 is provided that acts as a communication interface and provides functions for capturing digital images from a camera.
- a sound interface 116 is provided as a communication interface for converting sound into electrical signals using a microphone and for converting electrical signals into sound using a speaker.
- a random access memory (RAM) 118 is provided, where computer instructions and data may be stored in a volatile memory device for processing by the CPU 102 .
- the computing device architecture 100 includes a read-only memory (ROM) 120 where invariant low-level system code or data for basic system functions such as basic input and output (I/O), startup, or reception of keystrokes from a keyboard are stored in a non-volatile memory device.
- ROM read-only memory
- I/O basic input and output
- the computing device architecture 100 includes a storage medium 122 or other suitable type of memory (e.g.
- the computing device architecture 100 includes a power source 130 that provides an appropriate alternating current (AC) or direct current (DC) to power components.
- AC alternating current
- DC direct current
- the computing device architecture 100 includes a telephony subsystem 132 that allows the device 100 to transmit and receive audio and data information over a telephone network. Although this is shown as a separate subsystem, the telephony subsystem 132 may be implemented as part of the network connection interface 112 . The constituent components and the CPU 102 communicate with each other over a bus 134 .
- the CPU 102 has appropriate structure to be a computer processor.
- the CPU 102 may include more than one processing unit.
- the RAM 118 interfaces with the computer bus 134 to provide quick RAM storage to the CPU 102 during the execution of software programs such as the operating system, application programs, and device drivers. More specifically, the CPU 102 loads computer-executable process steps from the storage medium 122 or other media into a field of the RAM 118 in order to execute software programs. Data may be stored in the RAM 118 , where the data may be accessed by the computer CPU 102 during execution.
- the device architecture 100 includes at least 128 MB of RAM, and 256 MB of flash memory.
- the storage medium 122 itself may include a number of physical drive units, such as a redundant array of independent disks (RAID), a floppy disk drive, a flash memory, a USB flash drive, an external hard disk drive, thumb drive, pen drive, key drive, a High-Density Digital Versatile Disc (HD-DVD) optical disc drive, an internal hard disk drive, a Blu-Ray optical disc drive, or a Holographic Digital Data Storage (HDDS) optical disc drive, an external mini-dual in-line memory module (DIMM) synchronous dynamic random access memory (SDRAM), or an external micro-DIMM SDRAM.
- RAID redundant array of independent disks
- HD-DVD High-Density Digital Versatile Disc
- HD-DVD High-Density Digital Versatile Disc
- HDDS Holographic Digital Data Storage
- DIMM mini-dual in-line memory module
- SDRAM synchronous dynamic random access memory
- micro-DIMM SDRAM an external micro-DIMM SDRAM
- Such computer readable storage media allow a computing device to access computer-executable process steps, application programs and the like, stored on removable and non-removable memory media, to off-load data from the device or to upload data onto the device.
- a computer program product such as one utilizing a communication system may be tangibly embodied in storage medium 122 , which may include a machine-readable storage medium.
- the term computing device may be a CPU, or conceptualized as a CPU (for example, the CPU 102 of FIG. 1 ).
- the computing device may be coupled, connected, and/or in communication with one or more peripheral devices, such as display.
- the term computing device may refer to a mobile computing device such as a smartphone, tablet computer, or smart watch.
- the computing device may output content to its local display and/or speaker(s).
- the computing device may output content to an external display device (e.g., over Wi-Fi) such as a TV or an external computing system.
- a computing device may include any number of hardware and/or software applications that are executed to facilitate any of the operations.
- one or more I/O interfaces may facilitate communication between the computing device and one or more input/output devices.
- a universal serial bus port, a serial port, a disk drive, a CD-ROM drive, and/or one or more user interface devices such as a display, keyboard, keypad, mouse, control panel, touch screen display, microphone, etc.
- the one or more I/O interfaces may be utilized to receive or collect data and/or user instructions from a wide variety of input devices. Received data may be processed by one or more computer processors as desired in various implementations of the disclosed technology and/or stored in one or more memory devices.
- One or more network interfaces may facilitate connection of the computing device inputs and outputs to one or more suitable networks and/or connections; for example, the connections that facilitate communication with any number of sensors associated with the system.
- the one or more network interfaces may further facilitate connection to one or more suitable networks; for example, a local area network, a wide area network, the Internet, a cellular network, a radio frequency network, a Bluetooth enabled network, a Wi-Fi enabled network, a satellite-based network any wired network, any wireless network, etc., for communication with external devices and/or systems.
- FIG. 2 is a flow diagram of a method 200 according to an example implementation of the disclosed technology.
- the method 200 begins at block 202 , where a computing device receives an indication of contextual information and an indication of historical information relating to the computing device and/or of the user of the computing device.
- the computing device can determine an environmental context of a mobile device (i.e., a computing device of a particular user), wherein the environmental context is associated with one or more context-based features of the computing device.
- the computing device can determine the environmental context of the mobile device in response to receiving the indication of contextual information and the indication of historical information of the user of the computing device.
- the computing device can determine from the indication of historical information whether a usage criteria associated with the context-based feature associated with the environmental context has been met.
- a usage criteria can be a set of conditions relating to the historical usage of the context-based feature or a related feature.
- a usage criteria can include whether the context-based feature has ever been previously activated, the number of times a context-based feature has been activated or used in the past, the number of times the context-based feature has been activated over a specified time frame (e.g., the feature has been activated 3 times in the last 6 months), or whether a similar feature has been activated by the user. It will be understood by those of skill in the art that these examples of usage criteria are merely illustrative and that usage criteria could encompass a wide array of conditions.
- the usage criteria can be useful in establishing whether or not a user is likely already aware of the context-based feature or whether the user should be notified about the existence of the feature.
- a usage criteria can be whether the context-based feature associated with the environmental context has been activated three or more times in the past.
- a computing device can make this determination based on the historical information previously received. According to some implementations, if a computing device determines that the context-based feature has met the usage criteria, then the method can end at block 290 , otherwise the method can advance to block 208 .
- the computing device can output an indication of the determination that the context-based feature has not met the usage criteria, such that the mobile device annunciates a notification related to the context-based feature.
- the mobile device can notify the user about a feature or application of the device that may be useful to the user in the present circumstances (i.e., the present environmental context).
- the notification can inform the user of the mobile device about how to use the feature or application of the mobile device.
- the disclosed technology can output for presentation a notification to a user of a mobile device regarding features or applications of the device about which the user may be unfamiliar.
- the notification can relate to a feature or application that is context-based (i.e., a feature or application that may be useful based on the particular environmental context of the mobile computing device 300 ).
- an environmental context can be broadly understood as representing the situation or circumstances of the mobile computing device 300 and/or the user.
- a computing device of the disclosed technology such as a mobile computing device 300 or a remote server, can determine the environmental context of mobile computing device 300 in response to receiving 202 indications of contextual information and indications of historical information.
- contextual information can be data derived from sensors of mobile computing device 300 that indicate the physical environment of the mobile computing device 300 . For example, this may include sensor readings regarding sound from sound interface 116 of FIG.
- contextual information can include data derived from monitoring signals of mobile computing device 300 at antenna interface 110 , network connection interface 112 , or telephony subsystem 132 to obtain information about the user's activities on mobile computing device 300 .
- contextual information may be derived from monitoring text messages, emails, phone calls, or web browsing on mobile computing device 300 .
- Historical data can be broadly understood to include information relating to a user's past use of features and applications of mobile computing device 300 stored locally in RAM 118 or data files 128 or stored remotely and accessed through network connection interface 112 . Historical data can also include other information about the user such as the user's home address, their phone book, social networking connections, past places they have been, their web browsing history, and a wide assortment of other such information. To illustrate these concepts, in one example a user may have conducted an internet search on directions to the library (i.e., historical information), and readings from the accelerometer and GPS on the user's mobile computing device can indicate the location and movement of a user (i.e., contextual information).
- directions to the library i.e., historical information
- readings from the accelerometer and GPS on the user's mobile computing device can indicate the location and movement of a user (i.e., contextual information).
- a computing device of the present disclosure may be able to predict a user's intent to go to the library. Further, a computing device can determine the user's mode of transportation and heading based on current and historical data acquired from the accelerometer and GPS. Thus, in the foregoing example, the system of the present technology may determine that the user may be traveling (e.g., walking, on a bike, or in a car) on a particular route on their way to the library (i.e., the environmental context).
- a computing device can determine the environmental context of the mobile computing device using the contextual information or a combination of the contextual information and historical information.
- the system can provide notifications to the user regarding features and applications of the mobile computing device 300 that are pertinent to the environmental context.
- the system can provide a notification to the user relating to an interactive library application that may provide hours of operation, floor plans, and a searchable inventory of books.
- a computing device of the disclosed technology can receive contextual information.
- contextual information can be information relating to the physical environment or user activity of the mobile computing device 300 at a given point in time.
- the physical environment can include, without limitation, whether it is noisy or quiet, whether is it light or dark, whether it is hot or cold, whether it is dry or humid, the ambient pressure, atmospheric conditions such as rain, snow, wind, or cloudiness, as well as the location of mobile computing device 300 .
- a computing device can obtain information about the physical environment through sensors, such as, for example, an atmospheric pressure sensor which can provide data to the mobile computing device 300 through an atmospheric pressure interface 152 .
- a computing device of the present disclosure can also obtain information about the physical environment from remote devices, such as servers hosting websites that contain weather information that pertains to the location of the mobile computing device.
- the location of mobile computing device 300 can be for example, a geographic location (such as GPS coordinates), a semantic location (such as “Georgia Tech campus”), or a particular room in a building.
- User activity can include an observation of the user's actions derived by sensing and monitoring the mobile computing device 300 .
- user activity may be walking, running, driving, riding a bike, talking on the phone, sitting still, sending text messages, using a web browser to search for a particular item, or any number of other activities of which it may be possible to discern using data and information gathered by one or more computing devices.
- contextual information can be obtained from sensors and listeners on a mobile computing device that can monitor the activity of a mobile device.
- FIG. 3A illustrates a mobile computing device 300 according to an example implementation of the disclosed technology, which may include some or all of the components of the computing device 100 shown in FIG. 1 .
- mobile computing device 300 has a variety of sensors.
- a display screen 302 of mobile computing device 300 can be an implementation of a presence-sensitive input device 108 of FIG. 1 , such as a capacitive touchscreen, which can sense touches on the display screen 302 made by a user.
- Another sensor of mobile computing device 300 can be an audio input device 310 , such as a microphone, for receiving audio or voice commands and providing them to the mobile computing device 300 through sound interface 116 of FIG. 1 .
- Audio input device 310 can also be activated to detect and receive audio data, such as for example, background noise of the environment surrounding mobile computing device 300 .
- Mobile computing device 300 can also include an accelerometer and/or a gyroscope, either of which can be capable of detecting the movement, acceleration, and orientation of mobile computing device 300 and providing sensor readings to mobile computing device 300 through an accelerometer interface 144 and a gyroscope interface 146 , respectively.
- Mobile computing device 300 can also include an optical sensor, such as a light sensor for detection of light, or a camera which can take digital photos or videos and provide data representative of the light, photos, or videos to mobile computing device 300 through an ambient light sensor interface 140 and a camera interface 114 , respectively.
- Mobile computing device 300 can also include a GPS receiver for detecting the geographical position of mobile computing device 300 and can provide GPS data to mobile computing device 300 through a GPS location interface 148 .
- Mobile computing device 300 can include any number of other sensors that are known in the art, such as, for example, but not limited to, a pressure sensor, a heart rate monitor, a temperature sensor, a vibration sensor, a chemical sensor, or a moisture or humidity sensor. Through the use of a cellular antenna, Bluetooth antenna, or the like, mobile computing device 300 can also be capable of detecting certain other electronic devices within a specified proximity. As will be understood by those of skill in the art, mobile computing device 300 can have various sensor interfaces similar to those in FIG. 1 that are configured to allow the transfer of data from the sensors to the mobile computing device 300 . In some implementations, a remote computing device can be capable of activating one or more of the sensors of mobile computing device 300 .
- mobile computing device 300 may utilize a wide array of sensors to actively or passively collect context information about mobile computing device 300 and its surroundings in accordance with the disclosed technology.
- mobile computing device 300 can also obtain contextual information by monitoring information and signals relating to the use of device features, such as the content of mobile applications, text messages, emails, phone conversations and other content that is accessed by a user of mobile computing device 300 (collectively, “application data”).
- application data may be stored on mobile computing device 300 or on a remote computing device, such as a remote server.
- all data associated with a user can be associated with a user profile which can enable centralized monitoring of the user's activity across all devices, and thus, any sensor or application data gathered from one device can be accessed by the other related devices. For example, if a user visits a website on a home computer associated with the user's profile, the user's mobile computing device 300 can receive data relating to the user's visit to the website. According to some implementations, data from all of a user's devices may be associated with a user profile. According to some implementations, data from some or all of a user's devices may be stored on mobile computing device 300 or on a remote server.
- a computing device of the disclosed technology can receive historical information relating to the user of the computing device.
- historical information which may be stored in RAM 118 , on a remote computing device and/or on a cloud server, can broadly include records of a user's past usage of features and applications of mobile computing device 300 , as well as other information about the user such as their home address, their phone book, social networking connections, past places they have been to, their web browsing history and a wide assortment of other such information.
- historical information might include an indication that a user has performed an internet search attempting to locate a particular book for purchase.
- Historical information can also include whether a user has previously accessed or used a particular feature or application of mobile computing device 300 .
- historical information might include an indication that the user has never accessed an image capture application of mobile computing device 300 .
- historical information can include how many times and/or how often a user has activated a particular feature or application of mobile computing device 300 .
- a computing device of the disclosed technology can monitor usage of a mobile computing device 300 and store historical information based on the monitored activity.
- the historical information of the user of the computing device can be stored on a remote computing device.
- the historical information obtained from monitoring the use of mobile computing device 300 can be combined with historical information of other devices associated with a user's user profile.
- a computing device before generating a notification, can determine an environmental context of mobile computing device 300 in response to receiving an indication of contextual information and an indication of historical information of the user of the computing device.
- the environmental context of mobile computing device 300 can broadly represent the situation or circumstances of the mobile device and the user.
- a variety of different environmental contexts can be derived from different combinations of contextual information and historical information.
- the system can use contextual information such as GPS and accelerometer readings paired with historical information such as an internet search of a route to the library to determine that the environmental context of the example is that a user is riding a bike to the library.
- the system may use contextual information including time from a device's clock, darkness from the mobile device's optical sensor, and/or the sound of snoring detected by a device's microphone, as well as the historical data of the user's past heart rate and movement data that indicates the user tends to be asleep during the pertinent time period to determine that the contextual environment of the example situation may be that the user is asleep and does not wish to be disturbed by phone calls.
- the system may generate a notice regarding a feature that allows the user to silence the mobile device when the user is asleep.
- each particular environmental context may be determined by a different set of contextual information and historical information.
- the environmental context of mobile computing device 300 can be determined by a context manager.
- a context manager can be an application that can collect contextual information and historical information from one or more devices used by the user, to determine the environmental context of mobile computing device 300 .
- a computing device 100 may identify a context-based feature suitable for use in the environmental context prior to generating a notification.
- Context-based features and applications can be features and applications that have usefulness under a particular set of circumstances.
- the environmental context of mobile computing device 300 can be associated with one or more context-based features or applications of mobile computing device 300 that are suitable for use in the environmental context.
- a notification generated and output on mobile computing device 300 can relate to a context-based feature or application that is associated with the current environmental context. In this way, the user can be notified about a context-based feature or application that may be beneficial to use at the time and place of notification (i.e., when the user is present in the environmental context to which the context-based feature or application applies).
- a context-based feature may relate to a particular time, place, or set of circumstances.
- an application that allows a user to share content from the user's device with other devices using a Bluetooth connection may only be useful in the circumstance where other Bluetooth-enabled devices belonging to people a user desires to share content with are within an adequate proximity to the user's device.
- a system of the present disclosure ideally would know historical information and contextual information such as: 1) that the user desires to share content with others via the application, 2) the identities of associated people and devices that the user wishes to share content with, and 3) whether any such associated people and devices are within range of the Bluetooth signal of mobile computing device 300 .
- the system would require historical information indicative of the user's friends and family who the user desires to share content with, and contextual information indicating whether any such person is currently within Bluetooth proximity to the user's mobile computing device 300 . Accordingly, upon receiving the pertinent contextual information and historical information and upon determining the corresponding environmental context, the computing device can cause a notification to be presented to the user to inform the user of the Bluetooth sharing feature, such that the user may be in a position to utilize the feature at the time of notification.
- a context-based application may be an application that allows a user to passively disable an electronic locking mechanism of mobile computing device 300 when the user is at home (“smart lock”).
- the environmental context would be that the user is at home and the user desires to access the contents of a mobile computing device 300 (as indicated by the user's attempt to unlock mobile computing device 300 ).
- a system of the present disclosure ideally would know historical information and contextual information such as: 1) that the user desires to access contents of their mobile device when it home, 2) where the user's home is, and 3) when the user is at home. This could be implemented with the knowledge of the historical information of the user's home location and the contextual information of the user's current location.
- the system may generate a notification to inform the user about the smart lock feature upon observing the user attempting to unlock the mobile device at home.
- a notification to inform the user about the smart lock feature upon observing the user attempting to unlock the mobile device at home.
- the computing device before generating a notification related to a context-based feature, the computing device can determine ( 206 from FIG. 2 ) whether a context-based feature fails to meet a usage criteria.
- determining, for example, that the user has already activated the feature in the past e.g., an example usage criteria
- the computing device may avoid generating notifications regarding features and applications for which the user is already aware.
- no notification relating to a context-based feature of mobile computing device 300 will be generated if the user's past use of the context-based feature meets the usage criteria.
- the method may first determine whether a usage criteria has been met.
- Examples of a usage criteria can include, but are not limited to, the number of times the a context-based feature has been accessed by the user, the frequency with which the context-based feature has been accessed, or the time elapsed since the context-based feature was last accessed. For example, in some implementations, if the user has accessed the context-based feature multiple times, the method may nonetheless generate a notification to the user if the last time the context-based feature was accessed was over a year ago.
- a smart lock feature can passively disable a locking function of mobile computing device 300 when mobile computing device 300 is at the user's home, such that a user may access the contents of mobile computing device 300 without having to first unlock it.
- a computing device receives an indication of historical information, wherein the historical information could include the location of the user's home (e.g., as previously specified by the user or obtained from the user's address book), as well as the user's history indicating whether the user has ever accessed or used the smart lock before.
- the computing device could further receive an indication of contextual information which would include the current location of mobile computing device 300 , as determined by, for example, the GPS coordinates of the device or that the device is within WiFi range of a home access point.
- the indication of contextual information can also include an indication that the user is attempting to access content on mobile computing device 300 .
- the computing device can then determine the environmental context of mobile computing device 300 from the historical information and the contextual information, which in this case can be along the lines that “the user is at home and desires to access content on the mobile device.”
- the environmental context of the user being at home and desiring to access content on the device is associated with the context-based feature of the smart lock feature because that feature becomes useful in that environmental context.
- the computing device can determine whether the user has previously activated the smart lock feature or not. According to some implementations, if the computing device determines that the user has not accessed the smart lock feature before, then it can cause a notification relating to the smart lock feature to be generated on mobile computing device 300 . In some implementations, the notification may be designed to inform the user about the existence of the smart lock feature. For example, as shown in FIG. 3B , the mobile computing device 300 may output a notification 308 in response to a user attempting to unlock the mobile device's lock 306 while at home.
- a notification may be a message that is presented on the screen 302 of mobile computing device 300 .
- the message can be designed to inform the user of the existence of the context-based feature or application of mobile computing device 300 .
- the message may provide a link to the context-based feature of mobile computing device 300 that can allow the user to easily access the context-based feature on mobile computing device 300 .
- the message may include an overview of the functionalities and usefulness of the context-based feature.
- the message may include a tutorial designed to show the user how to use or set up the context-based feature.
- the message may provide a link to an external website that can provide more information regarding the context-based feature.
- a notification can be audible.
- mobile computing device 300 may emit a sound such as a ring or a beep.
- a notification can be tactile.
- mobile computing device 300 can vibrate.
- aspects of the present disclosure may further include a step of, after determining that a usage criteria associated with the feature has not been met, but before causing a notification to be generated, determining whether mobile computing device 300 has been in the particular environmental context more than a threshold number of times.
- usage criteria may have both minimum and maximum parameter values or more than one range of parameter values.
- the computing device may compare the number of times the mobile device has been in the environmental context to a particular notification threshold and may only output an indication of the determination that the context-based feature has not met the usage criteria upon exceeding the notification threshold. For example, in the case of the smart lock described above, there may be a notification threshold of ten attempts to unlock the mobile computing device while at the user's home. In other words, in this implementation, the method may not notify the user of the smart lock feature upon the first time the user attempts to unlock mobile computing device 300 at home, but would wait until the eleventh time the user attempts to unlock mobile computing device 300 at home before causing a notification to be sent. In some implementations, each context-based feature may have a different notification threshold.
- the notification threshold may reset after the notification is generated. For example, in the previously described case of the smart lock feature having a notification threshold of ten, after the eleventh attempt at unlocking the phone at home the system can generate a notification, but if the user does not respond to the notification or access and activate the smart lock feature, the system may generate another notification relating to the smart lock feature after the next eleven unlock attempts.
- aspects of the present disclosure may have additional steps to prevent notifications from overwhelming a user with notifications about available features and applications.
- the number of notifications that may be provided to the user over a specified time frame may be limited by a notification limit.
- a notification limit of two may limit the number of notifications to two notifications per month. If the number of notifications is so limited, in some implementations, potential notifications in excess of that number can simply be temporarily discarded. For example, in some implementations a notification in excess of the limit may be discarded and will only be generated upon the next time the mobile computing device 300 enters the required environmental context relating to the context-based feature that was the subject of the notification.
- a notification in excess of the limit may be delayed and presented to the user at the expiration of the specified time frame.
- the notification in excess of the limit may be saved to mobile computing device 300 and may be accessible by a user at their own discretion.
- a notification limit may limit the number of times the system notifies a user about a particular context-based feature. For example, in some implementations the system may only display a notification about a particular context-based feature twice and then never again.
- the disclosed technology can incorporate data from other users to improve the notification process.
- the system can collect information across all users regarding notifications made to users, as well as the users' subsequent responses to those notifications to determine which notifications are more likely to result in a user utilizing the context-based feature that is the subject of the notification. The system can then prioritize which context-based features to notify a user about first.
- the system can adjust a threshold used to determine when to send a notification to a user based on the rate of user adoption of the context-based feature.
- the system may reduce the threshold required to be met before notifying a user who has not yet been notified of the context-based feature. In this way, the system can more actively promote context-based features that a user is more likely to want to use, thereby making the notification process less intrusive to the user.
- These computer-executable program instructions may be loaded onto a general-purpose computer, a special-purpose computer, a processor, or other programmable data processing apparatus to produce a particular machine, such that the instructions that execute on the computer, processor, or other programmable data processing apparatus create means for implementing one or more functions specified in the flow diagram block or blocks.
- These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means that implement one or more functions specified in the flow diagram block or blocks.
- implementations of the disclosed technology may provide for a computer program product, including a computer-usable medium having a computer-readable program code or program instructions embodied therein, said computer-readable program code adapted to be executed to implement one or more functions specified in the flow diagram block or blocks.
- the computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational elements or steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions that execute on the computer or other programmable apparatus provide elements or steps for implementing the functions specified in the flow diagram block or blocks.
- blocks of the block diagrams and flow diagrams support combinations of means for performing the specified functions, combinations of elements or steps for performing the specified functions, and program instruction means for performing the specified functions. It will also be understood that each block of the block diagrams and flow diagrams, and combinations of blocks in the block diagrams and flow diagrams, can be implemented by special-purpose, hardware-based computer systems that perform the specified functions, elements or steps, or combinations of special-purpose hardware and computer instructions.
- mobile computing devices there are several categories of mobile devices, generally known as portable computing devices that can run on batteries but are not usually classified as laptops.
- mobile devices can include, but are not limited to portable computers, tablet PCs, Internet tablets, PDAs, ultra mobile PCs (UMPCs) and smartphones.
- portable computers tablet PCs, Internet tablets, PDAs, ultra mobile PCs (UMPCs) and smartphones.
- UMPCs ultra mobile PCs
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Hardware Design (AREA)
- Telephone Function (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
- Computing devices, such as mobile phones, may contain a number of features, functionalities, and applications designed to provide increased utility to a user of the computing device. In some such computing devices, features may be continually added as operating systems or applications receive updates. In some situations, features, functionalities, and applications of a computing device may be so plentiful and new that a user may be ignorant of them even when they would be useful to the user. As such, a user may have difficulty in achieving awareness of features that the user would otherwise desire to use. Additionally, certain functionalities, features, and applications of a computing device may only be useful in a particular context, such as in a particular situation or for a user with a particular set of needs. Thus, it may require substantial effort on the part of a user to learn and remember various new and legacy features of the computing device. Further, it may require substantial additional time and effort on the part of the user to then determine which of those features or applications, and under what circumstances, the features or applications may be useful.
- Reference will now be made to the accompanying FIGS., which are not necessarily drawn to scale, and wherein:
-
FIG. 1 depictscomputing system architecture 100, according to an example implementation of the disclosed technology. -
FIG. 2 is a flow diagram of amethod 200, according to an example implementation. -
FIG. 3A illustrates acomputing device 300, according to an example implementation. -
FIG. 3B illustrates acomputing device 300 with a notification relating to a context-based feature that is output for display, according to an example implementation. - Some implementations of the disclosed technology will be described more fully with reference to the accompanying drawings. This disclosed technology may, however, be embodied in many different forms and should not be construed as limited to the implementations set forth herein.
- Example implementations of the disclosed technology can provide systems and methods for notifying a user of a mobile computing device about a feature of the device or application for use with the device that the user may find useful but is otherwise unaware. In particular, the disclosed systems and methods may notify a user of a mobile device about a feature or application of the device that may be useful to the user in a given context. For example, the system may notify a user about an application designed to allow Bluetooth sharing of files if the system observes that the user is attempting to email files to friends who are located nearby. Upon learning of the Bluetooth sharing application, the user may be able to more efficiently share files with friends. According to some implementations, the system may notify the user of the feature or application only if the user has not previously accessed the feature or application. Thus, the disclosed technology can be useful for informing users of mobile devices about relevant features and applications of which the user is unaware. Implementations of the disclosed technology may also provide the user with tutorials of the context-based feature or application and allow the user to activate the feature or application upon notification.
- Certain implementations of the disclosed technology may provide convenient methods for determining a mobile device's environmental context and notifying a user of a feature or application that may be useful in relation to that particular environmental context. For example, computing devices may have a variety of sensors and transceivers that may be monitored to collect data that can be used in deriving the mobile device's environmental context. Further, a computing device can also monitor signals from applications running on the computing device, such as, for example, web browsers, text messaging, email applications, and others for information that may be used in addition to sensor data in deriving the environmental context of the device. According to some implementations, if the environmental context of the mobile device is known, the system of the disclosed technology can notify the user about features and applications that are pertinent to the user's current situation or circumstances.
- Thus, the disclosed technology may provide notifications to a user that allow a user to learn about various new and legacy features of a mobile device in situations in which a particular feature or application may be useful to the user. As will be appreciated, by notifying the user of a capability or context-based feature of the device appropriate to the current context, a user is more likely to appreciate the usefulness of the feature and may gain greater knowledge and utilization of the features of the mobile device.
- Example implementations of the disclosed technology will now be described with reference to the accompanying figures.
- As desired, implementations of the disclosed technology may include a computing device with more or less of the components illustrated in
FIG. 1 . It will be understood that thecomputing device architecture 100 is provided for example purposes only and does not limit the scope of the various implementations of the present disclosed systems, methods, and computer-readable mediums. - The
computing device architecture 100 ofFIG. 1 includes a central processing unit (CPU) 102, where computer instructions are processed; adisplay interface 104 that supports a graphical user interface and provides functions for rendering video, graphics, images, and texts on the display. In certain example implementations of the disclosed technology, thedisplay interface 104 may be directly connected to a local display, such as a touch-screen display associated with a mobile computing device. In another example implementation, thedisplay interface 104 may be configured for providing data, images, and other information for an external/remote display 150 that is not necessarily physically connected to the mobile computing device. For example, a desktop monitor may be utilized for mirroring graphics and other information that is presented on a mobile computing device. In certain example implementations, thedisplay interface 104 may wirelessly communicate, for example, via a Wi-Fi channel or other availablenetwork connection interface 112 to the external/remote display. - In an example implementation, the
network connection interface 112 may be configured as a wired or wireless communication interface and may provide functions for rendering video, graphics, images, text, other information, or any combination thereof on the display. In one example, a communication interface may include a serial port, a parallel port, a general purpose input and output (GPIO) port, a game port, a universal serial bus (USB), a micro-USB port, a high definition multimedia (HDMI) port, a video port, an audio port, a Bluetooth port, a near-field communication (NFC) port, another like communication interface, or any combination thereof. - The
computing device architecture 100 may include akeyboard interface 106 that provides a communication interface to a physical or virtual keyboard. In one example implementation, thecomputing device architecture 100 may include a presence-sensitive display interface 108 for connecting to a presence-sensitive display 107. According to certain example implementations of the disclosed technology, the presence-sensitive input interface 108 may provide a communication interface to various devices such as a pointing device, a capacitive touch screen, a resistive touch screen, a touchpad, a depth camera, etc. which may or may not be integrated with a display. - The
computing device architecture 100 may be configured to use one or more input components via one or more of input/output interfaces (for example, thekeyboard interface 106, thedisplay interface 104, the presencesensitive input interface 108,network connection interface 112,camera interface 114,sound interface 116, etc.,) to allow thecomputing device architecture 100 to present information to a user and capture information from a device's environment including instructions from the device's user. The input components may include a mouse, a trackball, a directional pad, a track pad, a touch-verified track pad, a presence-sensitive track pad, a presence-sensitive display, a scroll wheel, a digital camera, a digital video camera, a web camera, a microphone, a sensor, a smartcard, and the like. Additionally, an input component may be integrated with thecomputing device architecture 100 or may be a separate device. As additional examples, input components may include an accelerometer, a magnetometer, a digital camera, a microphone, and an optical sensor. - Example implementations of the
computing device architecture 100 may include anantenna interface 110 that provides a communication interface to an antenna; anetwork connection interface 112 may support a wireless communication interface to a network. As mentioned above, thedisplay interface 104 may be in communication with thenetwork connection interface 112, for example, to provide information for display on a remote display that is not directly connected or attached to the system. In certain implementations, acamera interface 114 is provided that acts as a communication interface and provides functions for capturing digital images from a camera. In certain implementations, asound interface 116 is provided as a communication interface for converting sound into electrical signals using a microphone and for converting electrical signals into sound using a speaker. According to example implementations, a random access memory (RAM) 118 is provided, where computer instructions and data may be stored in a volatile memory device for processing by theCPU 102. - According to an example implementation, the
computing device architecture 100 includes a read-only memory (ROM) 120 where invariant low-level system code or data for basic system functions such as basic input and output (I/O), startup, or reception of keystrokes from a keyboard are stored in a non-volatile memory device. According to an example implementation, thecomputing device architecture 100 includes astorage medium 122 or other suitable type of memory (e.g. such as RAM, ROM, programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic disks, optical disks, floppy disks, hard disks, removable cartridges, flash drives), for storing files include anoperating system 124, application programs 126 (including, for example, a web browser application, a widget or gadget engine, and or other applications, as necessary), anddata files 128. According to an example implementation, thecomputing device architecture 100 includes apower source 130 that provides an appropriate alternating current (AC) or direct current (DC) to power components. - According to an example implementation, the
computing device architecture 100 includes atelephony subsystem 132 that allows thedevice 100 to transmit and receive audio and data information over a telephone network. Although this is shown as a separate subsystem, thetelephony subsystem 132 may be implemented as part of thenetwork connection interface 112. The constituent components and theCPU 102 communicate with each other over abus 134. - According to an example implementation, the
CPU 102 has appropriate structure to be a computer processor. In one arrangement, theCPU 102 may include more than one processing unit. TheRAM 118 interfaces with thecomputer bus 134 to provide quick RAM storage to theCPU 102 during the execution of software programs such as the operating system, application programs, and device drivers. More specifically, theCPU 102 loads computer-executable process steps from thestorage medium 122 or other media into a field of theRAM 118 in order to execute software programs. Data may be stored in theRAM 118, where the data may be accessed by thecomputer CPU 102 during execution. In one example configuration, thedevice architecture 100 includes at least 128 MB of RAM, and 256 MB of flash memory. - The
storage medium 122 itself may include a number of physical drive units, such as a redundant array of independent disks (RAID), a floppy disk drive, a flash memory, a USB flash drive, an external hard disk drive, thumb drive, pen drive, key drive, a High-Density Digital Versatile Disc (HD-DVD) optical disc drive, an internal hard disk drive, a Blu-Ray optical disc drive, or a Holographic Digital Data Storage (HDDS) optical disc drive, an external mini-dual in-line memory module (DIMM) synchronous dynamic random access memory (SDRAM), or an external micro-DIMM SDRAM. Such computer readable storage media allow a computing device to access computer-executable process steps, application programs and the like, stored on removable and non-removable memory media, to off-load data from the device or to upload data onto the device. A computer program product, such as one utilizing a communication system may be tangibly embodied instorage medium 122, which may include a machine-readable storage medium. - According to one example implementation, the term computing device, as used herein, may be a CPU, or conceptualized as a CPU (for example, the
CPU 102 ofFIG. 1 ). In this example implementation, the computing device (CPU) may be coupled, connected, and/or in communication with one or more peripheral devices, such as display. In another example implementation, the term computing device, as used herein, may refer to a mobile computing device such as a smartphone, tablet computer, or smart watch. In this example implementation, the computing device may output content to its local display and/or speaker(s). In another example implementation, the computing device may output content to an external display device (e.g., over Wi-Fi) such as a TV or an external computing system. - In example implementations of the disclosed technology, a computing device may include any number of hardware and/or software applications that are executed to facilitate any of the operations. In example implementations, one or more I/O interfaces may facilitate communication between the computing device and one or more input/output devices. For example, a universal serial bus port, a serial port, a disk drive, a CD-ROM drive, and/or one or more user interface devices, such as a display, keyboard, keypad, mouse, control panel, touch screen display, microphone, etc., may facilitate user interaction with the computing device. The one or more I/O interfaces may be utilized to receive or collect data and/or user instructions from a wide variety of input devices. Received data may be processed by one or more computer processors as desired in various implementations of the disclosed technology and/or stored in one or more memory devices.
- One or more network interfaces may facilitate connection of the computing device inputs and outputs to one or more suitable networks and/or connections; for example, the connections that facilitate communication with any number of sensors associated with the system. The one or more network interfaces may further facilitate connection to one or more suitable networks; for example, a local area network, a wide area network, the Internet, a cellular network, a radio frequency network, a Bluetooth enabled network, a Wi-Fi enabled network, a satellite-based network any wired network, any wireless network, etc., for communication with external devices and/or systems.
-
FIG. 2 is a flow diagram of amethod 200 according to an example implementation of the disclosed technology. Themethod 200 begins atblock 202, where a computing device receives an indication of contextual information and an indication of historical information relating to the computing device and/or of the user of the computing device. Atblock 204, the computing device can determine an environmental context of a mobile device (i.e., a computing device of a particular user), wherein the environmental context is associated with one or more context-based features of the computing device. In example implementations, the computing device can determine the environmental context of the mobile device in response to receiving the indication of contextual information and the indication of historical information of the user of the computing device. Atdecision block 206, the computing device can determine from the indication of historical information whether a usage criteria associated with the context-based feature associated with the environmental context has been met. - A usage criteria can be a set of conditions relating to the historical usage of the context-based feature or a related feature. According to some implementations, a usage criteria can include whether the context-based feature has ever been previously activated, the number of times a context-based feature has been activated or used in the past, the number of times the context-based feature has been activated over a specified time frame (e.g., the feature has been activated 3 times in the last 6 months), or whether a similar feature has been activated by the user. It will be understood by those of skill in the art that these examples of usage criteria are merely illustrative and that usage criteria could encompass a wide array of conditions. The usage criteria can be useful in establishing whether or not a user is likely already aware of the context-based feature or whether the user should be notified about the existence of the feature. For example, in some implementations a usage criteria can be whether the context-based feature associated with the environmental context has been activated three or more times in the past. In example implementations, a computing device can make this determination based on the historical information previously received. According to some implementations, if a computing device determines that the context-based feature has met the usage criteria, then the method can end at
block 290, otherwise the method can advance to block 208. Atblock 208, in response to determining that the context-based feature associated with the environmental context has not met the usage criteria, the computing device can output an indication of the determination that the context-based feature has not met the usage criteria, such that the mobile device annunciates a notification related to the context-based feature. In this way, the mobile device can notify the user about a feature or application of the device that may be useful to the user in the present circumstances (i.e., the present environmental context). According to example implementations, the notification can inform the user of the mobile device about how to use the feature or application of the mobile device. The details of themethod 200 will now be described in further detail below. - As previously discussed, in various implementations, the disclosed technology can output for presentation a notification to a user of a mobile device regarding features or applications of the device about which the user may be unfamiliar. According to some implementations, the notification can relate to a feature or application that is context-based (i.e., a feature or application that may be useful based on the particular environmental context of the mobile computing device 300). According to implementations of the disclosed technology, an environmental context can be broadly understood as representing the situation or circumstances of the
mobile computing device 300 and/or the user. According to some implementations, a computing device of the disclosed technology, such as amobile computing device 300 or a remote server, can determine the environmental context ofmobile computing device 300 in response to receiving 202 indications of contextual information and indications of historical information. - It will be understood by one of skill in the art that “indications of contextual/historical information” may be used interchangeably with “contextual/historical information,” as those of skill in the art will appreciate that computing devices are capable of receiving and processing both information and indications of information as necessary and appropriate. In some implementations, contextual information can be data derived from sensors of
mobile computing device 300 that indicate the physical environment of themobile computing device 300. For example, this may include sensor readings regarding sound fromsound interface 116 ofFIG. 1 , light from ambientlight sensor interface 140, imagery fromcamera interface 114, temperature fromthermometer interface 142, movement fromaccelerometer interface 144, orientation fromgyroscope interface 146, location fromGPS location interface 148, atmospheric pressure from an atmospheric pressure interface 152 (which can include a barometer), moisture or humidity from ahumidity sensor interface 154, and other sensor readings relevant to the current environment of themobile computing device 300. Further, contextual information can include data derived from monitoring signals ofmobile computing device 300 atantenna interface 110,network connection interface 112, ortelephony subsystem 132 to obtain information about the user's activities onmobile computing device 300. For example, contextual information may be derived from monitoring text messages, emails, phone calls, or web browsing onmobile computing device 300. - Historical data can be broadly understood to include information relating to a user's past use of features and applications of
mobile computing device 300 stored locally inRAM 118 ordata files 128 or stored remotely and accessed throughnetwork connection interface 112. Historical data can also include other information about the user such as the user's home address, their phone book, social networking connections, past places they have been, their web browsing history, and a wide assortment of other such information. To illustrate these concepts, in one example a user may have conducted an internet search on directions to the library (i.e., historical information), and readings from the accelerometer and GPS on the user's mobile computing device can indicate the location and movement of a user (i.e., contextual information). Based on the historical information of the internet search for directions to the library, a computing device of the present disclosure may be able to predict a user's intent to go to the library. Further, a computing device can determine the user's mode of transportation and heading based on current and historical data acquired from the accelerometer and GPS. Thus, in the foregoing example, the system of the present technology may determine that the user may be traveling (e.g., walking, on a bike, or in a car) on a particular route on their way to the library (i.e., the environmental context). - According to some implementations, a computing device can determine the environmental context of the mobile computing device using the contextual information or a combination of the contextual information and historical information. In the example described above, after the environmental context is determined from historical information and contextual information, the system can provide notifications to the user regarding features and applications of the
mobile computing device 300 that are pertinent to the environmental context. For example, the system can provide a notification to the user relating to an interactive library application that may provide hours of operation, floor plans, and a searchable inventory of books. - As described above, in some implementations, a computing device of the disclosed technology can receive contextual information. As discussed, contextual information can be information relating to the physical environment or user activity of the
mobile computing device 300 at a given point in time. The physical environment can include, without limitation, whether it is noisy or quiet, whether is it light or dark, whether it is hot or cold, whether it is dry or humid, the ambient pressure, atmospheric conditions such as rain, snow, wind, or cloudiness, as well as the location ofmobile computing device 300. According to some implementations, a computing device can obtain information about the physical environment through sensors, such as, for example, an atmospheric pressure sensor which can provide data to themobile computing device 300 through anatmospheric pressure interface 152. According to some implementations, a computing device of the present disclosure can also obtain information about the physical environment from remote devices, such as servers hosting websites that contain weather information that pertains to the location of the mobile computing device. The location ofmobile computing device 300 can be for example, a geographic location (such as GPS coordinates), a semantic location (such as “Georgia Tech campus”), or a particular room in a building. User activity can include an observation of the user's actions derived by sensing and monitoring themobile computing device 300. For example, user activity may be walking, running, driving, riding a bike, talking on the phone, sitting still, sending text messages, using a web browser to search for a particular item, or any number of other activities of which it may be possible to discern using data and information gathered by one or more computing devices. - According to some implementations, contextual information can be obtained from sensors and listeners on a mobile computing device that can monitor the activity of a mobile device.
FIG. 3A illustrates amobile computing device 300 according to an example implementation of the disclosed technology, which may include some or all of the components of thecomputing device 100 shown inFIG. 1 . Typically,mobile computing device 300 has a variety of sensors. For example, adisplay screen 302 ofmobile computing device 300 can be an implementation of a presence-sensitive input device 108 ofFIG. 1 , such as a capacitive touchscreen, which can sense touches on thedisplay screen 302 made by a user. Another sensor ofmobile computing device 300 can be anaudio input device 310, such as a microphone, for receiving audio or voice commands and providing them to themobile computing device 300 throughsound interface 116 ofFIG. 1 .Audio input device 310 can also be activated to detect and receive audio data, such as for example, background noise of the environment surroundingmobile computing device 300.Mobile computing device 300 can also include an accelerometer and/or a gyroscope, either of which can be capable of detecting the movement, acceleration, and orientation ofmobile computing device 300 and providing sensor readings tomobile computing device 300 through anaccelerometer interface 144 and agyroscope interface 146, respectively.Mobile computing device 300 can also include an optical sensor, such as a light sensor for detection of light, or a camera which can take digital photos or videos and provide data representative of the light, photos, or videos tomobile computing device 300 through an ambientlight sensor interface 140 and acamera interface 114, respectively.Mobile computing device 300 can also include a GPS receiver for detecting the geographical position ofmobile computing device 300 and can provide GPS data tomobile computing device 300 through aGPS location interface 148. -
Mobile computing device 300 can include any number of other sensors that are known in the art, such as, for example, but not limited to, a pressure sensor, a heart rate monitor, a temperature sensor, a vibration sensor, a chemical sensor, or a moisture or humidity sensor. Through the use of a cellular antenna, Bluetooth antenna, or the like,mobile computing device 300 can also be capable of detecting certain other electronic devices within a specified proximity. As will be understood by those of skill in the art,mobile computing device 300 can have various sensor interfaces similar to those inFIG. 1 that are configured to allow the transfer of data from the sensors to themobile computing device 300. In some implementations, a remote computing device can be capable of activating one or more of the sensors ofmobile computing device 300. - It will be understood by those of skill in the art that the presently disclosed technology may utilize a wide array of sensors to actively or passively collect context information about
mobile computing device 300 and its surroundings in accordance with the disclosed technology. In addition to obtaining contextual information from the sensors described above, and as described previously,mobile computing device 300 can also obtain contextual information by monitoring information and signals relating to the use of device features, such as the content of mobile applications, text messages, emails, phone conversations and other content that is accessed by a user of mobile computing device 300 (collectively, “application data”). According to some implementations, some or all of the sensor data and application data (collectively, contextual information) may be stored onmobile computing device 300 or on a remote computing device, such as a remote server. Further, according to some implementations, if a user is associated with more than one device, all data associated with a user can be associated with a user profile which can enable centralized monitoring of the user's activity across all devices, and thus, any sensor or application data gathered from one device can be accessed by the other related devices. For example, if a user visits a website on a home computer associated with the user's profile, the user'smobile computing device 300 can receive data relating to the user's visit to the website. According to some implementations, data from all of a user's devices may be associated with a user profile. According to some implementations, data from some or all of a user's devices may be stored onmobile computing device 300 or on a remote server. - As described above, before determining an environmental context and generating a notification, a computing device of the disclosed technology can receive historical information relating to the user of the computing device. In some implementations, historical information, which may be stored in
RAM 118, on a remote computing device and/or on a cloud server, can broadly include records of a user's past usage of features and applications ofmobile computing device 300, as well as other information about the user such as their home address, their phone book, social networking connections, past places they have been to, their web browsing history and a wide assortment of other such information. For example, historical information might include an indication that a user has performed an internet search attempting to locate a particular book for purchase. Historical information can also include whether a user has previously accessed or used a particular feature or application ofmobile computing device 300. For example, historical information might include an indication that the user has never accessed an image capture application ofmobile computing device 300. In some implementations, historical information can include how many times and/or how often a user has activated a particular feature or application ofmobile computing device 300. According to some implementations, a computing device of the disclosed technology can monitor usage of amobile computing device 300 and store historical information based on the monitored activity. In some implementations, the historical information of the user of the computing device can be stored on a remote computing device. In some implementations, the historical information obtained from monitoring the use ofmobile computing device 300 can be combined with historical information of other devices associated with a user's user profile. - In accordance with some implementations of the disclosed technology, before generating a notification, a computing device can determine an environmental context of
mobile computing device 300 in response to receiving an indication of contextual information and an indication of historical information of the user of the computing device. As noted previously, the environmental context ofmobile computing device 300 can broadly represent the situation or circumstances of the mobile device and the user. According to some implementations, a variety of different environmental contexts can be derived from different combinations of contextual information and historical information. As noted previously in an example situation, the system can use contextual information such as GPS and accelerometer readings paired with historical information such as an internet search of a route to the library to determine that the environmental context of the example is that a user is riding a bike to the library. In another example situation, the system may use contextual information including time from a device's clock, darkness from the mobile device's optical sensor, and/or the sound of snoring detected by a device's microphone, as well as the historical data of the user's past heart rate and movement data that indicates the user tends to be asleep during the pertinent time period to determine that the contextual environment of the example situation may be that the user is asleep and does not wish to be disturbed by phone calls. In this case, in the event of an unwanted call while the user is asleep, the system may generate a notice regarding a feature that allows the user to silence the mobile device when the user is asleep. Thus, as will be understood, each particular environmental context may be determined by a different set of contextual information and historical information. According to some implementations, the environmental context ofmobile computing device 300 can be determined by a context manager. In some implementations, a context manager can be an application that can collect contextual information and historical information from one or more devices used by the user, to determine the environmental context ofmobile computing device 300. - After an environmental context is determined, a
computing device 100 according to the present disclosure may identify a context-based feature suitable for use in the environmental context prior to generating a notification. Context-based features and applications can be features and applications that have usefulness under a particular set of circumstances. As previously described above, the environmental context ofmobile computing device 300 can be associated with one or more context-based features or applications ofmobile computing device 300 that are suitable for use in the environmental context. Accordingly, in some implementations, a notification generated and output onmobile computing device 300 can relate to a context-based feature or application that is associated with the current environmental context. In this way, the user can be notified about a context-based feature or application that may be beneficial to use at the time and place of notification (i.e., when the user is present in the environmental context to which the context-based feature or application applies). - A context-based feature may relate to a particular time, place, or set of circumstances. For example, an application that allows a user to share content from the user's device with other devices using a Bluetooth connection may only be useful in the circumstance where other Bluetooth-enabled devices belonging to people a user desires to share content with are within an adequate proximity to the user's device. Thus, in the foregoing example, a system of the present disclosure ideally would know historical information and contextual information such as: 1) that the user desires to share content with others via the application, 2) the identities of associated people and devices that the user wishes to share content with, and 3) whether any such associated people and devices are within range of the Bluetooth signal of
mobile computing device 300. According to this example, the system would require historical information indicative of the user's friends and family who the user desires to share content with, and contextual information indicating whether any such person is currently within Bluetooth proximity to the user'smobile computing device 300. Accordingly, upon receiving the pertinent contextual information and historical information and upon determining the corresponding environmental context, the computing device can cause a notification to be presented to the user to inform the user of the Bluetooth sharing feature, such that the user may be in a position to utilize the feature at the time of notification. - Another example of a context-based application may be an application that allows a user to passively disable an electronic locking mechanism of
mobile computing device 300 when the user is at home (“smart lock”). In this case, the environmental context would be that the user is at home and the user desires to access the contents of a mobile computing device 300 (as indicated by the user's attempt to unlock mobile computing device 300). Thus, in the foregoing example, a system of the present disclosure ideally would know historical information and contextual information such as: 1) that the user desires to access contents of their mobile device when it home, 2) where the user's home is, and 3) when the user is at home. This could be implemented with the knowledge of the historical information of the user's home location and the contextual information of the user's current location. In accordance with some implementations, the system may generate a notification to inform the user about the smart lock feature upon observing the user attempting to unlock the mobile device at home. As will be understood by those of skill in the art, there can be a vast array of context-based features of a mobile device that can require a variety of different historical information and contextual information to function. - In accordance with implementations of the disclosed technology, before generating a notification related to a context-based feature, the computing device can determine (206 from
FIG. 2 ) whether a context-based feature fails to meet a usage criteria. As will be appreciated, determining, for example, that the user has already activated the feature in the past (e.g., an example usage criteria) may allow the computing device to avoid generating notifications regarding features and applications for which the user is already aware. Thus, according to some implementations, no notification relating to a context-based feature ofmobile computing device 300 will be generated if the user's past use of the context-based feature meets the usage criteria. Thus, in some implementations, when determining whether or not a notification will be generated, the method may first determine whether a usage criteria has been met. Examples of a usage criteria can include, but are not limited to, the number of times the a context-based feature has been accessed by the user, the frequency with which the context-based feature has been accessed, or the time elapsed since the context-based feature was last accessed. For example, in some implementations, if the user has accessed the context-based feature multiple times, the method may nonetheless generate a notification to the user if the last time the context-based feature was accessed was over a year ago. - An example implementation of the disclosed technology will now be described with respect to the previously described smart lock context-based feature. As will be understood, a smart lock feature can passively disable a locking function of
mobile computing device 300 whenmobile computing device 300 is at the user's home, such that a user may access the contents ofmobile computing device 300 without having to first unlock it. Thus, in an example implementation, a computing device receives an indication of historical information, wherein the historical information could include the location of the user's home (e.g., as previously specified by the user or obtained from the user's address book), as well as the user's history indicating whether the user has ever accessed or used the smart lock before. The computing device could further receive an indication of contextual information which would include the current location ofmobile computing device 300, as determined by, for example, the GPS coordinates of the device or that the device is within WiFi range of a home access point. The indication of contextual information can also include an indication that the user is attempting to access content onmobile computing device 300. The computing device can then determine the environmental context ofmobile computing device 300 from the historical information and the contextual information, which in this case can be along the lines that “the user is at home and desires to access content on the mobile device.” The environmental context of the user being at home and desiring to access content on the device is associated with the context-based feature of the smart lock feature because that feature becomes useful in that environmental context. Next, based on the indication of historical information previously received, the computing device can determine whether the user has previously activated the smart lock feature or not. According to some implementations, if the computing device determines that the user has not accessed the smart lock feature before, then it can cause a notification relating to the smart lock feature to be generated onmobile computing device 300. In some implementations, the notification may be designed to inform the user about the existence of the smart lock feature. For example, as shown inFIG. 3B , themobile computing device 300 may output anotification 308 in response to a user attempting to unlock the mobile device'slock 306 while at home. - According to some implementations, a notification may be a message that is presented on the
screen 302 ofmobile computing device 300. The message can be designed to inform the user of the existence of the context-based feature or application ofmobile computing device 300. According to some implementations, the message may provide a link to the context-based feature ofmobile computing device 300 that can allow the user to easily access the context-based feature onmobile computing device 300. In some implementations, the message may include an overview of the functionalities and usefulness of the context-based feature. In some implementations, the message may include a tutorial designed to show the user how to use or set up the context-based feature. Further, in some implementations the message may provide a link to an external website that can provide more information regarding the context-based feature. In some implementations, a notification can be audible. For example,mobile computing device 300 may emit a sound such as a ring or a beep. In some implementations, a notification can be tactile. For example,mobile computing device 300 can vibrate. - According to some implementations, it may be desirable to avoid notifying a user of a feature or application before the user has had adequate time to explore the features and applications of the
mobile computing device 300. Thus, according to some implementations, aspects of the present disclosure may further include a step of, after determining that a usage criteria associated with the feature has not been met, but before causing a notification to be generated, determining whethermobile computing device 300 has been in the particular environmental context more than a threshold number of times. In other words, usage criteria may have both minimum and maximum parameter values or more than one range of parameter values. In some implementations, the computing device may compare the number of times the mobile device has been in the environmental context to a particular notification threshold and may only output an indication of the determination that the context-based feature has not met the usage criteria upon exceeding the notification threshold. For example, in the case of the smart lock described above, there may be a notification threshold of ten attempts to unlock the mobile computing device while at the user's home. In other words, in this implementation, the method may not notify the user of the smart lock feature upon the first time the user attempts to unlockmobile computing device 300 at home, but would wait until the eleventh time the user attempts to unlockmobile computing device 300 at home before causing a notification to be sent. In some implementations, each context-based feature may have a different notification threshold. As will be appreciated, incorporating a threshold or providing additional restraints on how soon a notification can be sent to a user about a particular context-based feature may allow users time to explore features of their mobile computing devices on their own and prevent overwhelming users with notifications when their mobile computing devices are new. In some implementations, the notification threshold may reset after the notification is generated. For example, in the previously described case of the smart lock feature having a notification threshold of ten, after the eleventh attempt at unlocking the phone at home the system can generate a notification, but if the user does not respond to the notification or access and activate the smart lock feature, the system may generate another notification relating to the smart lock feature after the next eleven unlock attempts. - According to some implementations, aspects of the present disclosure may have additional steps to prevent notifications from overwhelming a user with notifications about available features and applications. In some implementations of the disclosed technology, the number of notifications that may be provided to the user over a specified time frame may be limited by a notification limit. For example, in some implementations, a notification limit of two may limit the number of notifications to two notifications per month. If the number of notifications is so limited, in some implementations, potential notifications in excess of that number can simply be temporarily discarded. For example, in some implementations a notification in excess of the limit may be discarded and will only be generated upon the next time the
mobile computing device 300 enters the required environmental context relating to the context-based feature that was the subject of the notification. In some implementations, a notification in excess of the limit may be delayed and presented to the user at the expiration of the specified time frame. In some implementations, the notification in excess of the limit may be saved tomobile computing device 300 and may be accessible by a user at their own discretion. In some implementations, a notification limit may limit the number of times the system notifies a user about a particular context-based feature. For example, in some implementations the system may only display a notification about a particular context-based feature twice and then never again. - According to some implementations, the disclosed technology can incorporate data from other users to improve the notification process. In some implementations, the system can collect information across all users regarding notifications made to users, as well as the users' subsequent responses to those notifications to determine which notifications are more likely to result in a user utilizing the context-based feature that is the subject of the notification. The system can then prioritize which context-based features to notify a user about first. Furthermore, in some implementations, the system can adjust a threshold used to determine when to send a notification to a user based on the rate of user adoption of the context-based feature. For example, if a particular context-based feature is used by a high rate of users after receiving a notification, the system may reduce the threshold required to be met before notifying a user who has not yet been notified of the context-based feature. In this way, the system can more actively promote context-based features that a user is more likely to want to use, thereby making the notification process less intrusive to the user.
- Certain implementations of the disclosed technology are described above with reference to block and flow diagrams of systems and methods and/or computer program products according to example implementations of the disclosed technology. It will be understood that one or more blocks of the block diagrams and flow diagrams, and combinations of blocks in the block diagrams and flow diagrams, respectively, can be implemented by computer-executable program instructions. Likewise, some blocks of the block diagrams and flow diagrams may not necessarily need to be performed in the order presented, may be repeated, or may not necessarily need to be performed at all, according to some implementations of the disclosed technology.
- These computer-executable program instructions may be loaded onto a general-purpose computer, a special-purpose computer, a processor, or other programmable data processing apparatus to produce a particular machine, such that the instructions that execute on the computer, processor, or other programmable data processing apparatus create means for implementing one or more functions specified in the flow diagram block or blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means that implement one or more functions specified in the flow diagram block or blocks. As an example, implementations of the disclosed technology may provide for a computer program product, including a computer-usable medium having a computer-readable program code or program instructions embodied therein, said computer-readable program code adapted to be executed to implement one or more functions specified in the flow diagram block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational elements or steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions that execute on the computer or other programmable apparatus provide elements or steps for implementing the functions specified in the flow diagram block or blocks.
- Accordingly, blocks of the block diagrams and flow diagrams support combinations of means for performing the specified functions, combinations of elements or steps for performing the specified functions, and program instruction means for performing the specified functions. It will also be understood that each block of the block diagrams and flow diagrams, and combinations of blocks in the block diagrams and flow diagrams, can be implemented by special-purpose, hardware-based computer systems that perform the specified functions, elements or steps, or combinations of special-purpose hardware and computer instructions.
- Certain implementations of the disclosed technology are described above with reference to mobile computing devices. Those skilled in the art recognize that there are several categories of mobile devices, generally known as portable computing devices that can run on batteries but are not usually classified as laptops. For example, mobile devices can include, but are not limited to portable computers, tablet PCs, Internet tablets, PDAs, ultra mobile PCs (UMPCs) and smartphones.
- In this description, numerous specific details have been set forth. It is to be understood, however, that implementations of the disclosed technology may be practiced without these specific details. In other instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description. References to “one implementation,” “an implementation,” “example implementation,” “various implementations,” etc., indicate that the implementation(s) of the disclosed technology so described may include a particular feature, structure, or characteristic, but not every implementation necessarily includes the particular feature, structure, or characteristic. Further, repeated use of the phrase “in one implementation” does not necessarily refer to the same implementation, although it may.
- Throughout the specification and the claims, the following terms take at least the meanings explicitly associated herein, unless the context clearly dictates otherwise. The term “connected” means that one function, feature, structure, or characteristic is directly joined to or in communication with another function, feature, structure, or characteristic. The term “coupled” means that one function, feature, structure, or characteristic is directly or indirectly joined to or in communication with another function, feature, structure, or characteristic. The term “or” is intended to mean an inclusive “or.” Further, the terms “a,” “an,” and “the” are intended to mean one or more unless specified otherwise or clear from the context to be directed to a singular form.
- As used herein, unless otherwise specified the use of the ordinal adjectives “first,” “second,” “third,” etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.
- While certain implementations of the disclosed technology have been described in connection with what is presently considered to be the most practical and various implementations, it is to be understood that the disclosed technology is not to be limited to the disclosed implementations, but on the contrary, is intended to cover various modifications and equivalent arrangements included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
- This written description uses examples to disclose certain implementations of the disclosed technology, including the best mode, and also to enable any person skilled in the art to practice certain implementations of the disclosed technology, including making and using any devices or systems and performing any incorporated methods. The patentable scope of certain implementations of the disclosed technology is defined in the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal language of the claims.
Claims (20)
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/754,391 US9974045B2 (en) | 2015-06-29 | 2015-06-29 | Systems and methods for contextual discovery of device functions |
EP22171906.5A EP4068089A3 (en) | 2015-06-29 | 2016-06-29 | Systems and methods for contextual discovery of device functions |
DE112016002945.4T DE112016002945T5 (en) | 2015-06-29 | 2016-06-29 | SYSTEMS AND METHOD FOR CONTEXT DISCOVERING DEVICE FUNCTIONS |
EP16739624.1A EP3314411B1 (en) | 2015-06-29 | 2016-06-29 | Systems and methods for contextual discovery of device functions |
CN201680020235.4A CN107548568B (en) | 2015-06-29 | 2016-06-29 | System and method for contextual discovery of device functionality |
GB1715793.4A GB2554203A (en) | 2015-06-29 | 2016-06-29 | Systems and methods for contextual discovery of device functions |
PCT/US2016/039993 WO2017004139A1 (en) | 2015-06-29 | 2016-06-29 | Systems and methods for contextual discovery of device functions |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/754,391 US9974045B2 (en) | 2015-06-29 | 2015-06-29 | Systems and methods for contextual discovery of device functions |
Publications (2)
Publication Number | Publication Date |
---|---|
US20160381658A1 true US20160381658A1 (en) | 2016-12-29 |
US9974045B2 US9974045B2 (en) | 2018-05-15 |
Family
ID=56418607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/754,391 Active 2035-11-05 US9974045B2 (en) | 2015-06-29 | 2015-06-29 | Systems and methods for contextual discovery of device functions |
Country Status (6)
Country | Link |
---|---|
US (1) | US9974045B2 (en) |
EP (2) | EP3314411B1 (en) |
CN (1) | CN107548568B (en) |
DE (1) | DE112016002945T5 (en) |
GB (1) | GB2554203A (en) |
WO (1) | WO2017004139A1 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170336920A1 (en) * | 2016-05-17 | 2017-11-23 | Google Inc. | Managing Messages in Vehicles |
US20180091638A1 (en) * | 2016-09-28 | 2018-03-29 | Nxp B.V. | Mobile device and method for determining its context |
WO2018125350A1 (en) * | 2016-12-30 | 2018-07-05 | Google Inc. | Dynamically generating custom application onboarding tutorials |
WO2018179604A1 (en) * | 2017-03-27 | 2018-10-04 | 株式会社Nttドコモ | Data sharing determination device |
US20180336200A1 (en) * | 2017-05-18 | 2018-11-22 | Google Inc. | Predicting intent of a search for a particular context |
WO2020150518A1 (en) * | 2019-01-18 | 2020-07-23 | Apple Inc. | User interfaces for presenting information about and facilitating application functions |
US20210345073A1 (en) * | 2019-07-04 | 2021-11-04 | Nextnav, Llc | Methods for using a pressure sensor of a mobile device to improve the accuracy of determined contexts |
US20220101749A1 (en) * | 2020-09-28 | 2022-03-31 | Sony Interactive Entertainment LLC | Methods and systems for frictionless new device feature on-boarding |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10261672B1 (en) * | 2014-09-16 | 2019-04-16 | Amazon Technologies, Inc. | Contextual launch interfaces |
KR102441336B1 (en) * | 2017-12-12 | 2022-09-08 | 삼성전자주식회사 | User terminal apparatus and control method thereof |
US10922101B2 (en) * | 2019-06-26 | 2021-02-16 | International Business Machines Corporation | User interface widget recommendation |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050105467A1 (en) * | 2003-11-13 | 2005-05-19 | Lucent Technologies Inc. | Automated service change recommendations for wireless network subscribers |
US20100205541A1 (en) * | 2009-02-11 | 2010-08-12 | Jeffrey A. Rapaport | social network driven indexing system for instantly clustering people with concurrent focus on same topic into on-topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic |
US20100277326A1 (en) * | 2009-05-01 | 2010-11-04 | BoxTone, Inc. | Method and system for monitoring portable communication devices |
US20110106736A1 (en) * | 2008-06-26 | 2011-05-05 | Intuitive User Interfaces Ltd. | System and method for intuitive user interaction |
US20130254194A1 (en) * | 2012-03-23 | 2013-09-26 | Fujitsu Limited | Providing setting recommendations to a communication device |
US20130346877A1 (en) * | 2012-06-24 | 2013-12-26 | Google Inc. | Recommended content for an endorsement user interface |
US20150281156A1 (en) * | 2014-03-27 | 2015-10-01 | Dropbox, Inc. | Dynamic filter generation for message management systems |
US20160078350A1 (en) * | 2014-09-17 | 2016-03-17 | Mark D. Yarvis | Contextual platform feature recommendations |
US20160164974A1 (en) * | 2014-12-05 | 2016-06-09 | Microsoft Corporation | Service Content Tailored To Out Of Routine Events |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1783892A (en) * | 2004-12-02 | 2006-06-07 | 华为技术有限公司 | Method and its device for automatic switching scene modes in ncobile terminal |
US8464248B2 (en) | 2009-06-15 | 2013-06-11 | Microsoft Corporation | Contextual discovery of value-added components |
US8626141B2 (en) * | 2009-07-30 | 2014-01-07 | Qualcomm Incorporated | Method and apparatus for customizing a user interface menu |
US9936333B2 (en) | 2010-08-10 | 2018-04-03 | Microsoft Technology Licensing, Llc | Location and contextual-based mobile application promotion and delivery |
US8645312B2 (en) | 2011-03-29 | 2014-02-04 | Manyworlds, Inc. | Expertise discovery methods and systems |
US9348607B2 (en) * | 2012-06-07 | 2016-05-24 | Apple Inc. | Quiet hours for notifications |
US20140188956A1 (en) | 2012-12-28 | 2014-07-03 | Microsoft Corporation | Personalized real-time recommendation system |
KR20140091633A (en) | 2013-01-11 | 2014-07-22 | 삼성전자주식회사 | Method for providing recommended items based on conext awareness and the mobile terminal therefor |
CN104168391A (en) * | 2014-09-05 | 2014-11-26 | 北京网秦天下科技有限公司 | Control method and device for mobile terminal |
-
2015
- 2015-06-29 US US14/754,391 patent/US9974045B2/en active Active
-
2016
- 2016-06-29 EP EP16739624.1A patent/EP3314411B1/en active Active
- 2016-06-29 DE DE112016002945.4T patent/DE112016002945T5/en active Pending
- 2016-06-29 EP EP22171906.5A patent/EP4068089A3/en active Pending
- 2016-06-29 WO PCT/US2016/039993 patent/WO2017004139A1/en active Application Filing
- 2016-06-29 GB GB1715793.4A patent/GB2554203A/en not_active Withdrawn
- 2016-06-29 CN CN201680020235.4A patent/CN107548568B/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050105467A1 (en) * | 2003-11-13 | 2005-05-19 | Lucent Technologies Inc. | Automated service change recommendations for wireless network subscribers |
US20110106736A1 (en) * | 2008-06-26 | 2011-05-05 | Intuitive User Interfaces Ltd. | System and method for intuitive user interaction |
US20100205541A1 (en) * | 2009-02-11 | 2010-08-12 | Jeffrey A. Rapaport | social network driven indexing system for instantly clustering people with concurrent focus on same topic into on-topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic |
US20100277326A1 (en) * | 2009-05-01 | 2010-11-04 | BoxTone, Inc. | Method and system for monitoring portable communication devices |
US20130254194A1 (en) * | 2012-03-23 | 2013-09-26 | Fujitsu Limited | Providing setting recommendations to a communication device |
US20130346877A1 (en) * | 2012-06-24 | 2013-12-26 | Google Inc. | Recommended content for an endorsement user interface |
US20150281156A1 (en) * | 2014-03-27 | 2015-10-01 | Dropbox, Inc. | Dynamic filter generation for message management systems |
US20160078350A1 (en) * | 2014-09-17 | 2016-03-17 | Mark D. Yarvis | Contextual platform feature recommendations |
US20160164974A1 (en) * | 2014-12-05 | 2016-06-09 | Microsoft Corporation | Service Content Tailored To Out Of Routine Events |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170336920A1 (en) * | 2016-05-17 | 2017-11-23 | Google Inc. | Managing Messages in Vehicles |
US10423292B2 (en) * | 2016-05-17 | 2019-09-24 | Google Llc | Managing messages in vehicles |
US10091343B2 (en) * | 2016-09-28 | 2018-10-02 | Nxp B.V. | Mobile device and method for determining its context |
US20180091638A1 (en) * | 2016-09-28 | 2018-03-29 | Nxp B.V. | Mobile device and method for determining its context |
US10430214B2 (en) | 2016-12-30 | 2019-10-01 | Google Llc | Dynamically generating custom application onboarding tutorials |
US11029979B2 (en) | 2016-12-30 | 2021-06-08 | Google Llc | Dynamically generating custom application onboarding tutorials |
CN114579122A (en) * | 2016-12-30 | 2022-06-03 | 谷歌有限责任公司 | Dynamically generating custom application entry tutorials |
CN108268259A (en) * | 2016-12-30 | 2018-07-10 | 谷歌有限责任公司 | It is dynamically generating customized to apply getting started tutorial |
WO2018125350A1 (en) * | 2016-12-30 | 2018-07-05 | Google Inc. | Dynamically generating custom application onboarding tutorials |
WO2018179604A1 (en) * | 2017-03-27 | 2018-10-04 | 株式会社Nttドコモ | Data sharing determination device |
US10909124B2 (en) * | 2017-05-18 | 2021-02-02 | Google Llc | Predicting intent of a search for a particular context |
US20180336200A1 (en) * | 2017-05-18 | 2018-11-22 | Google Inc. | Predicting intent of a search for a particular context |
US11461342B2 (en) * | 2017-05-18 | 2022-10-04 | Google Llc | Predicting intent of a search for a particular context |
WO2020150518A1 (en) * | 2019-01-18 | 2020-07-23 | Apple Inc. | User interfaces for presenting information about and facilitating application functions |
US11822943B2 (en) | 2019-01-18 | 2023-11-21 | Apple Inc. | User interfaces for presenting information about and facilitating application functions |
US20210345073A1 (en) * | 2019-07-04 | 2021-11-04 | Nextnav, Llc | Methods for using a pressure sensor of a mobile device to improve the accuracy of determined contexts |
US11991605B2 (en) * | 2019-07-04 | 2024-05-21 | Nextnav, Llc | Methods for using a pressure sensor of a mobile device to improve the accuracy of determined contexts |
US20220101749A1 (en) * | 2020-09-28 | 2022-03-31 | Sony Interactive Entertainment LLC | Methods and systems for frictionless new device feature on-boarding |
Also Published As
Publication number | Publication date |
---|---|
US9974045B2 (en) | 2018-05-15 |
GB2554203A (en) | 2018-03-28 |
EP3314411A1 (en) | 2018-05-02 |
EP3314411B1 (en) | 2022-09-07 |
CN107548568B (en) | 2020-10-30 |
DE112016002945T5 (en) | 2018-05-30 |
EP4068089A2 (en) | 2022-10-05 |
EP4068089A3 (en) | 2023-03-08 |
CN107548568A (en) | 2018-01-05 |
WO2017004139A1 (en) | 2017-01-05 |
GB201715793D0 (en) | 2017-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3314411B1 (en) | Systems and methods for contextual discovery of device functions | |
CN110574057B (en) | Suggesting actions based on machine learning | |
US20140269643A1 (en) | Systems and methods for geo-fencing | |
CN107846352B (en) | Information display method and mobile terminal | |
KR102485448B1 (en) | Electronic device and method for processing gesture input | |
KR20180083587A (en) | Electronic device and operating method thereof | |
US11443611B2 (en) | Method of providing activity notification and device thereof | |
US10887840B2 (en) | Systems and methods for extending battery life by monitoring device activity | |
CN111523850B (en) | Invoking an action in response to a co-existence determination | |
KR102676115B1 (en) | Electronic device and method for providing location information | |
US10268254B2 (en) | Systems and methods for extending battery life by monitoring mobile application activity | |
US20170315675A1 (en) | Systems and methods for determining seek positions | |
US20160350409A1 (en) | Electronic device, information providing system and information providing method thereof | |
US20180210621A1 (en) | Electronic device and method for displaying screen by the same | |
US20160004784A1 (en) | Method of providing relevant information and electronic device adapted to the same | |
US10162898B2 (en) | Method and apparatus for searching | |
EP3092785B1 (en) | Systems and methods for contextual caller identification | |
JP2013171518A (en) | Information processing system | |
KR102583711B1 (en) | Electronic apparatus and operating method thereof | |
US10419555B2 (en) | Computing system and methods for associating computing devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GHOSH, ANGANA;CHU, MAURICE K.;REEL/FRAME:035931/0670 Effective date: 20150629 |
|
AS | Assignment |
Owner name: GOOGLE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044129/0001 Effective date: 20170929 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |