Skip to content

The Tragedy of Mobile Development

unicorn photo
Photo by Origamiancy

The web, for all its warts, pushed a major advance in software construction.  The separation of concerns.  This is the idea that, just as you wouldn’t have the same person paint a house as lay the foundation, you should have different people design the user interface and the internal guts of software applications.  The skillsets are simply different.

Since modern web applications exist in the browser and are primarily CSS and HTML, with some amount of javascript, it is fairly easy to split up development between designers and developers.  Designers could focus on beautiful, functional user interfaces and developers could focus on making the application work.  HTML and CSS were the common interface, and they weren’t complicated (neither is a full featured programming language).

This separation is more difficult to maintain since the rise of the single page application, which pushes a lot of logic and functionality into the browser with javascript, but is still possible.

But, the mobile device, with its native apps, is a huge step backwards.  Sure, there’s still plenty of scope for people who just want to make things work–APIs and server side logic are a large part of most mobile services.

But for the client side, it’s not enough for designers and UX folks to be fluent in the traditional tools.  They can still do mockups, but the UI for mobile devices is constructed in code (objective C or android java, primarily).  That means that the finer points of UI must be added by developers.  No longer can they be delivered by HTML and CSS.

And hence, the rise of the proverbial unicorn, who can do mobile development, design and UX.  And makes very good money, since there are very few of these.

Is this sour grapes?  Nope.  I know that one of my limitations is my aesthetic sense.  (If I harbored any illusions about this, my wife would be quick to disabuse me.)  And I think that the unicorns should ride this market for all it is worth.  It just frustrates me that we came so far with web applications and separate of concerns and now are taking a huge step back.

4 thoughts on “The Tragedy of Mobile Development

  1. g00glen00b says:

    Even single page apps should give no problems to designers… . We start with a design and apply the JavaScript view-stuff later on it (attributes, tags, …). Even if it’s a single page app or not, that doesn’t change the difficulty I think. Before the single-page app-era, a developer still had to apply serverside logic (PHP, JSP, JSTL, ASP, …), so the difference JS or PHP/JSP/JSTL/ASP/… is not that much.

    And indeed, I agree that native development of mobile apps made it a lot more difficult, that’s why I’m a huge supporter of the hybrid mobile platforms. I think they’re becoming more common as well, and it makes it easier for both developers and designers (imho).

  2. moore says:

    Interesting.  I know there is some buzz around hybrid platforms (I hear good things about Ionic) but most of the mobile jobs I see are for iOS or Android developers–I see very few phonegap/cordova jobs.  So while I’m convinced that hybrid apps are a solution much of the time, I’m not sure that is the industry trend.

  3. inTerim says:

    Hybrid apps are no seperation of concerns either. Also development becomes a pain because of the bodged language JavaScript is and you have to deal with differences of the platforms anyway, at the latest when you have to tweak performance.

  4. moore says:

    Agree that hybrid apps are not wonderful, but at least you can have someone focused on the HTML CSS and someone else on the flow and data side of the app, even if they have to use JavaScript.

Comments are closed.