I was always skeptical about the Gphone. I thought the entire idea of Google making a phone seemed silly to me. Google being a software/web company making hardware seemed too big a step. There were obvious comparisons with the iPhone and I was one of the biggest critics of Gphone for my colleagues and friends.
But a few weeks back when I first saw Google's press release about the Android, I got a little more interested. But my doubts were still there... And on 12th Nov, when I downloaded the SDK and saw the presentation videos, I realized this is what programming on mobile phones will be in the near future. I try to present a developer perspective on why programming on Android will be successful. May be the handset manufacturers and operators would want to differ, but for the developers I think Google's done a great job.
1.) Free & Easy Access: Its "free" as in beer as well as "free" as in freedom. Operators and manufacturers will be able to customize and install for free. Thus, it'll be cheaper to build compared to say Windows Mobile, UIQ or Symbian. Also, Google/OHA intends to provide enough support for everyone which will be free or cheaper than anything else in the market.
2.) Promise of JavaME: If you downloaded the SDK, you know that its like JavaME and programmed on Eclipse. JavaME (earlier, J2ME) already has a huge developer base and the learning curve to develop applications for Android is going to be a small one. The porting of already developed application would be easy. You could add new functionality to old JavaME applications very easily.
3.) Good interfaces: The UI parts like Layouts, AdapterViews and using XML to design the UI, make Android what J2ME interfaces should always have been. Its more like J2MEPolish if you think of it as a developer. Something like Matisse (GUI Builder/ WYSIWYG Visual Designer) should have been done by Google for faster & easier GUI design... (I don't mean adding Swing, 'coz not every mobile device would be capable enough. Only a GUI builder).... 3D/2D with the openGL system is also easy to use. Its more like JSR239, so small learning curve again!
4.) Great apps: Being able to use Google's applications like Google maps, Gmail.... and WebKit (not Google's tech) within your application reduces a lot of effort for the developer and helps new innovative features. The use of the notification area across the platform is another exciting feature for developers. It feels like being able to use the system like Symbian development with Java...
5.) Linux based: Being Linux based is not new. Motorola among others already have a few Linux phones. But its worth mention because with Linux you know that there are fewer bugs as its been a few years that Linux is being used for mobiles. A lot of ironing as already been done, which means its stable than anything new Google would have developed.
6.) Hardware requirement: The hardware requirements with Android are not yet to be found. But the promise seems like it'll be available on most devices. If this turns out to be true then it means that our application is available to a larger audience. May be the Optional APIs like LBS (Location-based services), Media API, 3D and Low-level hardware access will be device specific, but other than that, it'll be probably common. For the developer it means you have to think less about which JSRs the device supports
7.) Eclipse & Developer love: Google's "Don't Do Evil" philosophy means that quite a lot of people love them including developers. Google's earlier tools like GWT, Google Gears are examples of excellent tools that developers love. The SDK is Eclipse and this means there are lot of developers who already know to use the IDE and platform.
8.) Publicity: As developers, the added advantage of developing for the Android is the publicity you may be able to get. Being the first apps to be built for Android, its obviously gonna catch the eye of a lot of other developers and consumers.
9.) Cash prize: Its part of publicity as well as getting rich. If money and fame are motivations for you as a developer, then Google has hit it right!
10.) Hype: Like they say, "Any kind of publicity is good publicity". Look at Apple's iPhone and you'll know that the hype created around it helped quite a lot of sales for the product. There so much hype around Android these days. Since Android/Gphones are already so much in the news, its pretty evident that