Abstract:
Computer-implemented methods, computer-readable storage media storing instructions and computer systems for labeling significant locations based on contextual data can be implemented to perform operations that include determining a location of a computing device, and determining a label for the determined location based on contextual data associated with the significant location. The location can be a significant location that has meaning to a user of the device.
Abstract:
Methods, systems, and computer program products for a mobile device determining its location based on a location of a companion device are described. A mobile device can receive a request for determining a location of the mobile device from an application. The request can include an accuracy specification providing a lower limit on accuracy of the determined location. The mobile device can determine that the mobile device is incapable of achieving that accuracy. The mobile device can then submit a location request to a companion device that has paired with the mobile device. The companion device, upon receiving the location request, can determine a location of the companion device and provide the location of the companion device to the mobile device. The mobile device can then designate the location of the companion device as the location of the mobile device, and provide the location to the application.
Abstract:
An application can specify a location service authorization type to be enforced by a mobile device. After the user authorizes the location service through an authorization dialog, the application can receive location service according to the authorization type. A first authorization type allows the application to receive continuous location updates and location events from a location service on the mobile device only when the application is in use. A second authorization type allows the application to always receive continuous location updates and location events when the application is running in a foreground or background. The text of the authorization dialog can be customized by the application to provide more detail on how the location data will be used by the application.
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:
An application manager of a mobile device can provide a user with the ability to control whether an application can use location information provided by a location subsystem of the mobile device. The application can request to be notified by the location subsystem when the mobile device crosses a geofence. When the mobile device crosses the geofence, the location subsystem provides a notice to the application. The application manager can intercept the notice to the application, and present an alert on a user interface. The application manager can then provide the notice to the application only upon receiving an input through the user interface confirming that the application still has permission to use location information.
Abstract:
An application manager of a mobile device can provide a user with the ability to control whether an application can use location information provided by a location subsystem of the mobile device. The application can request to be notified by the location subsystem when the mobile device crosses a geofence. When the mobile device crosses the geofence, the location subsystem provides a notice to the application. The application manager can intercept the notice to the application, and present an alert on a user interface. The application manager can then provide the notice to the application only upon receiving an input through the user interface confirming that the application still has permission to use location information.
Abstract:
Methods, program products, and systems of using a mobile WAP for location and context purposes are disclosed. In general, in one aspect, a server can estimate an effective location 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. In some implementations, the server can identify a mobile wireless access gateway based on a distance comparison. Data indicating the mobility of a wireless access gateway can be used by a mobile device to initiate one or more actions, including managing power of the mobile device, modifying entrance and exit conditions of virtual fences and determining a context of the mobile device.
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:
Data provided by an access point of a wireless local area network (“WLAN”) is used to assist a mobile device in cell reselection. If a serving cell of a cellular communications network is unsuitable for providing cellular service, a candidate cell co-located with the serving cell can be selected as the serving cell based on quality of service metrics associated with the serving cell and the candidate cell. The mobile device can be proactively commanded to switch to the candidate cell for receiving cellular service. In some implementations, the quality of service metrics are calculated from call logs collected from mobile devices operating in the cellular communications network. In some implementations, network information regarding serving cell performance can be used with the call logs to generate the quality of service metrics.