Android and App Development

I love Android. It is flexible, feature rich and becoming more polished every day. Development is happening at a breakneck pace. It uses Linux at its core and is mostly* open-source. The asterisk is because certain elements of a typical Android install are closed, like Google’s gmail and market apps (which both have OSS alternatives) as well as some manufacturer radio integration and device drivers. There are some people in the OSS community (the same people that would be angry at me for neglecting the “FL”) that deplore the fact that there are any closed elements in Android at all; to them, I say, “keep fighting the good fight, but I’m going to use and support the best option that is currently available.” Other people (for example the author of this ill-written post that made the front page of digg, will claim it is not open-source because Google ultimately chooses which patches from the community get accepted or not. However, as AOSP developer Jean Baptiste Queru has said, this hasn’t prevented significant opensource contributions to Android 2.x. Open-source does not mean open-decision making (just ask Mark Shuttleworth); so, these accusations are just silly, and, concluding that there is little difference between the iPhoneOS and Android is absurd.

Anyway, I think, ultimately, the proof is in the pudding. If you need proof of Android’s open nature, I point you to the fact that it is popping up in all sorts of devices without Google’s name on them: Archos tablets with their own Market, the Barnes-and-Noble Nook and AT&T phones that replace Google’s services everywhere with Yahoo. This is the real value in Android’s openness – the ability of manufacturers to use it for whatever purpose they want. And, the source code being available sure doesn’t hurt Cyanogen’s ability to make amazing ROMs for the Android phones that many of us own and love – anyone with a G1 want 2.1 on their phone?

Android also happens to have the most open software-store in the mobile world (not to mention the fact that you can install software on your Android phone from any source outside the Market whatsoever). Which leads me to the other point of this post: I have written a couple Android apps and released the source. As a developer, I didn’t have to pay an large amount of cash for the SDK or sign the ludicrous developer agreement that Apple requires for their devices (including restricting the tools you can use to write your app and limiting who you can give it to and by what means). For Android, all I had to do was download the free SDK, try out a few example apps, and off I was (granted, the second app ended up being pretty involved). So, without further ado, here are the two apps I made:

1.SquirrelCam (Available now in the Market). The ledge off my office is home to a squirrel nest every spring. We set up a webcam that utilizes the Linux OSS project web-cam server to set up a live webcam stream. The only problem? It doesn’t work in any mobile browsers (and it wouldn’t be a very nice experience even if it did). So, I wrote a android app to connect to the stream, show live video and allow the user to save frames to his/her sdcard.


2.EMusicDownloader (Coming to the market soon.  For now, grab the apk file from launchpad). is an awesome DRM free music and audiobook store (I think they are the only DRM free audiobook store actually). To downloads albums and audiobooks from the site, however, you need a download manager – there are a couple open-source options for a Linux desktop. EmusicDownloader for android serves this purpose on Android phones. Allowing users to browse on the Android browser and then download their purchases directly to their phone using the app.  And, because the files are DRM free, you can copy them to your PC at your convenience.


To conclude this Android lovefest, here is a list of some of my other favorite Android apps (not developed by me) for you to try out:

Shoot U! – A super fun game by Camel Games, my favorite Android game developers.

Dropbox – If you use it on your Ubuntu machine, you’ll love the Android app.

Astrid – Open-source todo list that syncs with remember the milk = awesome

AmblingBookplayer – Awesome audiobook player/downloader for Android.

GoogleVoice – If you don’t know what GoogleVoice is… go check it out now!

Google SkyMap – Best augmented reality app ever.

WordPress – Manage wordpress sites on the go.

WordUp! – Fun word finding game.

Listen – Awesome podcast fetching app.

Boxee Remote – Control your Boxee box with your phone.

OI-Filemanager – open-source file manager

Qik/Ustream – Stream live video from your phone

Picsay – Edit photos and add amazing effects right on your phone.

Fring – Make Skype calls over 3G.

– Control your phone’s behavior based on all sorts of criteria.

Shazam – Everyone knows what this one is right?

ShopSavvy – Scan barcodes to get web/local prices and reviews.

+Many more.  Come to this weeks BerkeleyLUG meeting on Sunday to see the full list.

Leave a Reply