Following Google’s effort on open social, they are at it again, this time they are trying to do a similar stunt with mobile platforms. Honestly, as an entrepreneur I am a big fan of Google because of their ability to achieve so much success at such a short period of time. Google’s reputation was what got us interested in their Android platform. After discussing among ourselves, we decided to start exploring the possibility on creating an innovative solution on the Android platform.

The initial process to get the platform and development tools up and running is very simple. It took me merely 15 minutes to install and write my first “Hello World” application. Playing with the Android emulator was both impressive and fun. It has all the charm of the iPhone with the additional capability to allow developers to build real applications on it. As much as I like this new platform, there are down sides. These down sides become more apparent to me as I started reading through their documentation and following their tutorials.

Source Code Portability?

The first issue I discovered was the way Android was designed. Activity, intent, service and content providers was the new way Google wanted developers to think on their platform. But wait, the first warning signs lighted in my mind. That means that the applications I write for Android cannot be reused on another Java enabled phone without making major architectural changes to the source code. Bummer! There goes my source code portability, now I got to write one version for Android and another for other Java enabled phones. The new design concept on the whole is good except that it makes reusable code harder to write because now I got to add more layers of needless abstraction in my code to ensure it can be reused on other mobile phone platforms.

Hidden Complexity?

I might be wrong here but while running through the tutorial I started to get the feeling that Android was designed for and by web developers. The concepts and unnecessary complexity seem to have come from a web development mindset. Instead of thinking the normal Object programming model, Android’s programming model indirectly forces you to think tags for GUI, code for event handling, services for facility or code reuse and content providers for managing data. I understand why the web programming model is designed the way it is because the code is often broken up into server and client side then glued together by requests and passing parameters. But why does the Android’s non-web application development model resembles it so closely? Are they trying to attract web developers onto their mobile platform? I personally felt somewhat handicapped by the development model.

In summary, it will take a while before I get comfortable with this new platform. With the prize money that Google is offering, you can be sure that many others like ourselves will be giving it a go. However, whether this new platform can retain its users and developers is still an open question!

  • Post Comments

Name (required)
Email (required)
Your email will never be published nor shared.
Website  
Comment