In this week’s MoJo lectures, we listened to Mark Surman and Chris Heilmann of Mozilla talk about the new HTML5 standards and capabilities in the Firefox browser, and from John Resig on how to build and maintain an open source product.
The bridging concept between these two lectures is adoption. It is the path from development to impact; the piece of the puzzle that enables a new tool or idea to enrich the lives of as many people as possible.
In Chris’ whirlwind (and hilarious) tour of the new HTML5 universe, he described what motivated him to embrace web standards in the first place. Standards can be seen as a constraint on innovation, but in Chris’ world they enable innovation, particularly at the client. Thanks to libraries like Modernizr, the semantic richness of HTML5 and the ever-expanding breadth of clients, we are now able to deliver pages that look and behave differently in each client. Not in ways that break standards, but in ways that leverage them. For example, using phone keypads for numeric form inputs, or the address book for email inputs.
Chris practices what he preaches. His easier YouTube interface for the learning disabled shows how web standards and API’s allow us to remix information and expand the audience for a piece of content. And, ultimately, expanding the audience for useful information seems to be Chris Heilmann’s core motivation, from his early days in radio to his current role as Developer Evangelist for Mozilla. Making things open and standards-based enables all of us to learn, and build on, how the web works.
The success of JQuery, in the face of stiff competition from many other high-quality libraries like MooTools, Prototype and others, boils down to a few guiding principles (hint: they’re mostly non-technical):
- Great API design and code quality
- Extremely high quality documentation, FAQ, web site, tutorials
- Be responsive to requests from community members in email, IRC, newsgroups, message boards, ticketing systems, and anywhere else that conversations about your product occur
- Get the licensing right
- Treat every user as a potential future contributor
The last part is key (which is why I’ve bolded it). Great open source projects live or die on the number of contributors working on the code – and nobody becomes a contributor to your project without first being a user. They will never make that leap without the knowledge that the leader of that project cares for them, so do everything you can to help people. You never know which ones will lead your project to widespread adoption.