The Disco Blog

Can you dig it?

Crowd Think Often Lacks Clarity

In case you missed it, InfoQ has an interesting analysis regarding hybrid mobile app development frameworks. They are profiling 12 tools and soliciting community feedback so as to make a ThoughtWorks-like technology radar. If you participate in the voting you are entitled to see the voting distribution.

What’s interesting (and not too surprising) about this analysis is that frameworks like PhoneGap or jQuery Mobile (and laughably JQTouch?) are leaning more towards adoption ready when compared to frameworks like Marmelade, Coronona or MoSync. But this radar lacks some clarifying dimensions – for example, if you want to produce a mobile website on a lot of different mobile platforms quickly, then PhoneGap is probably the way to go. But if you’re looking to create a mobile app, then the choice to use PhoneGap must be treated with extreme caution.

You cannot create a compelling user experience that works across all platforms consistently with this framework right now. And it isn’t even the fault of PhoneGap entirely – it’s HTML5. That’s why going with something like JQTouch without viewing the big picture of what you are building is laughable.

Frameworks like Marmelade or Corona might be a bit more difficult to get started with (after all, you code in something other than HTML or JavaScript) but they can produce a native app that offers a compelling user experience capable of generating a wow. Remember, native-ness trumps the browser almost always unless your app is a series of screens that don’t require the user to interact.

Accordingly, the study lacks some needed dimensions – mainly, whether or not you are building a mobile app or mobile website. Don’t fall into the hype trap and jump into PhoneGap development unless you are sure what you are building is a simple mobile website and your audience isn’t expecting something like Flipboard or AngryBirds. Otherwise, you’ll find yourself investigating either pure play native development or frameworks that ultimately produce a native app.