I have to admit that I’m a bit of a Mac fanboy. From my desktop Mac Mini to my phone, I currently have 5 different gadgets with the Apple logo in my daily life. The software is practically flawless; they work well together and do almost everything I want them to. That ‘almost’ part though is the result of Apple’s famously closed system and as a result, I’ve had to break several warranties to get my own gadgets to do what I want them too.
I’m a big proponent of open source software and have always had an eye on Android. There were just enough fatal flaws to keep me from switching: the software was buggy and inconsistent; updates to the operating system were fragmented and often required a hardware upgrade; the latest hardware was never available in Canada.
However, when the chance to attend the FITC Spotlight on Android developer conference was offered, I jumped at the opportunity. The release of Android 4.0 (codename: Ice Cream Sandwich) was just days away, and I was curious to see how far the technology had come. The event consisted of seven speakers during the day and an Android code Jam after to put what we learned to use. I had never developed an Android app before, so I installed the development software and arrived for the day with my laptop and my first ‘Hello World’ app.
For a developer, the numbers on Android are impressive and intimidating at the same time. Over 59% of the world’s smartphone market is run by Android and it was the fastest growing smartphone OS in 2011. There are also now over 400,000 apps in the Google Play store, approaching the 500,000+ in the Apple app store. However, between phones and tablets, there are literally hundreds of different hardware devices and screen resolutions to consider and 80% of the market runs on Froyo or Gingerbread – the old 2.X versions of the OS from 2010. That fragmented world makes me want to run back to iOS with only 2 resolutions (iPad, iPhone) and 75% of devices had the latest versions.
Thankfully, with Android 3.X – Honeycomb (notice a sweet trend?), Android started to address the fragmentation by introducing the standardized HOLO theme that will be mandatory on all Android devices. The variety in themes available from different device vendors added to the fragmentation and caused developers more headaches. Now, with HOLO, there is a system theme built in that is designed to scale across many devices and it’s been improved in the latest release. The common design allows developers to think less about button placements and screen layouts and focus more on the user experience. It’s also compatible with older versions of applications and cleans up the upgrade path for older apps.
Of course, the major benefit with Android is the openness of the platform. The source code is available for free and developers can modify the libraries as they need. It’s also possible to create your own libraries and there are already many resources available online. It’s not even necessary to have your app approved in order to distribute it. There’s no gatekeeper to the app store; apps require no approval and Google doesn’t take a cut. It’s even possible to download your app directly from a website. This makes it easier to distribute an app as a beta or full version giving developers a larger audience. Android apps will soon have an even greater reach with the release of the BlackBerry 10 OS as a demonstration showed that it’s possible to easily port apps directly to BB.
The highlight speaker of the day though was Pearl Chen, an artist, designer and developer who demonstrated just how open the Android OS has become with her ‘Better with Friends’ presentation. She showed how developers are extending the platform with new open hardware standards like Arduino and NFC (Near Field Communication). The Arduino circuit board plugs into an Android device and gives an interface to external hardware like lights, motors and sensors. People have used it to create some really interesting projects from art and robotics to data gathering for science experiments. She also showed how NFC is being is being used to create new interactions (beyond payments) for people to share information and connect with the physical world. The possibility with these new technologies is eye-opening and inspiring.
Luckily, Pearl was also leading the code jam later in the day. We were all given a variety of NFC stickers and some base code to experiment with and learn. The development process is relatively simple and easy to test and I was quickly building basic and NFC-enabled apps. The biggest takeaway from a developer’s perspective is that to build an Android app, you have to think like an Android user. You can’t take an iOS workflow and expect it to work; the features and interface mean thinking differently.
Needless to say, I came away from the day with a newfound respect for Android OS. It’s become a mature and stable platform with many features that aren’t available on other devices and many of the original flaws have been dealt with. Many of the advanced hardware devices like the newer tablets and the Galaxy IIIS are also making their way to Canada much faster now. While I’m not ready to give up on Mac’s walled garden, I am definitely ready for a little Android in my life.