This week was week two of the Knight Mozilla learning lab. The lectures were by Christian Heilmann and John Resig.
John Resig is the programmer who created jQuery. There was lots of good advice in his lecture, even for people who aren't creating a programming API.
- Create a timeline to imagine what it's like for people getting started with your tool. This can include working through the tutorial, using it for a toy project, using it for a real project, and giving feedback and contributing.
- Think of everything possible to make your tool as easy to use as possible for beginners. Then think some more and make it even easier!
- Be obsessive about helping people in as many ways as possible. Good documentation, API (if applicable), forum, IRC, wiki, etc.
Christian works for Mozilla and calls himself a developer evangelist. He spoke at length about how he prefers open technologies to closed ones, then he showed off the many new features in HTML5 and shared his experience with the HTML standardization process. It is good to know that the HTML standardization is so much more open and friendly than it has been in the past.
It is indeed an exciting time that we live in. There are many enhancements and new features in HTML5 which will make the lives of web developers easier. All the major browser vendors are on board so our code will work the same across browsers. The committee has tried to implement things in a backward-compatible way, where you can use many of the features today and they will degrade gracefully for users with older browsers.
Interestingly enough, I doubt that the content of Christian's presentation, as fascinating as it was, is going to be that helpful to those of us creating Knight Mozilla projects and proposals. The new features of HTML5 are lifesavers when you need them, but they are not transformational enough to build a whole project around them and there are still some legacy browser considerations. Nonetheless, for me the presentation was very important for its emphasis on open standards and processes.
This week, I have found not one but two other projects around the internet which are similar to the project that I'm going to propose. And one of them is done by Google. Instead of being discouraging, I see it instead as exciting. It validates the idea, and allows me to switch my focus from convincing people that it's a good idea to deeper and more interesting topics:
- Envisioning how the tool should really work. How to take what's been done in those other projects to the next level.
- Emphasizing how we need a solution built on open standards and open data.
- Encouraging a solution that will leverage existing technologies, especially open ones.
I will be unveiling my project soon. At this point, I don't even care if I'm the one to implement it. I'm just excited to share my vision with all the smart people in the Knight Mozilla learning lab and with the world.