Recently I visited Jazoon, an international conference for Java developers at Zurich, Switzerland.

Having heard a lot of interesting talks, I want to sum up my impressions and try to figure out some of the latest trends in the world of Java as well as interesting facts for software architects.

This is part 4 of my series of blog posts and deals with

Google Android

In his talk about the Google Android platform, Peter Wlodarczak described the experiences he made when developing a mobile application for the new Smartphone OS from Google.

His application is a mobile translator, which is even able to do some OCR in order to translate e.g. Chinese signs.

Developing applications for Windows CE based Smartphones for years, I want to compare the impressions I got from Android to the experiences I made with Windows CE.

Because up to now there are no real devices available running Google Android (first ones are expected for Q4 this year), you have to rely on an emulator in order to test your applications.
Google provides different skins for the emulator, representing various types of devices (with/without keyboard and so on). Also, there are several debugging tools you can use to connect to the emulator and to monitor your application.
It will even be possible to debug on real devices. Well, that’s pretty cool, but MS supports these features for a long time, so there is nothing new about this.

The architecture of an Android application follows the typical SOA style.
This approach is totally different from the one they chose in Windows CE, where you have several object orientated languages (mainly VB.NET, C#, C++).

Instead, Android offers some kind of scripting language that can be used to clue different services together. In his translator, Peter uses the Google language tools as well as an OCR service to recognize images taken by the cam of the Smartphone.

I think this idea is pretty cool, since it makes developing applications very easy and comfortable.
And it perfectly fits the fact, that most mobile applications are rather lightweight and just consume various services instead of doing massive calculations themselves.
However, I assume it will have some drawbacks when you have to write programs that contain a lot of logic. In this case I would prefer an OO language and/or the power of e.g. the .NET Compact Framework.

Another aspect that the developers of Android have to think about before they do a final release is setup and deployment.
Currently, there is no possibility to deploy an Android application in a way that each user (who may have no idea how to use his Smartphone ;) ) can easily install it.
For developers who target a broad mass of users, it would be nice if they could publish their applications e.g. over the internet, so that each end user can download and install it without having deep knowledge about his device.
Microsoft is ahead in this area: you can package and deploy your application in a CAB file. The only thing a user has to do is to copy it on the device and to execute it (and there are ways to make this process even more easy).

So to sum up, Google Android is a very modern platform which allows comfortable and easy development of mobile applications.
However, in my opinion there are no exceeding features that raise it over its competitors, which in this case should mainly be Microsoft Windows CE, since Symbian is a closed platform and Apple and Palm don’t have a big share in the market (but Apple will grow, I guess).

Jazoon 08 (Java Conference in Zurich) - Google Web Toolkit
Jazoon 08 (Java Conference in Zurich) - Ajax Push
Impressions from Jazoon08 (Java Conference in Zurich) - Scala
Window locations in Java

Are you interested in reading more from CodingClues?
Then subscribe to new postings via RSS or via E-Mail.

close Reblog this comment
blog comments powered by Disqus