HOME
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>

Synchronization
Data Synchronization is the process of making two data sets identical. Synchronization is important in mobile devices both for update of data on the mobile device and propagation of data created on the mobile device. This synchronization is often between the mobile device and a database. The mobile device may not want to have always on connectivity because a user may have to pay by the minute he is connected. It is also likely that even if wireless networks are widely available sometimes the user may be without network connection.

The Disconnected but Synchronized [2] is suggested as a good model for mobile devices where there may be lack of network connection. In this model the client can be on-line and offline at times, but still support synchronization. The goal is to give the user an illusion of uninterrupted operations even when network connection is lacking.

Synchronization done in applications most often involves synchronizing enterprise data in a database.The major database vendors IBM, Orcale, Microsoft, Sybase/iAnywhere, PointBase and others have their own synchronizing software that you can use for their database. These solutions differ in how synchronization is done, what programming language and platform are used, over what network protocols they use, how security and conflict resolution are done. There is one problem with all these proprietary solutions that they make it difficult for application developers and device manufactures to support these. It can be difficult to integrate synchronization between applications from different vendors.

SyncML
SyncML [12] is an open standard that defines a language for synchronization of devices, applications and networks. To operate efficiently over wireless networks the commands and data in SyncML messages are defined in WAP Binary XML. SyncML do not dictate what transportation protocol that the messages are transmitted over. This enables synchronization with SyncML over a variety of protocols like HTTP, SMTP/POP3/IMAP, Bluetooth's OBEX and Infrared IrDA [13]. The corporations behind SyncML Ericsson, Nokia, IBM, Motorola, Lotus, Palm, Symbian and other are working to make SyncML the standard method for doing synchronization on handheld devices. If SyncML becomes the standard the benefits of SyncML for application developers is that they do not need to support a wide range of synchronization technologies. For device manufactures it will be a great benefit to only support one standard since storage on devices are limited. For users it will be a benefit with interoperability of many types of devices and data types that SyncML
will give.

The roles in SyncML are client and server. Most often the client initiates the synchronization. The server can initiate the synchronization if it is an always on network. Client/server refers to roles in the synchronization. Synchronization with SyncML can be used in applications that synchronize between any sort of device for example between to handheld devices or a handheld device and a traditional stationary server.

Conflicts will happen in a system with synchronization. A conflict happens when data is modified on both the server and the client. The synch server in SyncML will normally resolve such conflicts according to a policy. The client will then get a notification of the conflict and how it was resolved.

 

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
Synchronization
Security
User involvement in selection of service with concerns to price and quality
References

 
 

 



Linux
Setup Software Raid 1 with LVM
Setup Linux with Desktop

Google
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

Windows
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 ©