Archive for July, 2010

Holiday trepidation

It’s with some trepidation that I look forward to my holiday soon.

There’s the usual worry of booking a package tour—will the hotel be as nice as it seemed on the Web? will the transfer taxi be there? (Actually, I only imagine these are the “usual” worries; we’ve never done a package before).

But I have an extra worry. The last time I visited this town was in 1993 -1995 when I lived there, working as a musician and tarot card reader, and I left because I was run out of town.

The story goes like this.

Opposite the bar that I was working in was a small area where three female students would spread out a cloth on the floor which they covered with hippie jewellry that they’d made in the hope of selling it to tourists. During the quiet parts of the day I’d hang with them, and we’d smoke cigarettes and improve our command of each others’ languages. As occasionally happened when I was young and slim, one of the girls and I became especially friendly.

Towards the end of the season, I was playing my guitar in the bar, and an well-dressed gentleman in his early 40s came and stood by my stool as I took off my guitar for my smoke-beer-pee break. This often happened; people came up to request favourite songs for the the next set. He waited while I carefully put the plectrum under the corner of the scratchplate and put the guitar securely on its stand. And then he punched me in the face.

As I regained verticality, I asked him why he’d done that. “For sleeping with my wife”, he replied. I assured him that he was mistaken, and pointed out my girlfriend who was looking horrified and backing towards the door rather than racing forward to cradle me in her arms. “Yes, he replied. That’s my wife.”

Ignorance is no defence and although true, objecting that that she had neglected to inform me of her nuptial status was unlikely to mollify him. But he didn’t come back with a follow-up punch but instead walked out of the bar, leaving two of his friends behind who very politely informed me that the usual penalty for wronging someone’s honour in such a way is to stab them in the buttocks. The reason is that there are no major blood vessels there, so the victim is very unlikely to die. However, it’s the largest muscle in the body so would take months to heal and lying down, sitting or walking would be agony. It was emphasised that if I were to remain in town more than one night, this might very well happen to me.

I left the next morning for Istanbul.

Seventeen years later, I suspect that none of the protagonists still live there. And I suspect that the years have suitably transformed me from the slim, bronzed beach bum that I was then into an unrecognizable and expanded figure.

But if I’m back early, after begging for a standby ticket at the airport, you’ll know why.

A Minimal HTML5 Document

There seems to be confusion about the minimal set of elements that make a valid HTML5 page.

(Amended on prompting from Tab Atkins and Mathias Bynens in comments below.)

The simplest valid document is


<!doctype html>

The title element is required in most situations, but when a higher-level protocol provides title information, e.g. in the Subject line of an e-mail when HTML is used as an e-mail authoring format, the title element can be omitted.

Assuming you’re writing a web page rather than an HTML email, you need the title element, although technically it can be blank.


<!doctype html>
<title></title>

However, you shouldn’t do that. Failure to specify a character encoding which can introduce an obscure but real security vulnerability. So, the simplest valid and secure document looks like this:


<!doctype html>
<meta charset=utf-8>
<title>blah</title>
<p>I'm the content

(You don’t actually need the content, of course, but it’s a pretty rubbish web page without it, and an empty title isn’t much good.)

However, for accessibility reasons, you should declare the natural language of the document (English/ French/ Swahili) on the html element, which therefore means you need that element (note that you don’t need to close it, though):


<!doctype html>
<html lang=en>
<meta charset=utf-8>
<title>blah</title>
<p>I'm the content

If you’re planning to use AppCache to enable offline applications, you’ll need the html element as the manifest attribute goes there.

Internet Explorer 9 Developer Preview 3 and its antecedents can’t apply CSS to new HTML5 elements without a body element. (Try it without body and with body.)

So if you’re attempting to do that, the smallest valid, secure, screenreader-accessible and stylable-in-IE HTML5 page you can have is


<!doctype html>
<html lang=en>
<meta charset=utf-8>
<title>blah</title>
<body>
<p>I'm the content

Just because you can do this doesn’t mean you should, of course. Depending on your colleagues, it could be confusing and thus a maintainability nightmare.

I use the head element, and close those tags that need closing (although I don’t bother with trailing slashes on self-closing elements).

So the minimal valid, secure, screenreader-accessible and stylable-in-IE HTML5 page (not email) that it easily readable and maintainable (subjective, of course) is probably


<!doctype html>
<html lang=en>
<head>
<meta charset=utf-8>
<title>blah</title>
</head>
<body>
<p>I'm the content</p>
</body>
</html>

Enjoy.

(PS, I co-wrote a book!)

Introducing HTML5 lands!

I got home to find my author copies of Introducing HTML5 had arrived, straight from the printer in the US. They’ll be on the shelves in a week or so.

Rather than engaging in weird “unboxing” photosets on Flickr, I decided to celebrate this joyous occasion in a different way.

(Images may be NSFW if you work a very prudish environment or are a nun.)

Continue reading Introducing HTML5 lands!

On HTML5 article element

In the pub after presenting on HTML5 at London Geek Night last week, a bloke (Andy?) gave the best description I’ve heard yet of HTML <article>.

Don’t think of article as a newpaper article. Think of it like article of clothing: any discrete item.

It’s not just about newspapers or blogs. So, on amazon, a single product on a product listing page would be an <article>. An individual email in a web-based email app would be an <article> Individual tweets on a twitter client would be <article>.

Will Flash support WebM video?

Last night, Remy Sharp and I did our first ever co-presentation about HTML5 for London Geek Night (and thanks to the organisers: we had a blast. Beer in the fridge for all—that rocks!). For the second time this week, I heard the misconception that the Flash Player will support unencumbered WebM video.

Adobe has announced that it will support the VP8 video codec. WebM, however, is an umbrella term that means VP8 video, with Vorbis audio (the one that Spotify uses, and which is supported by Opera, Firefox and Chrome) packaged up in a profile of the Matroska container format (MKV).

As far as I can tell, from Adobe’s Matt Rozen’s blogpost Flash Player Will Support VP8, there is not yet planned support for Vorbis or MKV:

Can Flash play .ogg audio like it plays .mp3 now?

We carefully consider the technologies we add to the Flash Player runtime based on customer needs. We haven’t announced support for other codecs at this time.

It’s great that Adobe will support VP8. But we shouldn’t yet assume that we can let browsers that don’t natively support unencumbered WebM fall back to the Flash Player.

I’d love it if an Adobean would comment and clarify the situation, as that blogpost is from May 24 so there might be newer information that I haven’t seen.

(There’s a similar situation with IE9. IE9 will support VP8 if the codec is previously installed on the machine—that is, it’s not inside IE9 out-of-the-box. But note this is VP8, with no mention of WebM. However, as Microsoft already uses Vorbis for the audio in Microsoft Halo, we can assume that they have no ideological problem with the audio format).

Opera 10.60 is the first shipping browser with WebM support; Firefox and Chrome have committed to support and have it built into nightlies.

Added 15 Jan 2011: I’ve just noticed that the Flash logo is listed on the webM site as “accessibility web standards, HTML5 . 5 Comments