This post was supposed to be about moving from a hobbyist Android developer to a professional Android developer and the challenges faced, but as I started writing I realised that there was nothing revolutionary about the topic. Sure it’s a little more pressure and a little less freedom, but it’s still just as fun and beats developing outdated desktop apps. So with that idea all but buried I had to come up with a topic fast. so for my first post under the B2Cloud banner I will go out on a limb and address a bit of a controversial topic. Why do I develop for Android as opposed to iPhone.
I’ve always been interested in mobile technologies and development as far back as Windows Mobile 5, dappling in development for Symbian, and Windows Mobile 5/6. I’ve always thought the true potential for mobile devices was mind blowing, but at the time the UI’s were clunky, screens were small and the hardware was ridiculously slow.
This all changed of course when the iPhone dropped from the fruity heavens, which sported a simple yet effect UI, a nice bit of crunching power, and nice spacious screen. Being the gadget junky I ran out and got one as soon as I possibly could, which being in Australia was still a bit of a wait. In fact we completely missed out on the 2G and had to wait a good two weeks before the 3G finally hit our shores. But the wait was definitely worth it, and when I finally got it in my eager little hands I loved it. Apps a-plenty, dead simple to use, and a crazy amount of storage for a phone. Yeah I was truly sold on the awesomeness of the iPhone.
Why Android then? Well after some time the iPhones advantages started to become its biggest weaknesses. After a few months of use I started to get a little board of the UI. The simple to use screen of paged icons just wasn’t “tech” enough for me. I also missed the dashboard widgets of windows mobile 6. The creeping boredom alone wasn’t enough to push me away from the iPhone though. The straw that broke the iPhones back was an issue of development. Development on the iPhone posed two un-navigatable obstacles for me at the time. The requirement for mac based system, and a paid developers account just to get access to the SDK. While the latter problem is probably something I could have ignored, paired with the need of a shiny new mac was one requirement too much.
On the search for a comparable device without such development obstacles I bought myself my first Android device, the Nexus One and loved it. Now I’m not the raving fanboy type, I could plainly see that iOS was the more polished and easier to use OS. Saying that, Android was not without some extremely important advantages of it’s own. The first advantage was open source which meant not only could I develop for it, I could also look at the code behind the platform. Secondly it could be used on any device for free and with titans like Google and Samsung pushing it, it wasn’t going away anytime soon. Thirdly it already had a strong developer community not just at a software level but at a custom ROM level.
There was one more advantage to Android that doesn’t get as much recognition as it should. Which is sad because it’s probably one of the most important strangle holds Android has over iOS. iOS devices are high-end devices and that’s the way Apple wanted them to be. It would go against Apples mantra to release lower “sub-par” devices in order to compete in the mid and entry level markets. That leaves a massive amount of market share that Android can take without attempting to compete with iOS directly, at the time this gave Android the time it needed to bridge the gap on UX and UI without worrying about a lack of market share.
And this ladies and gentleman is why I’m an Android developer.