1,000,000 custom downloads in four months

Posted on by

We surpassed the millionth download of jQuery UI using our recent DownloadBuilder and ThemeRoller rewrite back on February. As of today, we have served 1,730,000 downloads and counting. Read on for some insights into what we’ve built, and the trends we’ve noticed so far.

The former server-side code was written in PHP.  It’s been rewritten in JavaScript and runs on node.js, and it is much more integrated with jQuery UI release process overall. The client-side has been rewritten as well, although we didn’t make any big changes to the UI/UX.

On the client side, despite the few visual changes, we have some interesting updates. The DownloadBuilder now remembers what user selects and makes it linkable, so it’s easy to share or go back and modify a custom theme. We’re also shortening links automatically if they get too big, by zipping parts of the query string.

The backend in-memory-caches the source files and theme images to speed up the downloads. Since it serves custom downloads, the parts are not simply assembled, but rather modified on build-time and then assembled. The average build & package time is 1.3s.

The download traffic is pretty uniform and constant; we hit an average of 66,000 downloads per week, having more traffic during the weekdays and less traffic during the weekends. When we publish a new release, we see a 10% increase on traffic. Adoption of the new release is really fast, legacy downloads drop virtually immediately. Although, we still have a significant amount of 1.9.x downloads after the 1.10.x release, splitting the total as chart shows below.

Downloads per version

29% of users download the default components with the default theme. Other than that, we have all sorts of custom combinations happening. They choose different components, different themes, or a mix of both.

Among the component customizations (which represent 26% of all total downloads), 15% are only Datepicker (the winner by far), followed by No Components (8.5%), which packages the theme only, Autocomplete (4.5%), Dialog (4.25%), and Tabs (3.75%).

Custom component selection
Datepicker
– Datepicker and its dependencies
– Datepicker, mouse and position
14.95% (4.34% of all downloads)
– 12.72% (3.69% of all downloads)
– 2.23% (0.65% of all downloads)
No components (theme only) 8.55% (2.48% of all downloads)
Autocomplete and its dependencies 4.53% (1.31% of all downloads)
Dialog only 4.25% (1.23% of all downloads)
Tabs only 3.77% (1.09% of all downloads)
Accordion only 2.91% (0.84% of all downloads)
Slider only 2.58% (0.75% of all downloads)
All, but effects 1.87% (0.54% of all downloads)
Core components (no widgets or interactions) 1.60% (0.46% of all downloads)
Sort interaction only 1.37% (0.40% of all downloads)
Interaction and core (no widgets) 1.33% (0.38% of all downloads)
Draggable interaction only 1.22% (0.35% of all downloads)
Effects only 1.05% (0.30% of all downloads)
Tooltip only 1.04% (0.30% of all downloads)
The core component (solely) 1.02% (0.30% of all downloads)
total 100.00% (26.37% of all downloads)

 

Theme customizations (choosing something other than the default UI Lightness theme) represent 57.5% of all downloads. If we skip the base theme Smoothness too, theme customizations are actually 42.35% of all total downloads. 16% of all downloads are user created themes (Custom Themes), followed by the Redmond (4.86%), UI darkness (2.73%), and Start (2.38%) themes.

Within the users that create a Custom Theme, the majority of users (77%) download the full “all components” bundle, 5.5% download it with no components (theme only), and 17.5% do it with a custom component selection.

Themes
(top 11)
Default Component
Selection
Custom Component
Selection
UI lightness (default theme) 38.76% (28.53% of all DLs) 53.20% (14.03% of all DLs)
Custom Theme 17.10% (12.59% of all DLs) 14.11% (3.72% of all DLs)
Smoothness (base theme) 16.34% (12.03% of all DLs) 11.64% (3.07% of all DLs)
Redmond 5.13% (3.77% of all DLs) 4.13% (1.09% of all DLs)
UI darkness 2.80% (2.06% of all DLs) 2.54% (0.67% of all DLs)
Start 2.60% (1.91% of all DLs) 1.78% (0.47% of all DLs)
Cupertino 2.42% (1.78% of all DLs) 1.97% (0.52% of all DLs)
Blitzer 1.58% (1.16% of all DLs) 1.29% (0.34% of all DLs)
Flick 1.44% (1.06% of all DLs) 1.52% (0.40% of all DLs)
Sunny 1.41% (1.04% of all DLs) 0.91% (0.24% of all DLs)
Dark Hive 1.17% (0.86% of all DLs) 0.72% (0.19% of all DLs)
total 100% (73.63% of all DLs) 100% (26.37% of all DLs)

 

Thanks to clark and Splunk for helping us make sense of all this data!

As usual, if you find any bugs or if you have any ideas on how to make the DownloadBuilder or ThemeRoller even more amazing, we’d love to hear from you! But please, don’t use the comments, rather please file an issue here.

This Week in jQuery UI vol. 7

Posted on by

A couple days late to press this week. Friday and Saturday were filled with the first ever JavaScript Conference, JSConf 2009. What a weekend! jQuery UI was represented by Scott González and myself (Richard Worth). Scott gave a presentation on creating a widget using the jQuery UI widget factory. I did an introduction to jQuery UI.

Releases

I mentioned the jQuery UI 1.6 release last week as it was available for download. Now the full changelog and blog post are out.

Next up is 1.7.2. We made some progress on that during the sprint. A few more issues to wrap up, and that should be out this week. Speaking of the sprint, thanks to all that participated.

Design & Development

With 1.6 finalized and 1.7 nearing a freeze, the jQuery UI team is shifting focus to 1.8 and beyond. With the recent plugin prioritization, we updated the planned plugins list on the Dev & Planning wiki home. Our focus is currently on the high priority plugins. Please take a look at those plugin pages and see if we’ve missed anything. If you have ideas about each plugin’s requirements, design, or specifications, feel free to edit the page, or leave a comment. If you’ve don’t have a wiki account, there’s a link at the top to request access. We’d love your input.

Sites Using jQuery UI

We maintain a list of Sites Using jQuery UI. If you have a site or find a site using jQuery UI, feel free to add it to this wiki page. New this week:

Sites

Open source projects

  • Osimo – A jQuery/jQuery UI enhanced forum system
  • pqp – PHP Quick Profiler
  • Remedie – Pluggable media center application

Tutorials and Blog Posts

ThemeRoller-ready Plugins

See also

As always, be sure to follow This Week in jQuery on the jQuery blog.

This Week in jQuery UI vol. 6

Posted on by

Releases

The 1.6 release was finalized last night, and is available for download on jqueryui.com. The blog post will go out as soon as the changelog is finished and Google’s CDN is updated.

Reminder: this is a legacy compatibility release for anyone still needing to use jQuery UI with jQuery 1.2.6, and will not be further developed. It is highly recommended you upgrade to 1.7 as soon as possible.

The Sprint

The jQuery UI Sprint is happening right now. Come join us! See the sprint wiki page for full info.

Sites Using jQuery UI

We maintain a list of Sites Using jQuery UI. If you have a site or find a site using jQuery UI, feel free to add it to this wiki page. New this week:

Sites

Tutorials and Blog Posts

Themes

Jobs

See also

If you liked This Week in jQuery UI, you’ll love This Week in jQuery.

This Week in jQuery UI vol. 5

Posted on by

Releases and the Sprint

We pushed everything back one week. So the 1.6 final release will be next Wed. April 15th. The sprint will be next Friday and Saturday, April 17th and 18th, in preparation for the 1.7.2 release on Wed. April 22nd. We’ve created a wiki page for the sprint to start the planning:

http://wiki.jqueryui.com/Worldwide-Sprint-2

You’re invited to sign up there if you plan to join, even if just for an hour. Also, there will be a full sprint blog post on Monday with more details.

Sites Using jQuery UI

We maintain a list of Sites Using jQuery UI. If you have a site or find a site using jQuery UI, feel free to add it to this wiki page. New this week:

Sites

  • blaq design – manufacturer of bike accessories and bags
  • CG2.cc – ConcertoGate(MMOPRG) role simulator
  • Rig-Bits – Find bits for your computer and PC Bits Database (under development).

Open source projects

Tutorials and Blog Posts

See also

Stay tuned for tonight’s installment of ‘This Week in jQuery’ over on the jQuery blog.

This Week in jQuery UI vol. 4

Posted on by

Releases

No releases this week. The 1.7.2 release was rescheduled for Apr. 15.

Plugin Prioritization

The jQuery UI Team completed a prioritization this week. This is the second time we’ve completed this process. The first was in late 2008, when we changed the direction of the 1.6 and 1.7 releases, and focused on ThemeRoller v2 and the jQuery UI CSS Framework. The Development & Planning wiki home page has been updated with the priority column for each plugin. We welcome any help in getting these plugins designed and built over the next couple of months. Note that this priority is not tied directly to our release cycle. This means the 1.8 release will not necessarily contain the plugins that currently have the highest priority. But it gives us as a team some focus and sequencing. For example, there are a number of high priority utility plugins right now that we’re tackling first because they’re dependencies of a number of medium priority widgets. So we need to design and build them first.

Save The Date: jQuery UI Sprint

We’re planning a sprint for next Thu.-Sat. (Apr. 9-11). It will all be online, and anyone is welcome to participate as little or as much as they’re able. More details to come next week.

JsMag

The first issue of JsMag included an article on jQuery 1.3, and was featured in the first volume of This Week in jQuery. The second issue was published this week and includes an article on jQuery UI.

Q&A with jQuery UI Release Manager Richard Worth

It was my turn this week. Steve Reynolds is back with another jQuery UI team member interview:

Sites Using jQuery UI

We maintain a list of Sites Using jQuery UI. If you have a site or find a site using jQuery UI, feel free to add it to this wiki page. New this week:

Games

Tutorials and Blog Posts

Jobs

Be sure to check out This Week in jQuery.

This Week in jQuery UI vol. 3

Posted on by

Welcome back to This Week in jQuery UI.

Releases

jQuery UI 1.6rc2.6

Things were looking good for getting 1.6 final out this week, but we’ve still got one issue with the Resizable plugin. Big thanks to Scott González and Nick Levett for working on this. We’re about half-way there. In the meantime, you can beat up 1.6rc2.6. This includes the resizable fixes Scott was able to merge. It improves things, but we still want to fix it the rest of the way. Here’s the lone ticket: #4334 – Real World Image Cropper demo is broken.

Sites Using jQuery UI

We maintain a list of Sites Using jQuery UI. If you have a site or find a site using jQuery UI, feel free to add it to this wiki page. New this week:

Sites

  • Arcadya – Torrents & subtitles for TV series (iGoogle/Netvibes style)
  • Beltrami – Product selector, picture albums, searchfunctions, …
  • EA – Video Games
  • iRich – Keep tracking your expenses online. (Chinese 中文)
  • kolko.bg – The only reliable Bulgarian Internet shopping assistant.
  • MacWorld.fr
  • PCworld.fr
  • Poker Square – single-player card game
  • PartyHandbook – UK nightclub event listing guide

Open Source Projects

Tutorials

Jobs

How about a sprint?

We did a jQuery UI sprint a year ago last week, and it rocked. So we’re thinking of doing another.  Would you be interested? If so, how would you like to contribute? Tests, code fixes, documentation, demos, tutorials, answering questions, anything? Let us know.

That’s it for this week. Stay tuned for tonight’s installment of ‘This Week in jQuery’ over on the jQuery blog.

This Week in jQuery UI vol. 2

Posted on by

Another week in the The Year of jQuery UI. Here’s what happened:

Releases

1.7.1

The first maintenance release for 1.7 came this week: jQuery UI 1.7.1. Here’s the changelog. We’ve made some much-needed updates to the download builder. We’re hopeful this will fix the problems some people were having with certain browser and OS configurations. If you still have any issues, be sure to file them in the bug tracker (note: requires registration).

1.6rc2.5

The latest legacy preview release has been out just over a week and has only two issues (so far) filed against it. Things are looking good for being able to release 1.6 final on March 25th.

SXSWi

jQuery UI ThemeRoller was a finalist for an SXSWi Web Award this week. Here’s the coverage from Wired: http://blog.wired.com/underwire/2009/03/sxsw-2009-web-a.html. Congrats and thanks to Filament Group and everyone else on the jQuery UI Team that has contributed to ThemeRoller.

Sites Using jQuery UI

We maintain a list of Sites Using jQuery UI. If you have a site or find a site using jQuery UI, feel free to add it to this wiki page. New this week:

Sites

  • Ampparit.com – Finnish news aggregator
  • CablesforLess.com – Saving the World… from high priced cables
  • ChessBomb.com – Broadcasts chess events online with realtime computer analysis
  • cloudkick – the easiest way to manage the cloud
  • HelloMovies – Find thousands of movies you can watch instantly
  • Jiglu – intelligent tagging and communities
  • ManagingMeals.com – Discover recipes, plan meals, create grocery lists.
  • USCarPartsDirect.com – US Car Parts and Domestic Accessories
  • Welcome to Redeemer – A young church dedicated to serving the city of Lincoln, Nebraska by living out the Gospel of Jesus Christ.

Open Source Projects

ThemeRoller-ready Plugins

Remember, ThemeRoller and the jQuery UI CSS Framework aren’t just for jQuery UI plugins. So if you have a plugin, what about making it ThemeRoller-ready? Or if you have a favorite plugin that you’d like to see ThemeRoller-ready, send a donation (or at the very least a thank you note) to the plugin maintainer, and encourage them to add support.

Tutorials

Feedback

We’d love to hear how we’re doing, and how we can do better. Leave a comment, talk to us on twitter, post something on the mailing list. Here are some links: Let’s chat. Thanks.

That’s it for this week. Stay tuned for tonight’s installment of ‘This Week in jQuery’ over on the jQuery blog.

This Week in jQuery UI vol. 1

Posted on by

This is the first in a weekly series on what’s happening with jQuery UI. It will be a digest of all activity in the community and on the team.

Releases

jQuery UI 1.7

Our latest release came out a week ago today. Here’s some coverage I saw over the past week:

Great feedback in a lot of comments on those posts. We’re listening. I was happy to see some positive feedback on the fact that themes can now be downloaded in a bundle. Here’s one example:

Hoy es mi día. Me siento como si fuera mi cumpleaños y me estuvieran regalando el juego que llevo esperando tres meses.

My Spanish is only so-so. Here’s the best google’s language tools could do:

Today is my day. I feel like it was my birthday and I were giving away the game I been waiting three months.

http://www.nonomartinez.com/2009/03/04/jquery-ui-themes-17-themes-stable/

jQuery UI 1.6rc2.5

This release has only been out two days, but so far there have been zero comments on it, on the blog post announcement and on the mailing lists. Also, no bugs last I checked. Has anyone tried it out? The plan is to release the final on March 25. If no error reports come in, 1.6rc2.5 will become 1.6 final. If that matters to you, please help kick it around and be sure to file a bug report with the version specified as ‘1.6rc2.5’. Thanks.

Q&A with jQuery UI Creator Paul Bakaus

Steve Reynolds has posted an interview with Paul Bakaus. Here’s the intro:

With the release of jQuery UI 1.7 just out the door, Paul Bakaus – creator of jQuery UI has kindly agreed to answer some questions about that launch, his life as a programmer, his involvement with the jQuery UI project and the world as he knows it.

Read the rest over on Steve’s blog: http://www.reynoldsftw.com/2009/03/questions-with-jquery-ui-creator-paul-bakaus/

Sites Using jQuery UI

We maintain a list of Sites Using jQuery UI on the jQuery documentation site, docs.jquery.com (still the home of the jQuery UI documentation wiki). If you have a site or find a site using jQuery UI, feel free to add it to this wiki page. New this week:

Sites

Open Source Projects

Software planning to use jQuery UI

Jobs

This is the first job listing I’ve seen that lists experience with jQuery UI (not just jQuery) as a requirement:

I am looking for a designer experienced with jQuery UI and CSS to help us design a nice reusable template that is sports related.

http://www.102dataentryjob.com/online-dataentry/designer-for-sports-template/

Books

jQuery UI 1.6: The User Interface Library for jQuery by Dan Wellman (amazon.com)

Tutorials

Discussion

A lot of people are bummed that jQuery UI’s nice rounded corners don’t work in Internet Explorer. Some discussion of this continued this week:

I’m getting increasingly enthusiastic all the time with the jQuery UI framework – especially its well-structured and versatile CSS component. My emerging problem, however, seems to be one of designer acceptance.

JQuery UI uses the -moz-border-radius CSS property to render its rounded corners in dialogs, controls and icons. This is a CSS3 standard and is supported in all upcoming browser versions… except Internet Explorer.

http://mytechworld.officeacuity.com/?p=313

Design & Development

We’ve had a lot of great activity this week on the jQuery UI Development & Planning wiki as well as on the jQuery UI Dev Google Group. We can always use more help, and we invite you to join us. Request access to the wiki, review a page, leave a comment. Let us know if you have a plugin you think might be a good fit for jQuery UI.

See Also

If you liked This Week in jQuery UI, you’ll love This Week in jQuery.