The Curious Case of Android UI Development
March 7th, 2011 § 2 Comments
Though a bit of a well-worn topic, it is worth mentioning the development “culture shock” experienced by those coming from the iPhone world armed with tools like Interface Builder (for all its shortcomings) to Android-land where we are left with the technological equivalent of sharpened sticks and smooth stones. However, the subject is worth revisiting at intervals to see if the state of affairs is getting better. Unfortunately, I think the consensus has come to be more like Swing/AWT programming in Java in that if you want it done “well” or “right” or whatever word you want to insert, you need to do it by hand and leave the tools at the door.
Now perhaps our situation is a bit different since we have eschewed the use of Eclipse, which has the ADT Plugin with a visual editor, for the lightness of IntelliJ IDEA 10 with its bundled Android support in the community edition. All in all, it has been a good experience as IDEs go, but there is no special support for UI development. So what is one to do? Running two IDEs is not only asking for trouble, but an exercise in ridiculousness. I find myself looking around and seeing if there are some better options out there or at least something to speed up the process a bit.
There was a bit of buzz last year about a curiosity called the App Inventor for Android, a project by the folks over at Google Labs. In a nutshell, App Inventor is a web application with a simple GUI design tool that allows you to create simple UIs, assign behaviors to the widget events, and easily deploy these apps on a real phone. The problem here with this clever tool is that currently it is only suitable for toy applications, and while impressive for that use, does not provide the degree of control necessary to create more complex software. At the present stage of development, I am not sure it will really move in the direction of being a serious tool in the future, but instead occupy more of an “Intro to Mobile Dev for Non-Programmers” sort of vibe.
From the newness of the App Inventor, we need to mention DroidDraw, the old dog who is bit long in the tooth but is mentioned in just about any search you might do on the topic. Realistically, while this tool filled a need perhaps two years ago, it is old, outdated, and honestly a bit too buggy to justify consideration. I think most folks who were using it have now moved to the visual editor included with the Eclipse plugin. Wish there was more to report on this front, but I don’t see any evidence of this project moving forward.
At the end of the day, we have cast our lot with IntelliJ with hopes of more tools on the UI front but internet artifacts such as this and this indicate that we shouldn’t hold our breath. Long live XML.


[...] found this article, The Curious Case of Android UI Development, while getting my head around moving from iOS UI development to Android, as I am now doing UI work [...]
I’ve been developing a layout library that takes away a whole lot of pain writing Android apps:
http://code.google.com/p/table-layout/
Ditching the XML might seem scary at first, but it is sooo much easier to get the layouts I want this way.