2010
02.24

So I’m a software engineer by trade and passion. Generally, people of my profession and inclination are drawn to all things digital, but I often find myself apathetic. This is mostly due to my high expectations of other engineers and partly because so many mass market technologies fail shortly after release that I find it hard to really get excited. That’s ironic considering I started this blog as a series of perl scripts and SSI files on my Sparc machine running Debian for a webserver, with a domain name on one of the earliest dynamic DNS services.

It wasn’t until last November that I finally became motivated to buy a cell phone. You read that right, I bought my first cell phone 1 month from the end of the first decade after 2000. What motivated me? Android. In fact, the idea that it was built on Linux, which I have been running since 2000, only sweetened the deal. I wanted to develop my own applications and I had read that they were just Java applications.

It turns out that was sort of a red herring. Android itself is open source. That’s already a big improvement over the iPhone (I bet Apple would dispatch assasains to protect their code). On the surface, Android is a platform built for openness and flexibility; precisely why I love Linux. I immediately wanted to download the SDK, which I assumed was just a JAR file. Wrong again. Those instructions are a bit intimidating, especially considering that I generally prefer not to use Eclipse (can someone tell me what Eclipse is anyways; it’s goal to be a platform to build platforms seems vague). I’m no stranger to writing Java; I personally have authored a framework in Java and JNI, that measured in the 6 figure SLOC range, that has made permanent employment for 3 people. Those instructions almost look worse than your typical automake project. My motivation all but vanished when the Android Scripting Environment abandoned 1.5, which my phone runs. It seems the Android Scripting Environment has been fixed to run for 1.5, so it has renewed my interest.

I noticed that I immediately gravitated to the free apps. After a while, I grew frustrated with most applications, providing little motivation to pay for the “pro” version. I started looking for open source versions of some of the applications I would like to improve and found that there are surprisingly few. They are out there, such as Mustard Shelves, and ZXing. There are plenty of apps that feign openness by providing an API for building applications on top of them, such as Twidroid, Last.fm, and Ping.fm. That’s like giving me the instructions on how to drive but not telling me how to tinker under the hood; if you can’t open it, you don’t own it.

I would love to be wrong. Everytime I try to Google for open source applications, it’s usually Google’s keyword matching to the association of Android itself being open source, not about an open source application for Android. If you know of any such applications, please post a comment so that others may find what I could not.