stuff you never thought you wanted to know.


Programming mobile handheld devices.

Programming mobile handheld devices
written by Jon Berg <jon.berg|a|turtlemeat.com>

Location-Based Services
Adding possibilities for using the physical location of the mobile device opens many new opportunities for exciting applications. It is a very natural feature to support since one of the key difference between handheld mobile devices and stationary computers are that they are going to be used in a constant changing physical location.

Possible applications for Location-Based Services
The possibilities of the applications that could benefit from LBS are only limited by the imagination.

Emergency services
It could be used to help a person in an emergency. The person answering an emergency call could be informed of the location the calling person. This could help save life when the emergency personnel could get there faster and avoid misinterpretations. It could also be that the calling person did not know exactly where he was. That could happen if one was driving somewhere and had a car accident.

A navigation application would help figuring out your current location and how to get from one location to another. It would also be nice to get the route drawn on a map.

Various tracking services could be created. This includes tracking of people in an organization and tracking of objects. This would make it possible to coordinate things like ordering a taxi and you would be dispatched to the nearest cab. It would also be possible to track the progress of a delivery. Another application of tracking is that you could locate a stolen car if a device was installed in the car.

Range based queries
It would be useful for making queries for your current location. For example show all restaurants within 200 meters. Or show the closest grocery store.

Event notifications
It would be useful to be able to make a subscription for some information and get it delivered in the context to where you are. An example could be a weather report for your location delivered once every morning.

Positioning techniques
Before location based services can be created an infrastructure to get the current location into the application. There exists a variety of technologies that enables extraction of the current location. These technologies have different cost and accuracy.

There are today primary two ways of getting the position of a device. The first way is to let the network the device it connected to figure out where the device is located at. The network will try to find out where the device is located at by calculating the length the device is from the base station. The other way is to let the mobile device figure out for itself where it.

Cell Identity
[3] The simplest form of positioning technique is to use the Cell Identity. The mobile phone network is built up from many cells providing radio coverage for some area. This method is going determinate what cell the mobile phone is inside and connected to. This is very cheap and easy, but it is also the most inaccurate way of determining the position. Some optimizations can be done to get a better reading. These are some cells that are divided into sections which make it possible to narrow the location to that section. It is also possible to use timing advance which will tell how far from the
base station the device is. When Cell Identity is used and the optimization it is referred to as global identity-timing advance (CGI-TA) and can give an accuracy of 100 to 200 meters. To get the information you have to have access to a mobile positioning center using a defined API.

Time of Arrival
[3] Time of Arrival uses three or more base stations to triangulate its position from how long the signal takes from each base station. This requires the base stations to be synchronized and for the device to have accurate timing of an atomic clock or GPS.

Enhanced Observed Time Difference (E-OTD)
[3] E-OTD is similar to Time of Arrival except for it is the handset that makes the time measurement of the signals from the base stations. The accuracy is from 50-100 meters.

Global Positioning System (GPS)
[3] GPS uses satellites to triangulate the position. The price of GPS equipment is getting cheaper. The GPS is very accurate from 5 to 40 meters and can provide location in 3 dimension, latitude longitude and elevation. One drawback with GPS is that it has to have free sight to the satellites.

Application Development with Location awareness
The two main categories of positioning techniques give the developers two API's to program against to retrieve positioning data are a device API or a network API. The network API is often a Mobile Positioning Center that is accessed through HTTP. For the area of Location based technology to be really successful it is important that the various services have interoperability. This is archived by having standards that the services must conform to like standardized interfaces.

When the location is retrieved you can either develop your own applications that utilize the location position. When the technology matures the market for location based services will probably get big. Your application could use 3rd party services to do useful things with the location data. Location based services will help to archive the goals of making application that will do the things mentioned navigation, tracking, smart queries, event notifications. An example of such a service is the Microsoft MapPoint Web Services [11]. MapPoint Web service can help to integrate high-quality maps, driving directions, distance calculations, proximity searches, and other location intelligence into your application.

Ethical and Privacy Issues with LBS
Location-based Services opens the way for a lot of new and exiting applications, but opens some possibilities that may have ethical and privacy concerns. People often carry their cell phone or PDA with the all the time and location of the device is often the same as the person using it. It will be easy to monitor a person, and a great deal about a person can be found out by analyzing the patterns of where the person goes and how long he stay as the various places. Already today a paranoid person may argue that we live in a "big brother" society, where the government or big companies can monitor you. Your credit card company can monitor when you buy, what you
buy, where you buy and the price of what you buy. The telephone company can monitor where you are and who you are communicating with. Today we accept these privacy concerns if we want to use the technology. We often trust a company with some of our sensitive information, but the fear is that there is a possibility to aggregate the information into complete profiles about people. This profile can be used to monitor people or used in commercial interest as in marketing. Tomorrow the possibilities for monitoring persons will probably get even greater.


Programming mobile handheld devices
Sections in the article
Introduction to programming mobile handheld devices
Handling of temporally lack of network
Locating devices
Discovery of Services
Effective use of limited resources
Location-Based Services
User involvement in selection of service with concerns to price and quality



Setup Software Raid 1 with LVM
Setup Linux with Desktop

Manage your website ads with DFP
Google AdSense for Domains - not so great
Let Google Handle Email for your Domain Name
Page Rank banned by Google
Google's highest ranked web pages
SEO intelligent spam causes irrelevant search results
Google Sandbox
Google ranking factors
How to not give out page rank in web page links

Web Server Programming
Simple Java web server
Simple Python web server
Configuring Apache webserver with .htaccess file

Turn off the loginscreen in XP, after installing .NET .

Turn off xp login screen unread mail count
What is .NET

Web (webmastering)
Introduction to Cascading style sheets (CSS)
The value of Alexa traffic rank
HTML META tag, not a search engine optimization tool
Create a maintainable webpage with modularization
The www prefix in your domain name
What is RSS and cool things RSS can be used for
MySql backup and restore with phpMyAdmin

Mix Computer related text
Doing business (making money) with Information Technology
Business with Computer Science
Research in Computer Science
Current and future possibilities of Medical Informatics
Tasks that make sense to have automated
Programming handheld mobile devices (overview)
Security tips for the web surfer
Price and Capacity in computer hardware
Java RMI Tutorial.

Microsoft Word
Page numbering in Word
Numbering headers or outlines in Word
Create a List of Figures
Turn off the default collapsing menus in Word

Turtlmeat.com 2004-2011 ©