Tuesday, February 21, 2006

The future of Mobile Development?

There are a number of companies out there that create products that synchronise data between a server and mobile devices. The type of synchronisation I want to talk about today is over GPRS.

Basically (very basically), a program is installed on the server back at the office. It monitors a database and if any changes are made, it sends the data out to the device over GPRS. Then a program on the device updates the local database.

One of the reasons for this approach is that GPRS is still too slow to have data requested from the server in real time. The local database is effectively a cache.

I forsee the day that WiFi coverage will be so extensive that we're not even going to need a GSM network. Hence products like this WiFi mobile phone.

Now I'm going to digress with a little trip down memory lane. Back in the early days of my programming career, we couldn't assume that the executing PC had a fast network connection. So we had to build complex data synchronisation products to get around this network limitation.

But as networks (both LAN and broadband internet connections) became faster and more prevalent, it became simpler to have a single data source and remote applications accessing the data in real time. Thus the spread of web based applications to the point that I haven't worked on a Windows Forms application for a very long time.

I hope you can see where I'm headed here. I'm not convinced that there is a future in data synchronisation across GPRS. I expect that once WiFi/3G connections are reliable and fast enough mobile applications will be replaced by web based applications. Especially as the newer generation of mobile web browsers get more sophisticated in their display options.

1 comment:

Glen McGregor said...

I think GPRS will disappear because the underlying network will be based on TCP/IP, which removes the need for a custom layer on top of it.

I also expect that at some point in the near future there will be wireless coverage everywhere. So I don't see any need for a local data store at all.

The form factor is definitely a problem. I guess on a desktop/laptop there is enough screen real estate that the inefficient user interface of a browser is a decent compromise.

It just seems that all the business drivers that cause web apps to be so popular (thin client, low deployment, configuration and compatibility testing costs) will apply to mobile devices as well. Are we really going to want to test all apps on all different platforms/devices?