Home > Focus: Location-based services
 Print Friendly Page ||  Email this story
Mobile Phone, Locate Thyself!

The inner workings of location-based services and devices. by CK Mah

The ability to know where a mobile device is physically located at any given time is fast becoming an intrinsic feature of any wireless application and service.

These type of services are a great benefit to field workers who need access to enterprise applications and databases. In addition, it also gives rise to a new class of location-based applications and services, like Web mapping, street routing and electronic Yellow Pages services through mobile devices.

Since location-based applications necessarily traverse large geographical expanse and involve different operating platforms, how can various operators deploy applications that can work in an integrated fashion—seamlessly?

The Technology

A wireless gateway and built-in location technologies will allow content providers to integrate location services with business data, while delivering business information to wherever they are needed. To manage spatial data directly, special spatial database management systems will be required.

Examples of data collection applications are road navigation, geographically-coded addressing and raster imaging. Geographically sensitive services should become a mainstay consumer application. I can imagine consumers being interested in local traffic conditions, weather updates, location-based news and other potential services. One limiting factor in the near term: the lack of wireless bandwidth. Also, the paucity of power and screen size in mobile devices will rein in the sophistication of these applications.

A wireless location-based solution must be based on open platform architecture. This will allow wireless carriers, Internet portals, ASPs and enterprise information portals to deploy location-based services that work with each other, and offer content or mobile commerce services through common standard protocols.

In addition, the integration must be done using a standard relational database concept to allow various service providers to manage all the location information, such as billing, customer relationship activities and enterprise management.

Application types

Key components in location-based applications include the following:

a) GPS triangulation. With Global Positioning System (GPS)-enabled devices, the service or user location will probably be integrated as part of the requested data. Without GPS, locations can still be determined via longitude and latitude data obtained from the transmitting telecommunication tower.

b) WAP gateway/converter. The main function of these is to convert and transmit WML requests in accordance to the WAP specification protocol.

c) Transcoder. This will transform the WML request received from the gateway into HTTP request to be forwarded to the host server for processing.

d) Location query/database. This has to be a RDBMS (relational database management system) database equipped with spatial data content. The application must also cater to the deployment of JDBC connectors as most transcoders are likely to be running on Java based applications.

e) Personalization engine. A good feature to have, as the system will automatically identify the request's owners preferences based on previously configured preferences, and hence speed up querying of databases and the displaying of results.

f) Additional service billing. Another good to have component is an integrated billing system. Since all mobile subscribers are customers of some telecommunication service provider, it makes good sense to deploy services that can link up with telcos' servers and their billing applications.

Data Types

Most mobile users need to access two types of data content from the mobile phones and PDAs, namely, static information such as stock quotes, weather forecasts and news; and transactional content that will induce the manipulation or creation of more data.

Static data can be multi-source and multi-format. Transactional data are likely to be multi-service as well, in addition to being multi-source and multi-format.

Across these multi-service or multi-domain networks, special adapter applications will be needed, and deployed, as mobile users move from one domain to another.

These adapters will convert content from its original format to XML documents. Transcoders will then convert the XML documents into WML format specific to the type of mobile devices that are requesting the content.

Developers should bear in mind that for wireless content to be useful, they must be kept simple and lightweight for snappy delivery. This is due to the two main physical limitations of mobile devices: their small screens and limited data entry capabilities.

In particular, the lack of a keyboard and mouse as input devices means that Web browsing and Web page navigation must follow a very different paradigm on a mobile device as compared to a desktop computer.

Examples of a location-based service

1. John is new in town and would like to see a list of restaurants that are in close proximity to his hotel. John can use his WAP-enabled phone to perform a WAP query requesting for local restaurants based on his physical location.

2. John's service provider receives his query and using a WAP gateway and transcoder, converts the WAP query into a HTTP request in order to extract the data from the host server. Based on the concept of triangulation to determine John's physical location (this information can also be purchased from the telecommunication service providers), the system appends John's co-ordinates to the query. John's position can also be determined by using GPS.

The WAP gateway also adds metadata information about the mobile device John is using such as the mobile device screen size and supported font types. The transcoder converts the XML content into WML as it stores the metadata of John's device specification. It knows the markup language being used and appropriate screen size. The bitmap is channeled back through the service provider's gateway and to John's mobile device.

3. Once the HTTP request has been received by the host server, the host server interprets the request and accesses the content from the database using the appropriate database adapters (eg JDBC connector), which passes the query to the database via a connector.

As the database receives the JDBC call, the query is performed to locate the nearest restaurants within John's area. The resulting information is returned back to the server. In more sophisticated installations, the host server may also be equipped with a personalization engine, which captures John's restaurant preferences and some of his pre-configured location marks.

CK Mah writes for Network Computing-Asian Edition