The first European Web Platform Doc Sprint was held last week (February 8th and 9th 2013) in Berlin, these are my thoughts.
Before I can say what I have been doing, let me explain what WebPlatform.org is.
WebPlatform.org is a website with information about everything front-end. At least, that is what it’s going to be when it’s out of the alpha version. Today, most documentation is scattered around a lot of sites. There is MDN, MSDN, HTML5 Rocks!, OperaDev and a lot of other sites like it. WebPlatform.org aims to collect all that data, write articles of their own, and make one site with everything you want to know. There are tutorials, compatibility data, examples, best practices, polyfill information, etc.
The information is created and maintained by the community. And leaps are made at the doc sprints.
So back to my story. After a 7 hour train ride from Breda, The Netherlands to Berlin, Germany, a fun day of cycling through the city and a good night sleep I went to Supermarkt, a co-working space (I think) in the north of Berlin, where the event was held. I was greeted by Andre Jay Meissner (the opendevicelab.com/labup.org hero) and I set up my laptop on one of the large tables. As a WebPlatform.org beginner (I only had an account) I didn’t really know what to do, so I took the liberty to talk to a few people, ask why they were here and what they were expecting. I noticed that most of them were beginners like me, hoping to get to know a few new people and help making this already good site a bit better. Also like me, they didn’t know what to really expect.
The first day
A bit later than scheduled, Jay came up on stage to officially open the doc sprint. He introduced the stewards, they were the Web Platform Experts. There were people from Google, Mozilla, Opera, Adobe and two independent stewards. Any questions and problems would go to them. There were going to be three groups: the API group, the CSS Property group and the Do-What-You-Want group. To focus just two parts of the documentation, we would be able to make great progress in these areas. I had chosen to be in the APIs group, led by Google’s Scott Rowe.
Scott was planning to begin with an explanation on how we were going to create/edit those pages. But apperently there was more work already done than he anticipated. So all we could do was add examples to the APIs. Still, this was a good exercise with working on the platform and learning the APIs. Along with another attendee, we worked on the Canvas API.
The Canvas API
It wasn’t long until I got confused with the W3C specs, because apperently there are two different versions, the current version and a Level 2 version. No one attending knew about a level 2 version, so I emailed one of the spec writers, Eliot Graff, he was very helpfull and explained that the Level 2 spec is a new experimental version, a part of HTML5.1. He advised me to keep using the old version, because no browser has implemented Level 2. So I worked my way through the spec and added examples from MDN (with a reference to the pages) in the document. I found a couple of bugs (which I filed), but nothing that kept me from going.
So the API group wasn’t really an API group anymore. Some went to the CSS group, some went to the Do-What-You-Want, but most were in an “API Examples/Clean-Up hybrid” group. But still very productive.
The second day started in the morning. Not everybody was well rested (or even there on time), but the energy was still there to start working right away. I decided to switch to the CSS properties group, led by Opera’s Chris Mills.
I decided to start with something small, to get the feeling of the template, so I started with the text-shadow property. With text-shadow you can, well, add shadows to text (and text-decorations). Not really hard, but it still took me some time to figure everything out. Even though the text-shadow portion in w3.org specs is small, it still says a lot. I ended up writing 5 different examples, each showing some part of the functionality (like multiple shadows).
Now that I understood how to work with the system, it was time for something harder. I decided that CSS filters could use some more information and examples, so I worked on that. CSS Filters are very interesting, but they aren’t widely supported. If you want to know what I learned, you should read the page I’ve (partly) written on it (http://docs.webplatform.org/wiki/css/properties/filter), and it’s functions (nearly done with those).
So what did I really learn?
Here’s to summarize some of the things I’ve learned in those few days:
- It snows in Berlin, a lot
- Germans are a lot better in English than I am
- W3C specs are strange, hard to read and inconsistent (I already knew that, but even worse than I thought)
- The Canvas API has a level 2 for HTML5.1
- When you’re jetlagging, don’t drink whiskey
- Webplatform.org is great already, but it going to be excellent
- Contributing not only helps others, but it helps you too (probably a lot more either)
- If you don’t know if your article is correct, flag it and someone will look into it. (or send a mail or go on IRC if you want faster results)
- Spec writers love questions on their specs and they will e-mail you back quicker than you expect
- CSS Filters are good fun, custom CSS filters even better (if you have Canary) ( try CSS Filterlab)
- Writing shaders for custom CSS filters is hard, and I still don’t know how (anyone know any beginners books on this?)
- You can learn a lot in just two days
I’m trying to get a doc sprint organised in The Netherlands, sometime in October. Don’t pin me down on anything, but please let me know your thoughts.