Skip navigation

The last few months I’ve been working almost exclusively on an Android app which has afforded me the opportunity to see some of the differences between developing for Android versus developing for iOS. I’m not going to provide a laundry list of differences here, only general impressions.

Developing for Android is largely a DIY or roll your own affair. Android development is done using the Android SDK and the Android Development Toolkit (ADT) plugin for Eclipse. Eclipse itself is a popular IDE platform and there are some great tools that have been built on it. Unfortunately, ADT is not one of them. It is adequate, but decidedly primitive compared to XCode for iOS development and that gold standard of development tools, Visual Studio for Windows.

To make matters worse, implementing and using various widgets in Android is a more difficult affair than the equivalents in iOS. In short, XCode builds out a lot more stuff for the developer than the Android tools. Again, I haven’t done a bullet by bullet comparison. These are just my general impressions having worked with both.

Outside of the tools, the other thing I found daunting about Android was the lack of a strong set of design guidelines. When I first started learning iOS development, I was immediately indoctrinated with Apple’s design guidelines in form of print and WWDC videos. When I started Android development, there didn’t seem to be an equivalent transmission of design DNA.

With the release of Android 4, aka Ice Cream Sandwich, Google is finally speaking with a strong Android design voice. The Android Design site provides very clear guidance for Android app design. And I’ve seen great improvement in the overall Android Developers site as well. Given the great heterogeneity of the Android ecosystem, speaking with a strong unified voice is essential.

As a developer, I’ll be much less reluctant to embarking upon new Android projects if I can easily learn the Android way of doing things straight from the source, rather than having learn it by trial and error. Now if they’d just improve the ADT and drag its antiquated GUI designer into the 21st Century, they just might get some happy googly  eyes from me!

Apache Hadoop reached a major milestone yesterday in the life cycle of any kind of software, its 1.0 release. While Hadoop has already rocketed to the top of the charts in the world of Big Data counting the likes of Yahoo, Facebook, and LinkedIn among its contributors and customers, it has also picked up some interesting new fans in the form of erstwhile competitors Microsoft and Teradata.

Late last year Microsoft announced support for Hadoop in their cloud computing platform Windows Azure. And earlier, Big Data titan, Teradata, announced Hadoop support as well. So clearly the handwriting is on the wall and Hadoop stands ready to take a top position in world of Big Data just as Apache has already taken in the world of web servers. Happy 1.0 Hadoop!

This morning’s email greeted me with a letter from Google announcing the end of App Inventor as a Google product.

Dear App Inventor User,

As we announced on the App Inventor Announcement Forum, Google will end support for App Inventor on December 31, 2011, after which data in will not be accessible and will be deleted from Google servers.  You can preserve your App Inventor projects by simply clicking on the Download All Projects button on your My Projects page.  This will download to your computer a zipped archive of all your projects.  We recommend you retrieve your projects well before December 31st.

By the end of 2011 Google will also be making the complete App Inventor source code publicly available under an open source license, so that anyone can study the code and modify it as they desire.In order to ensure the future success of App Inventor, Google has funded the establishment of a Center for Mobile Learning at the MIT Media Lab.  Sometime in the first quarter of 2012, the Center plans to provide an App Inventor service for general public access, similar to the one Google is currently running.In order for you to continue working with your projects in an open source instance (MIT or otherwise) of App Inventor you will need to download your data from appinventorbeta.combefore December 31st and later upload them to an open source instance as it becomes available.

Please visit the App Inventor user forums to get future updates on App Inventor.  You can also visit for updates on what is being done with App Inventor at MIT.

The App Inventor Team

Recently, I’ve had a chance to work on my first Android app project and quite honestly, compared to building iOS apps, Android is a mess. There are a lot of things like gesture support for one, which are easy to do in iOS and unnecessarily difficult in Android.

I had hoped that App Inventor might grow up into a tool that would take a lot of the pain out of building Android apps. That may yet happen, but not as a Google product. I’m happy at least that Google is releasing the code so that others can build on this promising development platform.