Abstract:
Methods, systems, and computer program products for determining transit routes through crowd-sourcing, for determining an estimated time of arrival (ETA) of a vehicle of the transit route at a given location, and for providing predictive reminders to a user for catching a vehicle of the transit route. A server receives signal source information about wireless signal sources detected by user devices, including information about a first wireless signal source detected by some devices. The server determines that the first wireless signal source is moving. The server determines that the first wireless signal source is associated with a public transit route upon determining that the signal source information satisfies one or more selection criteria. The server stores information associating the first wireless signal source with the public transit route as transit movement data corresponding to the public transit route.
Abstract:
Techniques for modeling significant locations are described. A significant location can be a location that is significant to a user of a mobile device for a variety of reasons. The mobile device can determine that a place or region is a significant location upon determining that, with sufficient certainty, the mobile device has stayed at the place or region for a sufficient amount of time. The mobile device can construct a state model that is an abstraction of one or more significant locations. The state model can include states representing the significant locations, and transitions representing movement of the mobile device between the locations. The mobile device can use the state model to provide predictive user assistance.
Abstract:
A proximity fence can be a location-agnostic fence defined by signal sources having no geographic location information. The proximity fence can correspond to a group of signal sources instead of a point location fixed to latitude and longitude coordinates. A signal source can be a radio frequency (RF) transmitter broadcasting a beacon signal. The beacon signal can include a payload that includes an identifier indicating a category to which the signal source belongs, and one or more labels indicating one or more subcategories to which the signal source belongs. The proximity fence defined by the group of signal sources can trigger different functions of application programs associated with the proximity fence on a mobile device, when the mobile device moves within the proximity fence and enters and exits different parts of the proximity fence corresponding to the different subcategories.
Abstract:
Systems, methods, and program products for determining a location of a mobile device using a location application programming interface (API) are described. A mobile device can receive an input requesting the mobile device to monitor entry into and exit from a significant location. The mobile device can call a start-monitoring instance function of an object of a location manager class as declared in the API to start monitoring, and call a stop-monitoring instance function of the object as declared in the API to stop monitoring. The mobile device can store the entry and exit, or provide a record of the entry or exit to a function that is conformant to the API for performing various tasks.
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:
Techniques for lifestyle-based social groups are described. A user device can learn movement patterns of the user device. Based on the movement pattern, and a user activity history, a computer system can determine a lifestyle of a user, or a meaning of a location. The system can create a social group based on the lifestyle and the meaning of location. The system can designate the lifestyle or meaning as a theme of the social group. The social group can be an ad hoc social network. For example, the social group can be created without an explicit user request, can be anonymous, and can be lifestyle and location based.
Abstract:
Methods, program products, and systems for monitoring a location fingerprint database are described. A location fingerprint database can store location data associated with multiple signal sources. A mobile device can use signals of the signal sources and the location data to determine a current location. A location server can monitor the location fingerprint database, including detecting if any one of the signal sources has moved or otherwise becomes unsuitable for location determination. The location server can prevent location data associated with the unsuitable signal source from being used by the mobile device to determine the current location of the mobile device
Abstract:
Methods, program products, and systems for using a location fingerprint database to determine a location of a mobile device are described. A mobile device can use location fingerprint data received from a server to determine a location of the mobile device at the venue. The mobile device can obtain, from a sensor of the mobile device, a vector of sensor readings, each sensor reading can measure an environment variable, e.g., a signal received by the sensor from a signal source. The mobile device can perform a statistical match between the vector and the location fingerprint data. The mobile device can then estimate a current location of the mobile device based on the statistical match.
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 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, 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.