Google Android: New opportunities for mobile applications
Last week Google launched it’s mobile platform Android. In my previous job our company developed applications for Symbian OS and Java ME. So I know the problems and pain for developers to create mobile applications. Therefore I was very interested about this Google initiative.
As many other developers I installed the SDK and Eclipse plug-in. Installation, configuration, programming and running the first small applications in the emulator was extremely easy and great fun. Documentation is also quite good already, so everything is there, that ideas for new applications and businesses can grow.
I predict that next year will be a big change in the mobile market. First, Apple’s iPhone is an amazing mobile phone with unique user interface ideas. But until now developers can only write web applications with some client side Javascript code. Second, Google Android puts a lot of pressure to the other mobile platforms, like Windows Mobile, Symbian, … I already had a clear vision about my personal future direction, but I will probably start to re-think everything. There are probably great new opportunities in developing applications for mobile phones.
After writing some Android demo applications I examined the Android API’s. Android consists of the following parts:
- Android API’s
- Java 2 SE based on Apache Harmony
- Apache Commons Codec for encoding/decoding
- Apache Commons Http Client for HTTP access
- Bluez bluethooth protocol stack
- JSON libraries for light weight data exchange
- Junit test libraries
This is quite OK as a starting point. I will probably come up with some missing libraries when more working with the framework. So let’s have a closer look at the Android API’s. My first impression is, that the interfaces and classes are structured very differently. I assume that the packages are developed by separate teams with no one responsible for the overall API’s. I would have expected cleaner and more consistent class and interface definitions.
Packages
android.location and com.google.android.maps
This is obviously the most interesting and fascinating package. It enables developers to create location based services and even include Google Maps. I will definitely try out these package. And this will probably the basis for many cool ideas and new services.
android.database
Package to persist objects. I looked at the API and was very disappointed. I hoped to find something innovative and easy to use like db4objects. Instead I found something that is even more confusing then JDBC.
android.media
This package contains API’s to control a media player and media recorder. Used to play and audio and video files. Looks quite simple, but I did not find anything about supported codec’s and DRM’s. But as PacketVideo is part of the open handset alliance and contributes to the Android platform, I expect that the most widely used codec’s and DRM’s are supported. Find more at the PV Technology page.
android.speech.recognition
Quite interesting. Speech recognition is a very complex topic, and you have to be careful, how advanced the speech recognition libraries are and what functionality they support.
android.telephony
API’s to establish calls from your application, or send SMS messages. Cool.
android.webkit
This enables you to embed HTML components to your application. Interesting fact is, that Apple’s iPhone and Google Android use the same framework, that is WebKit.
Summary
I’m really very impressed by Google Android. It will definitely change the mobile market, and I will evaluate if there is a business to develop mobile applications for Google Android, Apple iPhones or Windows Mobile. This would really be great fun.
November 19th, 2007 at 6:02 pm
Hi Markus,
db4o runs on Android, out of the box, so you can use it as a premium persistence option and ignore the SQL hack. Stay tuned for more specific releases from our end to Android.
Christof
www.db4o.com
November 19th, 2007 at 6:18 pm
Hi Christof,
cool. Just read the post Why Android will start the mobile Tornado at your developer community area. Is really great, but I hoped that Google comes with such an innovative persistence solution out of the box. But anyway, I’m glad that db4o runs on Android.
Markus
November 22nd, 2007 at 2:20 am
Hi Markus!
nice summary.
I wasn’t aware of android.speech.recognition yet, thanks for the pointer.
I will look into that package.
In my opinion speech recognition and database querying go together in some way to make results available fast. That’s for sure an idea we are going to spin at db4o.
Good luck for your next career plans in the Android world!
Best,
Carl
June 18th, 2009 at 7:59 pm
I just wanted to say thank you for such a great post. I’ll be visiting your blog again and adding you to my reader ! Thank you again
Thanks,
Denise