This is not without reason. Solid software components coupled with market winners such as Droid helped Android ride the tide. Add to it, a wonderful development environment for application developers to produce applications that are not merely stripped down versions of their PC counterparts, but give their PC cousins a run for their money. With the 1 GHz SnapDragon processor from Qualcomm, speed is not as big an issue with mobile devices as it was two years ago. Nexus One introduced Android to SnapDragon and HTC EVO 4G has just stretched the envelope - it is HD capable, has two cameras, boasts of a 4.3'' touch screen, supports WiMAX, packs 1 GB internal memory and lastly has a HDMI out port. So, we can now leave our portable media player at home and carry Evo while on a vacation. This is the most technologically advanced phone running Android to date.
Now, the gripes. Fragmentation, I hear developers screaming in unison. Starting from 1.5 to 1.6 to 2.0 to 2.1 to 2.1 update1, too many versions of the OS are running on devices currently in market. This makes is difficult for developers to have 1 app for all these devices. As the platform has evolved quickly over the last 18 months, this is understandable. The next update would be in the near future, may be as early as in May and is titled Froyo (version 2.2). The one after Froyo is titled GingerBread. It seems Google intends to streamline the platform with these two releases and address this issue of fragmentation. Also, Andy Rubin, VP Engineering at Google, has confirmed that Froyo would have support for Flash run time which is a major differentiator for Android devices running Froyo and above.
All in all, things look promising. With 18 phones scheduled for this year, Android is going to gain traction and throw in the tablets/net-books and things look brighter. As I wind this up, I wish to quote Eduardo Cocozza, Director of Software Experiences and Ecosystems at Motorola, who will be presenting the TU201 session at the MOTODEV Summit in SP, Brazil on May 5th. Here is his advice to developers making android applications.
a) Be Relevant: great applications solve user needs and carriers problems better than other available solutions. Solve something others are not doing or doing poorly…Until next time, cheers!
b) Be Cool: innovate (user interface, response speed, and social networking topics): do something that everyone will be talking about; word of mouth is still a valuable promotional tool!
c) Be Simple: provide completeness to user intent; think in having your parents as your end user when designing apps. If your parents can understand and use it, you are on to something…