14 August 2010

“jQuery’s Mobile Strategy”

Great news! jQuery is updating for mobile platforms, I’ll finally be able to use it everywhere again! Oh, wait…

Note that we’re not releasing a separate “mobile only” build of jQuery. The bug fixes and workarounds that we develop will be included directly in mainline jQuery. You will be able to continue using the single script file containing jQuery and get all the benefits of working across all the new mobile browsers. Thus far these changes are only yielding a minimal increase in file size (no more than a couple hundred bytes) and no appreciable change in performance.

Well, that’s great, isn’t it — because jQuery is already too big to fit in most iPhones’ web cache* (meaning it has to be reloaded with every page, meaning page loads are slow, meaning you just can’t use it on an iPhone site**), so bigger is… better than… a mobile-only version… that would have been smaller… and would have worked.

I used to think that jQuery was the work of geniuses. But it seems that no open-source project can ever escape entropy. (It would be so simple to selectively load a different javascript file depending on the platform you’re running on — you know, if you intended to actually optimize for mobile browsers and mobile networks.)

 

* In case you want to tell me that jQuery is 24KB when gzipped: The object size limitation in Safari is based on the decompressed file. I just downloaded the latest minified jQuery, and it’s 70KB, so it would be cached on no iOS device except the iPhone 4.

** Unless you make it one single page that loads everything in Ajax, which is… well, I think it’s more acceptable on the mobile web than on the desktop, but it’s still poor form. And if you’re doing a full-on web-app, people want App Store apps instead anyway.

Archives

2001 01 02 03 04 05 06 07 08 09 10 11 12

2002 01 02 03 04 05 06 07 08 09 10 11 12

2003 01 02 03 04 05 06 07 08 09 10 11 12

2004 01 02 03 04 05 06 07 08 09 10 11 12

2005 01 02 03 04 05 06 07 08 09 10 11 12

2006 01 02 03 04 05 06 07 08 09 10 11 12

2007 01 02 03 04 05 06 07 08 09 10 11 12

2008 01 02 03 04 05 06 07 08 09 10 11 12

2009 01 02 03 04 05 06 07 08 09 10 11 12

2010 01 02 03 04 05 06 07 08 09 10 11 12

2011 01 02 03 04 05 06 07 08 09 10 11 12

2012 01 02 03 04 05 06 07 08 09 10 11 12

2013 01 02 03 04 05 06 07 08 09 10 11 12

2014 01 02 03 04 05 06 07 08 09 10 11 12