Abstract:
Techniques of category-based fence are described. A category-based fence can correspond to a group of signal sources instead of a point location fixed to latitude and longitude coordinates. The group of signal sources can represent a category of entities, e.g., a particular business chain. The signal sources can be distributed to multiple discrete locations. A category-based fence associated with the group, accordingly, can correspond to multiple locations instead of a single point location and a radius. Each signal source in the group can be associated with a category identifier unique to the group and uniform among signal sources in the group. The category identifier can be programmed into each signal source. A mobile device can enter the category-based fence by entering any of the discrete locations when the mobile device detects the signal identifier. The mobile device can then execute an application program associated with the category-based fence.
Abstract:
Systems, methods, and program products for providing services to a user by a mobile device based on the user's daily routine of movement. The mobile device determines whether a location cluster indicates a significant location for the user based on one or more hints that indicate an interest of the user in locations in the cluster. The mobile device can perform adaptive clustering to determine a size of area of the significant location based on how multiple locations converge in the location cluster. The mobile device can provide location-based services for calendar items, including predicting a time of arrival at an estimated location of a calendar item. The mobile device can provide various services related to a location of the mobile device or a significant location of the user through an application programming interface (API).
Abstract:
A user interface enables a user to calibrate the position of a three dimensional model with a real-world environment represented by that model. Using a device's sensor suite, the device's location and orientation is determined. A video image of the device's environment is displayed on the device's display. The device overlays a representation of an object from a virtual reality model on the video image. The position of the overlaid representation is determined based on the device's location and orientation. In response to user input, the device adjusts a position of the overlaid representation relative to the video image.
Abstract:
Methods, program products, and systems of location estimation using a probability density function are disclosed. In general, in one aspect, a server can estimate an effective altitude of a wireless access gateway using harvested data. The server can harvest location data from multiple mobile devices. The harvested data can include a location of each mobile device and an identifier of a wireless access gateway that is located within a communication range of the mobile device. The server can calculate an effective altitude of the wireless access gateway using a probability density function of the harvested data. The probability density function can be a sufficient statistic of the received set of location coordinates for calculating an effective altitude of the wireless access gateway. The server can send the effective altitude of the wireless access gateway to other mobile devices for estimating altitudes of the other mobile devices.
Abstract:
Surveying techniques for generating location fingerprint data are described. A mobile device can survey a venue by measuring, at multiple locations at the venue, signals from one or more signal sources. At each location, the mobile device can take multiple measurements of signals. The mobile device can take each measurement at a distinct orientation. The measurements can be used to determine expected measurements of the signals at the venue. Differences between the multiple measurements of signals can be used to determine a variance of the expected measurements. The expected measurements and variance can be designated as location fingerprint data for the venue. The location fingerprint data can be used by mobile devices for determining a location at the venue.
Abstract:
Systems, methods, and apparatuses are provided for suggesting one or more applications to a user based on an event. A prediction model can correspond to a particular event. The suggested application can be determined using one or more properties of the computing device. For example, a particular sub-model can be generated from a subset of historical data that are about user interactions after occurrences of the event and that are gathered when the device has the one or more properties. A tree of sub-models may be determined corresponding to different contexts of properties of the computing device. And, various criteria can be used to determine when to generate a sub-model, e.g., a confidence level in the sub-model providing a correct prediction in the subset of historical data and an information gain (entropy decrease) in the distribution of the historical data relative to a parent model.
Abstract:
Methods and computer products can provide personalized content based on historical interaction with a mobile device. A computing device can receive information about a user interaction with an application running on the mobile device at a first time and location. A type of the application can be identified by parsing a description of the application (e.g., using a natural language processing algorithm). An affinity model can be generated that associates the type of the application with the first time and/or location. At a second time and location, it can be determined that the second time corresponds to the first time and/or that the second location corresponds to the first location. Using the affinity model, the second time and/or location can be associated with the type of the application, and the mobile device may then display content related to the type of the application.
Abstract:
Techniques of non-intrusive region notification are described. A mobile device can be programmed to trigger an application program when the mobile device enters or exits a region. The region can be defined by various virtual fencing technologies. If, at the time of entry or exit of a region, the mobile device is in a power-saving operating mode, the mobile device can transition to an active operating mode temporarily, register a fence-crossing event (entry or exit of the region) with the application program, and then transition back to the power-saving operating mode. The mobile device can launch the registered application program in response to the mobile device receiving a user input to enter the active operating mode. The application program can provide a user interface associated with the region on a display surface of the mobile device in place of a home screen or other user interface.
Abstract:
A mobile device enables its user to retroactively “check in,” on social media, to locations to which the device has previously been. The mobile device automatically tracks the locations to which it goes during some time interval. As the mobile device goes to each location, the mobile device stores data that specifies that location. Following the time interval, and potentially in response to a request by the device's user to view the locations previously visited, the mobile device presents a list of at least some of the locations on its display. The device's user can select one or more of the presented locations. The selection of a location causes the mobile device to post, to an Internet-based social media service, information pertaining to the selected location. For example, such information can indicate that the device's user had been at the selected location.
Abstract:
Reduced resolution location determination for improved anonymity of a user location is disclosed. In some implementations, a first location of a computing device operating in a geographic area is determined. A population density of the geographic area is estimated. A grid overlay is generated, including a number of cells based on the estimated population density. Using the grid overlay, a second location is generated for the computing device that is less precise than the first location. The less precise second location can be used in a local search or other application to improve the anonymity of the user location.