A Chink in the Developer’s Armor – or how I learnd to stop fighting and love the droid

Every time I read a story like one of these I put on my imaginary tweed jacket and take a smoke from the corn cob pipe I don’t have.

More than one developer has told us that this isn’t just a matter of debugging their existing application to ensure that it works on the various handsets. They say they’re going to have to build and maintain separate code for various Android devices. Some devices seem to have left out key libraries that are forcing significant recoding efforts, for example. With others, it’s more of a mystery.

Over the past few years I’ve written some pretty gnarly code on some very gnarly mobile platforms.  Like many engineers, overcoming three impossible things before breakfast is pretty much the only thing that gets me out of a comfortable bed every third morning before noon.  Android, in this case, doesn’t disappoint.  Its development landscape is fractured, multifaceted, complex, and hard to deal with on every level, and we’re only on the fourth version.

This, my mobile developing friends, is exactly what keeps us in business.  Mobile software is difficult.  Have code that only runs on one platform but not another?  Easy: classloaders and a well constructed factory.  Different drawing behavior and different screen sizes?  Cake-walk, dynamic screen resources, a very clever designer, and a good build system.  Compatibility issues?  Of course, these are nothing that hasn’t been solved a dozen times before.

Where there’s difficulty there is opportunity.  Where there’s opportunity, there is money, a chance to gloat, and the veritable lack of attractive women.  Will Android go the way of Sun’s J2ME?  Who cares.  If it does, my life gets easier because I don’t have to keep coding at a third grade level (curse you Java ME).  If it doesn’t, I get to write tools to help people make sense of a chaotic environment.  Either way, my life stays interesting and my bank account has more than fluttering moths in  it.

The bottom line is this:  Mobile software is still hard.  It’s not for everyone.  You spend most of your time forcing every device play in the same sand-box, and you build tools and toys that make this job easier.  You piles of time telling very smart people, clients and friends, why what they want to do on a mobile device is impossible.  It’s a write once debug everywhere mentality I wouldn’t trade for a web developer or mysql job any day.

If it were easy, everyone would do it…and no-one could get paid for it.


One Response to “A Chink in the Developer’s Armor – or how I learnd to stop fighting and love the droid”

Leave a Reply