The (Not Just) jQuery Foundation

Posted on by

The jQuery Foundation’s mission has always been about more than just our namesake projects of jQuery, jQuery UI, and jQuery Mobile. We already host several projects such as Sizzle, QUnit and Globalize that are not dependent on the jQuery library.

This wider web-oriented mission is evident in our jQuery Conferences, which span a wide range of developer concerns beyond jQuery, including Node, CSS, tooling, testing and much more. Over the years we’ve had talks on build tools, accessibility, security, performance, design patterns, and frameworks such as Ember and Angular. At our San Diego conference this past February, for example, Lenny Markus gave a great talk on PayPal’s continuing adoption of Node as they move away from Java and proprietary solutions, Catherine Farman talked about real world responsive design, and John Dimm gave a talk on the HTML5 speech APIs.

The jQuery Foundation is participating in the continuing evolution of the web platform via our memberships in both the W3C and ECMA TC39 (The group standardizing what we know as JavaScript). We feel that it’s essential to have strong representation in those standards groups to ensure they meet the needs of developers. The Foundation provides a platform for developers to have a voice in these standards bodies.

Beyond the technical compatibility between our projects, we also share the open source model and all the benefits it provides. The Foundation adds the benefit of a top-level structure designed to serve the projects, providing the resources they need but letting the contributors decide the best direction for the project based on community input. Any project that joins the Foundation is given the ability to serve their community’s needs rather than be constrained by the goals of a for-profit company.

Though this has been our mission for a long time, we felt we needed to make this clearer. We are excited to start bringing this part of our mission into the light and start actively working toward a more open web accessible to everyone. If you are excited as well, please help us. Contribute your time to Foundation projects. Offer your company’s services. If you or your company have an established open source project that you believe could benefit everyone and flourish by becoming part of the jQuery Foundation, check out our philosophy around projects joining the Foundation and let us know you’re interested. If you would rather just support the existing and future projects of the Foundation through financial support, become a member of the Foundation. Open source projects will only thrive if everyone who benefits from them contributes back in whatever way they can.

jQuery’s Content Delivery Network: You Got Served!

Posted on by

MaxCDNIn 2013, MaxCDN joined the jQuery Foundation and stepped up to provide Content Delivery Network (CDN) services for the jQuery CDN at code.jquery.com. Files can now be requested through both HTTP and HTTPS (SSL) protocols, either to download to your own servers or to use directly on production web sites. MaxCDN’s infrastructure can reliably deliver jQuery files through a worldwide high-speed collection of servers to minimize round-trip time.

Why a CDN is Useful to Developers

The obvious benefit is that the MaxCDN network is much faster than the average server, and geographically distributed so that round-trip times are kept low. Yet there is another subtle benefit. Many web sites simply serve up all their content (HTML, CSS, scripts, images, and other assets) from the same domain. This can create a bottleneck on both the browser and the server. Downloading content from multiple domains, known as domain sharding, can improve performance. Just remember that as with any good thing, going overboard is a bad idea. Some research shows that just two domains may be the sweet spot. Use a tool like WebPageTest to test your site to get the best results.

Why a CDN is Useful to jQuery Projects

jQuery projects serve out a huge number of bytes, especially on days when a project makes a new release. When developers rush to download the latest version, we want to be able to handle the load. GitHub does a great job of supporting our development cycle and working project files, but it is not designed to serve up billions of copies of our production files. Google and Microsoft also provide CDNs, but it can take several days between the time a project makes a release and the time the files appear on those CDNs. Third-party CDNs also have their own rules about which files can be placed on the CDN, for example they don’t post pre-release versions. The jQuery CDN allows us full control over timing and content.

Serving Billions of Files, Trillions of Bytes

We thought we were serving a lot of files, but some statistics from MaxCDN really drive home the point. In the last five months of 2013, the CDN served more than 82 billion files, exceeding 3.6 petabytes. We sent out enough bytes to completely fill 3,269 1-terabyte disk drives! An average day on the CDN has us serving up about 20 terabytes of data.

Here are the ten most popular files requested from the CDN:

# File name Hits
(billion)
Size
(terabytes)
1 jquery-latest.js 6.36 404.65
2 jquery-1.9.1.min.js 5.93 193.96
3 jquery-1.7.2.min.js 4.95 154.50
4 jquery-latest.min.js 4.45 116.08
5 /ui/1.10.3/jquery-ui.js 4.18 484.58
6 jquery-1.9.1.js 2.45 178.54
7 jquery-1.10.1.min.js 2.27 71.62
8 jquery-1.7.1.min.js 2.26 78.05
9 jquery-1.4.2.min.js 2.07 39.80
10 /ui/1.10.3/themes/smoothness/jquery-ui.css 1.55 9.83

There are some encouraging signs here. Some of the most popular files are the minified files, as they should be for a production web site. It’s also encouraging that recent versions of jQuery Core (1.9.1 and 1.10.1) are high up on the list. That means a lot of jQuery developers are keeping up with the features and bug fixes we’ve been adding.

The most commonly requested file is jquery-latest.js, which automatically updates whenever the jQuery Core team releases a new version. Developers should never use jquery-latest.js or jquery-latest.min.js on a production site, it is primarily meant for testing. Similarly, the full jQuery UI build at position 5 is the latest version, but that file may not be a good fit for production sites needing only a few jQuery UI widgets. A minified copy with just the needed widgets can be built on the download builder page.

Counting on the CDN

Thanks to MaxCDN’s contribution, the jQuery Foundation has a content delivery network that offers reliable high-speed access to all of our project files. The files at code.jquery.com serve as the official repository for all jQuery project releases. You can either download the file for local use, or reference our domain directly from your own web pages to take advantage of the CDN and domain sharding.

The State of jQuery 2014

Posted on by

The year 2013 was an incredibly exciting one for jQuery. As jQuery celebrates eight years of supporting web developers, it’s time for our annual review. I’m pleased to say that we achieved a lot in 2013 and have some great plans for 2014!

New Leadership

In November, Kris Borchers became Executive Director of the jQuery Foundation as successor to Richard Worth. Kris has been a jQuery Foundation board member and a long-time jQuery contributor, so he understands the mission of the Foundation well. We welcome Kris, and thank Richard for his work in shepherding the Foundation through its first full year of existence.

jQuery used by 68% of the top 100k sites

Continuing Growth

It seems impossible to believe there are still web sites that don’t use jQuery, but the statistics at builtwith.com show there are fewer and fewer of them. jQuery’s core library is used by more than 61 percent of the top 100,000 sites, up 10 percent from last year. Growth is also strong in other jQuery Foundation projects such as jQuery UI, which is now used by nearly one-fifth of top-10,000 web sites.

New Environments

jQuery is also used in a lot of places that can’t be identified through a web crawl. You’ll find jQuery anywhere web technologies are used, not just the public Internet. That includes Google Chrome add-ons, Mozilla XUL apps and Firefox extensions, Firefox OS apps, Chrome OS apps, Windows 8 Store apps, BlackBerry 10 WebWorks apps, PhoneGap/Cordova apps, Node.js, and even the Sony PlayStation 4. By supporting these technologies, we’ve made it possible to take advantage of jQuery knowledge in many places other than just browsers and web pages.

Future-Oriented

In January 2013, we released jQuery 1.9; then jQuery 2.0 was released in April. These two versions dumped old APIs that were making jQuery bigger, slower, and harder to use. jQuery 2.0 went a step further and dropped support for environments that don’t support newer standards, such as Internet Explorer before version 9. From an API standpoint, the two behave identically, though; web developers can update to the 2.x branch whenever those older versions of IE are no longer important to their web pages or apps.

Backwards-Compatible

We knew that removing some old functionality from jQuery core could make migration slow and difficult; after all, a lot of code on web sites was written years ago and the people who wrote it are long gone. That’s why we created the jQuery Migrate plugin to identify code that was using the features we removed. Better than that, it allowed most of that old code to continue to work by shimming in the old behavior. It’s a great tool for keeping a site running while things are being updated, although we don’t advise using it for a long-term fix.

jQuery Served Your Way

With jQuery being used in so many environments, we want to make sure it fits with their workflows and conventions. So, we’re adapting by making jQuery available on both the npm and Bower package managers. This makes it easy for just about any JavaScript-based project to keep jQuery dependencies up to date. Last year’s refactor of jQuery core into small modules also lets developers create a custom build that removes features a project doesn’t need, to reduce the download size.

Keeping it Simple

We haven’t forgotten, however, that most developers keep things simple and just include a copy of the standard jQuery build using a <script> tag. So in 2013 we upgraded our content delivery network (CDN) thanks to a generous donation from MaxCDN. The jQuery CDN is now better than ever and supports the https protocol for delivering all files.

Advocating for Developer Needs

jQuery’s use of a convenient and browser-independent layer around the cumbersome DOM interfaces is one reason for its popularity. As Simon St. Laurent put it, “jQuery is how the web routes around broken API design.” But we don’t want the DOM API repair business to be our full-time line of work. People should be continuing to use jQuery because it’s a powerful way to implement designs and provides a vibrant ecosystem of useful plugins, not because the native DOM APIs are broken, verbose, or inconsistent. That’s why we participate in the standards process through bodies such as the W3C and ECMA.

Let’s Keep Innovating!

Over the next few days, posts on this blog will be counting the ways that the jQuery Foundation is improving the web developer community, in keeping with our mission. If you see something that interests you, we invite you to get in touch with us and participate!

Dave Methvin
President, jQuery Foundation

Join the jQuery Foundation!

Posted on by

This month, the jQuery Foundation is celebrating our first year serving the web. As a not-for-profit trade association, we’re here to connect every business and individual that cares about jQuery and help them work together to ensure its continued success. Writing code and documentation, hosting trainings and conferences, and collaborating in the standards process. This makes jQuery better and it makes web development better.

jQuery is more than just a JavaScript library, it is a community and an integral part of the web developer’s toolset today. The jQuery Foundation exists in part to ensure this community continues to grow and thrive. Throughout this first year, we’ve invited companies to join the jQuery Foundation in support of this mission, and 14 companies have joined at various levels. We appreciate their commitment to jQuery and their support of its mission to support the libraries, their documentation, and our web standards advocacy.

Individual Membership Program

You can now join the jQuery Foundation as an individual member. Just as with companies, we have created various levels based on contributions. The benefits include buttons, stickers, badges, banners, discounted conference tickets, discounts from member companies, invites to members-only parties at conferences, and recognition on our member listing. We’ve prepared a thank you gift for each level to provide an extra incentive for folks to make an annual dues commitment.

Join Now

Badge of Honor

We’ve prepared badges and banners for our members to sport on their website, or their choice of social network. Huge thanks to Isaac Durazo (@isaacdm) from Bocoup for drawing these up.

What if I Can’t Contribute On A Recurring Basis?

The individual membership program is designed for those who want to contribute a set amount of dues to jQuery regularly, as well as enjoy the benefits of that membership. If that’s not what you’re looking for, we always welcome one-time donations (from companies or individuals) via PayPal and check at jquery.org/donate

Moving Forward

The jQuery team, together with the support of member companies have achieved tremendous success in Year One. We have tripled the number of conferences, gathering with communities around the globe (Asia, Europe, Canada, and UK). We have redesigned (nearly) all our web sites and made contributing to them as easy as contributing to code. We continue to wrangle bug queues and deliver smaller, faster, better tested, and more robust code. We have 4 official representatives at the W3C and ECMA TC39. We’ve managed to do this all in our first year, and we’re very much looking forward to what we can accomplish in the future. Join us!