Firstly, I want to clear up any obvious misconceptions that the title of this blog post may have caused. I do not hate Apple (ok, maybe a bit), iPhones, iPads or iPhone/iPad developers. I have an iPhone, and I love it. I also use mostly apple mac computers and love those too. I’m writing this on an old macbook. This post is more about my reluctance to invest my time in closed platforms.
I felt inspired to write this having been contacted several times recently out of the blue by people searching for freelance iPhone developers. The presumption seems to be that if you are a web developer, particularly someone who specialises in being a multi-skilled jack-of-all-trades like myself, you will inevitably be learning to code native iPhone applications.
I’ve also been contacted by at least one person looking for someone who can code for both iPhone and android. That sums it up nicely for me – front end web developers are expected to be able to build stuff that works across different browsers, a job that is becoming increasingly straightforward, thanks to the hard work of the web standards movement over the past decade. However, mobile app development is moving in the opposite direction. A native mobile applications developer will need to invest their time learning multiple languages. As the other phone manufacturers catch up with Apple and Google, this requirement will keep forking.
While i’m excited about the developments in HTML5, you currently can’t use it to build the equivalent of an advanced native iPhone app, especially those that have a heavy requirement for offline functionality. Of course you can build mobile web apps that work via the mobile device web browser, and with software such as phonegap, these can be wrapped up as downloadable apps, and give you a route to access device functions that you may not have had in a purely browser based app. This I may look at, but always with the slight trepidation that Apple will change their app store T&C’s for the umpteenth time and suddenly my (imaginary) retirement-funding mobile app is blown out of the water.
The rules imposed by Apple and their app store are what bothers me most. I’ve managed to avoid the over-used term “walled garden” so far, but if anything defines it for me, the app store does. It flies in the face of everything I love about the web, and the way i’ve managed to forge a career as a web developer. I often say to people that I feel grateful for the timing of the internet’s development. It started to explode at just the time I was scratching my head in my early twenties wondering how on earth I was going to make a living. That first step of creating an HTML web page (my CV) and uploading it to some free personal web space, taking me from invisible job hunter, to suddenly visible anywhere in the world, was a massive game-changer for me, not because anyone actually found or looked at my CV, but because suddenly the possibilities were endless. The open web enabled me to just start building and publishing stuff, without needing anyone else’s permission. A few months later, I started getting paid to do it.
If you started reading this because you are looking to start a career or change a career and are interested in becoming an iPhone/iPad developer, I say go for it – there’s a massive demand, so if you get the skills quickly enough, you’ll almost certainly find a job (or freelance contract). I’m not trying to dissuade anybody else from becoming an iPhone developer, I guess what i’m saying is that I aspire to continue to pursue the path of being able to work within the rules and guidelines that I adhere to, not the ones set by Apple, Google or whoever the next monopoly turns out to be (remember microsoft?). Hopefully down the line this will include rich mobile apps, but hopefully i’ll never be seeking the approval of Apple or anyone else to publish them.