To preempt a few questions that are bound to pop up:
What about jQTouch? While jQTouch is a great framework and we're proud to have it as part of the jQuery community - we really wanted a mobile framework to exist that would truly support all the mobile platforms out there. We chatted with the jQTouch team and there wasn't really any interest on their end to head in that direction. It's obviously going to be a ton of work - but that's something that the jQuery project is very interested in tackling.
Is this a response to Sencha Touch? We've actually been working on jQuery mobile for a while now - long before Sencha Touch was released/announced. We're not particularly concerned with Sencha Touch mostly for the same reason that we're building an alternative to jQTouch: We want to support more platforms and do it in a completely seamless way.
What data did you use to choose the browsers that you did? We've been talking with a number of mobile analytics firms and large corporations, gathering data, and will be releasing a bunch of the reliable numbers that we've collected on the jQuery mobile blog. Right now we're confident in the browsers and versions that we've chosen - although that'll likely change over the next couple months as the market shifts.
While I laud your transparency, I lament the chilling effect this will have on existing libraries like JQTouch. jQuery Mobile isn't available today but this announcement will make a lot of people sit on their hands waiting to see how things play out in the hope that they won't invest in a dead-end platform.
Oh well, not saying you shouldn't have chosen this path, just pointing out the consequences...
jQTouch has been out for a couple years at this point - a two month "chill" period before release seems totally appropriate.
Honestly, I don't see the "chill" as being a bad thing in this regard: jQTouch and Sencha Touch are doing mobile web development a great disservice by only supporting the latest-and-greatest WebKit platforms. If we can get developers to actually think about supporting more of the mobile platforms that are actually used then I will consider the project to be a victory.
"jQTouch and Sencha Touch are doing mobile web development a great disservice by only supporting the latest-and-greatest WebKit platforms."
How is focusing on the future doing a disservice to anyone? We're at the very beginning of the mobile-optimized web, and the future is still unclear. There's still room to define it. Supporting the equivalent of IE6 on mobile devices seems like a waste of time to me, especially after we've just spent a decade watching the evolution of the desktop web be stunted by obsessive focus on backwards/cross compatibility.
Also, nearly all major device manufacturers have committed to using WebKit. In five years, how many mobile devices will not run WebKit? If Windows Phone 7 isn't dead by then, it might be the only one.
I don't really relish a future where one browser engine dominates the way IE has in the past. I fully expect and hope for more viable mobile engines.
Even still, jQtouch (at least, I haven't messed with the Sencha thing) is very iDevice slanted. There's "webkit" and then there's "webkit on iOS", and most tools are targeted specifically at "webkit on iOS".
It's also behind both IE and Firefox in various ways. You're right that it would be a better dominant engine than IE was, but it's still not as good as having a nice three way competition for browser share.
With all due respecy John, I think we all should focus only on the latest-and-greatest WebKit platforms or on platforms that are comparably good. Mobile development is exciting precisely because it's a road to the future.
Look at the place we are in desktop web development because we have to support old browser. We are stuck 7+ years in the past.
I understand the intellectual allure of writing a framework that supports a gazillion different devices and I appreciate what you've done with jQuery for web development but frankly, I don't care about jQueryMobile.
Except that it scares the hell out of me the day some client starts asking me to support 5 year old Nokias.
Jquery mobile is great because they will try to support as many platforms as possible. If you run a real mobile site with a lot of users you have to take small platforms into consideration, just like your website needs to support IE 6 if you have lots of users. It's not fun but it would be bad business not to do it.
If a mobile framework can reach this goal it will make mobile development a heck of a lot easier, and I applaud that.
 You need some scale before development for platforms that maybe constitute 3% of your users will be a financially good option.
Not supporting it is like telling one in fourteen of your customers you don't want their business. This seems like a bad idea, unless of course you have non-financial motives, such as wanting to kill off IE6 by not supporting it and driving it into oblivion.
Those are general stats, you need to look at your personal stats which might be at 0.5% or 65% and decide from there, not based on these kind of sites. Making your site work on IE will require tons of hour of work and therefor money. It'll also just not work for HTML5 apps, unless you have a second version of your site coded in flash. Make sure it's worth it.
jQTouch has a great looking website/demo and was very exciting a year or so ago, but I'll be happy to see a robust alternative. After having used jQTouch to implement iPhone-specific views for a couple sites, I won't use it again.
jQTouch could have preempted the possibility of jQuery Mobile being viable in the first place, but it stagnated instead. The jQuery team can't be blamed for that.
Besides what jresig has already said, it's okay for there to be many answers to the same question. It's just like having two open source rendering engines, at least, Mozilla, and Webkit, that don't cannibalize one another. I don't think two approaches to mobile using jQuery will cannibalize one another.
I did not say that there shouldn't be multiple answers to the question, however if you're starting a new project today, you don't have a choice between A and B, you have a choice between something here today and something else promised Real Soon Now. Naturally, the one promised Real Soon Now is extremely shiny, it supports every browser, and it hasn't made any compromises to do so.
This kind of situation forces people to sit on their hands, which means that development stalls for a while. I won't go any further because I'm fighting the urge to compare this to things that have happened in other marketplaces, and I greatly respect John's code and design taste.
I made the point in another comment but, in the case of jQTouch, I would like to see some evidence of any real development to be stalled. It seems they've transfered focus to Sencha Touch. As for that, it's a commercial product; if anything, this announcement should accelerate their development.
Ah, I see the misunderstanding. I don't mean that it stalls framework development, I mean it stalls projects. If I'm starting a new project today for a mobile app, do I go with jQTouch today? Or do I wait and see how jQuery Mobile goes?
This happens all the time in the industry. Familiarity breeds contempt, so it's easy to make a list of problems with jQTouch. But whatever is announced but not shipping has no bugs. It has no performance trade-offs. It is effortlessly compatible with mobile devices back to the Radio Telephones of the 1970s. And its programming model is intuitive, flexible, and powerful with no learning curve.
How can you resist waiting? What project is so urgent that you take a chance targeting jQTouch when it will obviously be made extinct by jQUery Mobile? So an announcement has a chilling effect on framework use, that's what I meant.
Alas, no way around it, you can't drum up support for it without perturbing the environment a little.
That makes more sense. I was interpreting it as getting others to contribute to those projects.
I buy that argument in theory. The problem I have is that there really isn't anything that comes close to what jQuery Mobile is trying to do. Something like this is desperately needed. Sure, Sencha Touch is trying to do something similar but I don't think it's really in any state at this point to have the effect you describe.
As for jQTouch, if it fits the requirements, I don't see people stalling projects for jQuery Mobile. If it doesn't, you're either hacking it to do what you want or rolling your own. Both will probably take considerable time.
As for me, since nothing else out there really does what I want, I decided to roll my own highly customized framework. I'll keep a close eye on, and perhaps contribute to, jQuery Mobile.
Hi John. I work at Sencha. We haven't spoken yet, but I think I have to respond to the "disservice" comment because frankly it seems a little uncharitable (and uncharacteristic of your usual even-handed demeanor) given that Sencha is promoting jQuery use by funding Jonathan Stark's work on jQTouch including work to port jQTouch to Android.
We intend to continue to fund jQTouch work because we want to support all those developers (thousands at least) that have chosen jQTouch (and jQuery) as their platform. We will continue to support jQTouch ports to more phones and more browsers as additional browsers and platforms emerge (like the Blackberry Torch) that can support a minimal rich application experience.
As you've noted in the past, Sencha Touch takes a different approach than what you're planning to do with jQuery Mobile. It's ok to differ, but we wouldn't characterize it as a "disservice". Our belief (right or wrong) is that few people will use applications (and I emphasize that word) unless they can produce experiences that can compete with native. We've had ten years of mobile web sites with static, unresponsive, high latency user experiences that haven't interested or excited people. We want to move on from that.
Today, iOS, Android and the Blackberry Torch can support web apps that compete with native experiences (woohoo!), but by the end of the year, we'll see phones from Nokia (and more from RIM and maybe even some from Microsoft) with good HTML5/CSS3 support and fast processors and GPU's that allow everyone to have rich app experiences regardless of their choice of carrier or their geography. With the rise of $30 HTML5 Android phones from China, we see this as inexorable.
Our two projects are making different assumptions about what will most interest (and excite) end-users. I hope we can maintain an engaged (and polite) discussion as we walk these paths. Feel free to email me, would love to chat more to provide more context around our decisions. We'll also put together a blog post soon on why we're doing what we are.
This is the reason I like to use jQuery: I would never have time to take on all the headaches with supporting some of these platforms. I use jQuery so I don't have to worry about all that stuff and I can get my work done.
Maybe it's just me but the inital designs still feel iPhone/iPad centric. The UI/UX for webOS are more gesture-like and I do not see that reflected here as an alternative. However, it's a good start and it is heartening to see that Palm has signed up for this.
the mobile ui elements the jquery team is building is the best i've seen so far. they've done a spectacular job there. i hope that as with jquery themeroller, the ui elements for mobile will be customizable.
Yep - they're going to be 100% Themeroller-able. It's going to be a bunch of work on our end but the ability to have a unified, good-looking, UI that works across all platforms is just too enticing to ignore.
We're looking into every possible idea we can to shave file size and images down for mobile. Look for very aggressive use of CSS3 that falls back gracefully. We're hoping to eliminate all images (!) or radically reduce their use compared to current ThemeRoller. Using SVG is an option on the table for some elements but I think we'll end up using a TR style tool for this to generate static CSS for performance and compatibility.
Yep - that's correct. Since jQuery is a completely community-driven project and funded entirely by donations we wanted to open up right away to bring more people in. While we're rather confident in the direction that we're heading - doing it in a completely open manner is much more inline with what the jQuery project typically does.
thanks. i'm actually really glad to see you guys taking the lead on this initiative. jqtouch and sencha both have their shortcomings, but it sounds like this is addressing all of those (polished UI, easy to pick up, well-documented, cross-platform/cross-device).
The design shots hint that you are going to have toolbars locked to the bottom of the screen. In Webkit that's impossible to do without taking control of everything yourself (including scrolling) ala Pastry Kit. Is that really what you guys intend to do, or is that just an over achieving mockup?
It's definitely a goal to support fixed toolbars but we're still looking at how to achieve this cross platform in a lightweight way because these can be pretty heavy. We may end up offering a lightweight version that fades/glides in on scroll like the GMail floaty and hooks to support any scrolling fakery script you choose. Looking for input and ideas since were still at the R&D stage!
This is great news. I have been working on a client project for a company to replicate the iPhone App Store in webkit (enterprisey)
I have basically had to roll out my own framework with the help of jQtouch and jQuery. It's been a struggle to say the least, especially while trying to recreate some of the UI interactions such as the elastic scroll and animated slides.