The long awaited Google phone turned out to be just an OS. What does it mean for us, mobile software developers?
Personally, I think this is great news. An open mobile platform is something that was long due to stir up the world of RIM-Windows-Symbian.
Android managed to get many things right from the very beginning, things that took several years for S60. While S60 initially took Microsoft-style approach to development community – with multi-level support, exclusive club membership with access to the source code, signing and licensing, Android is quite open and democratic.
When Google announced Android SDK – my first thoughts were – it’s a smart move to release SDK before devices are available. Google’s name alone would be enough to attract developers and hackers to this new platform, so they can create a developer community by the time devices are shipping. Then Google announced developer challenge with $10mln in awards.
Ukranian software house OreDale offers to implement your ideas for Android developer challenge for a reasonable compensation.
Android freeware directory already features 21 application.
What is it that I liked so much about Android? Mostly things that I complained about in Symbian/S60.
On November 12th, 2007 when first Android SDK release appeared on the web I downloaded and installed it on my Linux machine. Size of the SDK was more that reasonable – 54Mb. Emulator startup was fast. There were plenty of sample applications illustrating APIs. Installing Android plugin for Eclipse was simple. Debugging and tracing tools were also in the pack.
Unfortunately developing for S60 in Linux is still not an easy ride. S60 v3 FP1 SDK for Windows is 354Mb, which still might be a problem if you don’t have fast internet.
- Developer support
Google got Android developer support under control from the very beginning – forums, blogs, online SDK documentation, API examples, application examples, video tutorials, – all on http://code.google.com/android.
- Software development – learning curve
If you ever developed for Symbian OS, you know that you have to learn a lot of new stuff – what are the basic types in C++, how to work with strings, how to implement multithreading, how client/server works, how Symbian database management system works, etc. Unfortunately entry barrier for Symbian development is high.
Android, even though it is a Linux based OS, has chosen Java as the main programming language and Sqlite as DBMS solution. If you know Java, you can start coding for Android already today.
I wrote about issues related to software development on S60 platform in “Do we really have a mobile development platform?“.
Nokia has taken several steps in order to make development for S60 easier and lower the entry barrier – such as Open C and Python.
But as Michael Mace writes in his “Google, the OS company blogpost about Android impact on Symbain“It’s not fun competing against a free product that’s been subsidized by one of the richest companies in the world (just ask Netscape).”
- Security and openness
I wrote about S60/Symbian platform security issues in “Symbian OS Platform Security – good or evil?“.
Android’s approach to security is along the lines – let the user decide. Application defines which permissions it requires – and user grants these permissions when the application is installed on the device.
Let’s see what it turns out to be in the real world – in “At application install time, permissions requested by the application are granted to it by the package installer, based on checks with trusted authorities and interaction with the user.” statement “trusted authorities” is a subject for concern.
- Developer perspective
I can recommend an excellent artile by John Lombardo “A developer’s perspective on Google’s Android” that describes first-time user (developer) experience with Android.
- Consumer perspective
From a consumer perspective Android appears to be a well designed platform that can be easily extended. At the moment it has less default applications than S60 platform, but firstly, that will be compensated by 3rd party developers (especially since “all applications are equal” idea is core to Android ideology), and secondly, Android provides a powerful browser based on Apple’s WebKit browser engine (same as used in iPhone and newer S60 phones), which would allow users take advantage of all internet services offered by Google.
- Open Handset Alliance
Open Handset Alliance established by Google caused a mixed reaction from Nokia.
Helsingin Sanomat wrote that: ” Nokia feels that Android, a mobile telephony alliance announced on Monday by Google, is unnecessary because Nokia has already been doing nearly everything that the alliance is just talking about. Nokia says that its S60 platform, which is based on its own Symbian operating system, is the best and most workable foundation for Internet services of mobile telephones”.
On the other hand Kari Tuutti, spokesman for Nokia Multimedia, said that Nokia joining Open andset Alliance is not ruled out at all.
Android is a new guy on the block, and it is not all roses. It still has to survive the harsh reality of hardware products manufactuing world and maintaining API compatibility between versions and devices in order to establish itself as a real platform. Because of the Apache license used for Android SDK “applications designed to be compatible with Google’s platform could be made incompatible with a particular device, by a handset vendor who removes core Android APIs and replaces them with their own closed source alternative“.
Integration with the real hardware can bring more surprises than anticipated by a company with software background. So I wouldn’t count on seeing first Android devices earlier than Christmas 08.
Google got many things right and made a very good start. Android looks quite promising, and Google seems to be quite serious about making it world leading mobile platform. At the same time Nokia has an established platform, a huge base of S60 devices already on the market and talented S60 R&D team.
Year 2008 promises to be very interesting.