In rough chronological order (see also 2008, 2009, and 2010):
I forgot about it yesterday, but I also wrote an article for Fronteers’ advent calendar: Het platform bouwen. Reflecting on how we are building the platform and explaining how developers can influence it. As described on the site, Fronteers is the non-profit trade organization of Dutch front-end developers.
And it is pretty awesome. As part of the advent calendar, Fronteers donates money to a good cause. I chose the EFF and matched Fronteers’ donation as fighting SOPA and protecting our rights on the internet is important.
There have been a few things I wanted to write about, but I manage to never get around to actually do it. So here it goes, before I postpone it yet again. While in Norway for Opera’s annual Christmas party (fun was had) I was able to buy the album Destination by trio42, an ensemble my brother is part of. Via my phone, on iTunes. So easy these days. My brother is probably the sole reason I go to classical music concerts and listen to classical music in general. And I enjoy it greatly. Currently anticipating his solo debut album.
A little before that, I was in Tokyo and worked on the Fullscreen Standard. The API is largely done, but rendering specifics might drastically change still. There I also wrote a parser and validator for WebVTT in ECMAScript. The result is the Live WebVTT Validator. I had never written something semi-serious in ECMAScript before, so that was cool. Together with Mike I climbed Mount Maehotaka. Japan’s eleventh highest mountain as the elderly man told us at the top. Without either food or water this was rather rough, but the view was pretty spectacular. Took a few days to walk sensibly again after that though.
Between those two events there was TPAC (yearly big W3C meeting), where I had the pleasure to get a personal thank you from Jeff Jaffe. There are many things wrong at the W3C, but he inspires confidence in that they will overcome them. Open minded, constantly evaluating, and committed to change. TPAC was close to San Francisco this year by the way, and just before, I went from Tokyo to the Netherlands for a few days. Oops. Other than meetings, going through my inbox, and cycling over the Golden Gate bridge not much was published, but I had a great time after the sleepiness was over.
Back to Norway, last week, Dominique (better known as dom) created a repository so I could publish the Encoding Standard, based on research I did last year. It is still very much work in progress, but has already helped Opera and Mozilla to make adjustments to their browsers to become more interoperable. Currently encoding documentation is all over the place and misses important details, which makes it harder for people who write software that consumes (legacy) content on the internet to interoperate. I want to change that. If you are a web developer, this matters less to you, just use UTF-8.
There is more, but I should really get some food.
“A cat met up with a big male rat in the attic and chased him into a corner. The rat, trembling, said, ‘Please don’t eat me, Mr. Cat. I have to go back to my family. I have hungry children waiting for me. Please let me go.’ The cat said, ‘Don’t worry, I won’t eat you. To tell you the truth, I can’t say this too loudly, but I’m a vegetarian. I don’t eat any meat. You were lucky to run into me.’ The rat said, ‘Oh, what a wonderful day! What a lucky rat I am to meet up with a vegetarian cat!’ But the very next second, the cat pounced on the rat, held him down with his claws, and sank his sharp teeth into the rat’s throat. With his last, painful breath, the rat asked him, ‘But Mr. Cat, didn’t you say you’re a vegetarian and don’t eat any meat? Were you lying to me?’ The cat licked his chops and said, ‘True, I don’t eat meat. That was no lie. I’m going to take you home in my mouth and trade you for lettuce.’”
From 1Q84 by Haruki Murakami.
“The ones who did it can always rationalize their actions and even forget what they did. They can turn away from things they don't want to see. But the surviving victims can never forget. They can’t turn away. Their memories are passed on from parent to child. That’s what the world is, after all: an endless battle of contrasting memories.”
From 1Q84 by Haruki Murakami.
Since we gained control of the DOM specification (by working on it) we are starting to improve the DOM too. Libraries are great, and we have to work out the balance between adding convenience APIs at the platform level and the library level, but making things a little easier at the core is worth it I think. Paving cowpaths, you know.
It has been through several iterations, started by Ojan Vafai; here is the latest: “Improving the DOM; rev 2”. These are the kind of operations we want to allow:
ele.remove()
ele.append("TEST", otherele)
ele.prepend("Note: ")
Passing in a string maps to the creation of a Text node. remove() removes the node. append() inserts the nodes at the end of the node operated on, prepend() at the start. before() inserts nodes before the node, after() after. replace() replaces the node operated on with some other nodes. It’s not rocket science and actually rather elegant, considering this the DOM. One of the lesser liked parts of web development.
Feedback appreciated!
Last week the W3C held its yearly TPAC meeting in Santa Clara, California. Most groups the W3C consists of gather at TPAC to meet. HTML, WebApps, CSS, the usual suspects. The groups have individual meetings and sometimes team up to create larger groups. At one point WebApps, CSS, Fonts, and WebAppsSec were all in one room. That was a bit much. In the middle of the week there was the plenary day, another yearly tradition.
The plenary day was great. Where in years before it has been a dull experience (last year some of us decided to explore Lyon instead), this year it was an unconference. Many more topics could be covered in a much more lively manner. Instead of one person trying to entertain three hundred, you have thirty entertaining each other. The plenary day could have been better still, by not having the two hour “monologue” at the start. Nobody really wants that. Nevertheless the plenary day was great, concluding with Tim-Berners Lee suggesting the W3C should be an unorganization.
Hopefully next year the entirety of TPAC is done this way. Contrasted with the plenary day and typical group communication (i.e. IRC and email) the group meetings were sluggish and felt unproductive. The problem is that a single group covers many distinct topics and issues. And while they are connected from a distance, group-wide discussion of specific topics are problematic.
Typically most people in a group meeting are not paying attention. Either because the subject is only understood by a few or because a few people are not making sense, but feel they have to say a lot. A ten minute discussion takes thirty. This is why actual mutual understanding on a specific topic finds place outside the meeting room. However, since that is not facilitated, people interested in the topic — outside the smaller group that holds the discussion — miss out. Group meetings foster backchannel focused meetings.
Unorganize and facilitate topic-based discussion, rather than group-based discussion.
It has been around twice now. It is a vast wheel, set at an angle, and each time it goes around and then is back to where it starts. One side is higher than the other and the sweep it makes lifts you back and down to where you started. There are no prizes either, he thought, and no one would choose to ride this wheel. You ride it each time and make the turn with no intention ever to have mounted. There is only one turn; one large, elliptical, rising and falling turn and you are back where you have started. We are back again now, he thought, and nothing is settled.
From For Whom the Bell Tolls by Ernest Hemingway.
The man who taught me what “Gone” meant and so much more has removed his online presence. I hope to thank him one day.
Via Twitter (where else) news reached me about the CSS Namespaces Module. It is the first specification I edit (together with Elika) that reached the near-magical W3C Recommendation status. The irony here is that I dislike namespaces, a lot. From all specifications I edit this is probably the least useful one. It contributes to namespace confusion and defines a legacy feature (@namespace) mostly intended for usage by browser vendors directly. Authors can leave it.