An application development platform enables applications to be created
easily for, e.g., mobile devices that have short-range wireless
communication capability. The development platform exposes a carefully
chosen core set of services through an API. Each of the applications can
broadcast its services to local and remote devices. Message delivery
between devices is guaranteed even for messages that cannot be delivered
directly by local short-range wireless transmission. Message delivery
through other channels, including the Internet, can occur transparently
to the user. Each device can be associated with an "owner", which can be
a person or a entity. Services can be customized to the owner based on
stored information that maps owners to devices. Information associated
with each of the owners of devices can be stored centrally and used in
connection with providing the services at each of the mobile devices.
Virtual GPS capabilities can be provided for mobile devices that do not
have GPS chips.