Recently at jsConf, @sintaxi (of @phonegap fame) said in a Track B talk (and I’m paraphrasing here), “the best thing you can do now for mobile development is to make a mobile website or webapp.” Now, these words were intended not so much as for what the title of this article implies, but more for the whole issue surrounding the changes to the ToS that Apple recently announced in regards to using other means for creating iPhone apps. Regardless of the context of why he was making this recommendation, it still is something with which I totally agree, but for a different reason, and that is wherein jQTouch comes.
jQTouch is an amazing project spearheaded by @davidkaneda and has been promoted by many people including @jonathanstark. jQTouch, if you ain’t know, is a JavaScript library dependent on jQuery and is intended for making mobile webapps targetted for the iPhone. jQTouch is an absolutely brilliant piece of work where one can take the default project, modify the index.html with their markup, change some simple JavaScript, and within minutes one has a mobile webapp that looks like a native iPhone app. I have used jQTouch for rapid prototyping efforts and have been repeatedly blown away at how fast I can take a concept and have it “working” on an iPhone in such a short amount of time.
However, jQTouch, is only for building something that is specifically targeted for the iPhone. That approach, in my opinion, is flawed. The browsing experience of a jQTouch webapp on an Android device is awkward at best and crashes the browser altogether at worst. jQTouch will be similar to the problem that arose when people were building webapps where Internet Explorer was required and was “best viewed in a 1024px x 768px” screen resolution. We all know how successful that approach was.
In my opinion, one needs to design, architect, and develop sites, apps, and experiences, universally. That is not to say you can’t take advantage of some of the cool things the iPhone browser has over some of the other devices’ browsers (hardware accelerated transitions FTMFW), but note that creating a mobile webapp that is supposed to simulate a native iPhone experience creates at best, a lackluster experience for (almost) all the other internet friendly mobile devices.
Moreover, Android’s market share is rising…fast. iPhone’s market share is not that safe. Why? iPhone is a device. Android is a platform for devices. There will be thousands of Android devices by this time next year. There will still only be one iPhone. Moreover, Palm, Blackberry, and Nokia appear to be moving to webkit as well. Do you really want your mobile webapp to look like an iPhone app on a Blackberry Curve?
And if you needed more proof that providing a “native iPhone mobile app experience” for all mobile apps is the wrong approach, look no further than a recent article on ReadWriteWeb where mobile stat guru, Taptu, explains the future of the web is to be dominated by cross-platform based mobile websites that are “mobile web touch-friendly”. So while it currently may be trendy to design and develop strictly for the iPhone (because it dominates in mobile browsing market share), one may be shooting one’s self in the foot in the process. Moreover, with so many various touch screen devices coming to market from the iPad to Archos, Acer, the HP Slate, and various Android and Chrome OS tablets, doesn’t it make sense to design and develop for various mobile platforms that support touch events? Why limit yourself to the experience that is only on the iPhone?
But Joe, I only want to design for the iPhone. Great! Meanwhile me and the rest of the world will be designing for iPhone and everybody else. But Joe, jQTouch makes it so easy! I know, suck it up and build your own framework. Get smarter, get better, design something, destroy it, start all over, and then do that again. Now you are ready for the mobile web.
Browse Timeline
Comments ( 3 )
Hear hear,
Ideally we adapt jQtouch to be a best-practices library for mobile web development (cross-device, of course).
Either that or fork it.
But absolutely agree that jQtouch in its current state is doing a disservice to mobile web development by focusing on a single platform.
(I’m sure David would agree that it needs to address multiple platforms better. Lets see if we can get movement on that)
Hi guys –
I agree with you that developers shouldn’t just target the iPhone when building apps. I do want to point out two things:
1) Yes, the default theme for jQTouch is based on the iPhone, but you can write your own themes that are not platform specific.
2) The only issue I’ve really had with jQTouch on Android (Nexus One, in my case) is that the browser doesn’t support 3d animations. So, I typically turn them off by setting the jQTouch “useAnimations” flag to FALSE.
That said, I do sometimes use jQTouch for prototyping and then write the production app without it. Not because of jQTouch, but because of the dependency on jQuery which sometimes results in sluggishness on the mobile device.
jQTouch is a great starting point for web designers and developers getting started in mobile. If nothing else, reading the code is extremely educational.
Cheers!
j
I agree that every framework should support all platforms! I like that you try to get to the bottom of the current frameworks. What I miss is that you name an alternative. Did you find an easy-to-use framework?

