For the past two days, I've been in Santa Clara, CA attending the Web 3.0 Conference. While at the conference, I had the privilege of meeting Bob Anderson, CEO and founder of LogicThread
, a boutique technology consultancy firm. In addition to his years of working as a consultant, Anderson has also worked as a designer at MediaBistro.com, developer for Six Degrees (the first official social networking site) and IT director for Christie's Auction House--just to name a few. These days, Anderson spends his spare time working on Google's Android Operating System, and I wanted to know how it was going. If you've ever thought of working on Google's open source code--or you want an Android developer's take on the Motorola Droid--read on:
Jennhp: What is your background with computers and programming?
I was a physics major in college and grad school and discovered that I actually enjoyed the tools I used to analyse the data more so than the subject matter. My room-mate started a company inventing consumer products with embedded microprocessors and, oddly enough, greeting cards that play music; and I joined him. I loved designing electronics and programming the chips and after we sold the greeting card technology to Hallmark, I kept programming.
I've worked with a number of companies on various software, including work on GPS software, which eventually led me to the application I'm working on for Google. The types of human tasks that are being automated now are different than they were years ago, and I find that fascinating to consider when working on the Android OS.
Jennhp: What are you currently working on for Google?
I'm now building a personal tracking system for the Android OS. The application allows you to track your route for a set period of time--or indefinitely. Using the app, you can click on a data point to see where you were, how fast you were travelling, how many miles you went between stops or destinations, and when you were there. Eventually the app will indicate whether you stopped at a house or a restaurant, etc. I'm also going to build a website that you can upload the information to and use in whatever way you see fit.
Jennhp: Who is your target audience for this application?
Other than parents who want to know where their kids are at any given time? I'm targeting a set of curious people who will be entertained by having access to this information. This application in and of itself isn't unique, but I'm hoping to add enough bells and whistles as it goes through feedback and multiple iterations so that it will catch the fancy of others.
And really, catching the fancy of others is part of the greater purpose of building this application. I want to use it to prove to the marketplace that I can build a functioning application. Applications like this become calling cards for developers like me looking for paying clients. The number of people who can talk a good game about their skills is large, but the number of people who can actually build something that works is limited. Fortunately, the world lets me prove my worth now.
Jennhp: Why did you choose Google and the Android OS as the platform to create your application?
There are too many iPhone developers, so the opportunities with the Android are like an "open west". You have a huge set of people who don't like the closed world that Apple insists upon, so I think that Android products will grow in leaps and bounds and create a huge ecosystem for itself. Google provides a rich environment that I plan to continue to use to my advantage. I like doing leading edge stuff and this is leading edge.
Jennhp: What does Google do to support their open source developers?
Developer.Android.com is a great user community that Google employees monitor and get involved with to answer their open source developers' questions. They also have developer advocates that I've been able to link up with and Android developer meet ups that I've been able to attend. When I got started working on the Android OS, I went to a Google mapping hack-a-thon where Google developers answer your questions and show you how to do stuff.
To be honest, though, the Google documentation is not great. Their reference documentation includes examples but they aren't always in line with the object descriptions. This is tricky because as a developer, the way I learn a new environment is by looking at an example. Understanding someone's words is challenging, but seeing the example in practice illuminates it, but unfortunately, Google doesn't always have it. That being said, they know this is an area they are lacking in and are trying to improve things internally to make it easier on the open source developers.
Jennhp: How can other people get involved with Google and working on the Android OS?
The software development kit is readily downloadable from Google and comes with an Andriod emulator. The emulator lets you build and test stuff without even having an android phone. Now, don't get me wrong, testing is a lot faster if you have an Android phone, but it can be done using the emulator. Personally, I use the Eclipse plug-in. Eclipse is an integrated development environment (IDE). The bottom line is that if someone is a software developer, the process of getting involved as an open source developer for Google is all very straight-forward.
Jennhp: So, you've got a Motorola Droid yourself. How do the Droid and the Android OS differ from other smart phones and mobile operating systems?
The biggest and most obvious thing is that on the Droid you can run multiple apps congruently. You can't do that on an iPhone. The ability to run multiple apps at one time is what makes a smart phone a real computer. In addition, the Droid has an extensive set of objects and lets you control things very nicely. And we all know that Google's mapping system is extensive. Getting access to location is pretty rich--though I'm working for better on the GPS side.
I should say, however, that I have never used an iPhone myself. I have friends who have and they are highly satisfied with it. All-in-all, I'd say the iPhone and the Droid stand apart from other smart phones.
Jennhp: Do the Droid and the Android OS have any apparent weaknesses?
I'm sure that the Android OS has weaknesses, but I can't think of any off the top of my head. As for the Droid itself, I'd say the keypad is a problem. I know it was used as a marketing tool for the Droid, but the keypad is so small that I really don't use it. Another bug I've found with the Droid is that even after I turn off the sound for when I get an email, the phone still makes a noise. I've set it to silent and saved that setting, but it still makes a noise when I get a new email.
Jennhp: Bottom line, why do you like the Droid and/or a phone using the Android OS?
When I got my hands on the Droid, my level of excitement about the world went up. The capabilities that having a smart device in your pocket add to your life, make life so enjoyable. The Internet and email are game changers on a smart phone in and of themselves, but then you get things like Google Goggles and scanning software apps and all this location software that all make it easy for us to go about our day with less hassle.
The good thing about Google are the richness of all the Google apps and the ability to integrate with Google apps, as well as the navigation and the maps. But really, it's about having your own office, especially as we put more and more of our stuff in the cloud; and this phone (the Droid) allows you to access it.