Archive for November, 2011

Full Frontal 2011 notes

Full Frontal is organised by my co-author, Remy Sharp and his wife Julie (who both juggled recent parenthood with conference running – respect!). I’ve been unable to attend in previous years due to being out of the country but was looking forward to this one, even though I was a little worried that the JavaScript content would be well over my head.

I needn’t have been too scared. The first talk was on CoffeeScript which seemed to me quite intriguing as it (seems to) encourage you to continue thinking of JS as JS (rather than turning it into Java or some such horror) but smooths away some of the syntactical gotchas that get on my moobs. (See Mike Davis’ write-up.) However, I’m a great believer in not cheating until you know the rules properly, so I’ll be delaying CoffeeScript until I’m more confident in my JS.

The second talk was Phil Hawksworth “Excessive Enhancement – Are we taking proper care of the Web?”, which wittily harangued developers to ensure there is proper semantics underneath the JS shizzle and CSS bling – a subject dear to my heart recently. (And he even quoted me, which is nice!)

I skipped talk #3 “Respectable code-editing in the browser” for some synergy-leveraging as I thought it would be too advanced for me. Only afterwards did I realise that the talk was by Marijn Haverbeke, the author of Eloquent JavaScript that I was greatly enjoying on the train coming down on the recommendation of Noo Yoik JS lovegod Mike Taylor.

The talk on Cloud9 IDE by Rik Arends was a bit of a product pitch, but interesting. I wonder if it works across all browsers?

“Scalable JavaScript Application Architecture” by Nicholas Zakas was the tech highlight for me. He discussed a method of structuring an application so that everything was controlled by a main control app with messages passed into it and back out, with everything else being a black box to everything else. This means the programmer must spend a lot of time at the start of the project, designing the sandbox, controller and APIs. This may not be revelatory to most JS coders (or it may be, I don’t know) but it reminded me of learning Jackson Structured Programming in the late 80s when a systems analyst at AT&T. I’d like to see Zakas do a follow-up talk on how to design the sandbox and controller.

Glenn Jones’ “Beyond the Page” talk discussed – and demoed – techniques and emerging standards/ idioms to make Web sites less separated from other apps. We saw Drag and Drop, Web Intents etc. Some evil hackery, too!

Brendan Dawes always scrubs up nice and today was no exception. Although he’s a quivering Flash-lovin’ aesthete (albeit with a Northern accent), he had the techy crowd warming to him and then in stitches with a stream-of-consciousness talk about creativity, new interfaces and expensive pencils.

Last on was Marcin Wichary from Google, who talked of Google Doodles. Who knews that they user-test them? It was a fascinating talk and the good news is that he’ll be blogging about them in the future.

FullFrontal was a super day. The after party had lavish quantities of free grog. The venue was quirky and fun, with free coffee all day. Each talk was handpicked – in fact, everything about the event was curated by Remy and Julie. I’ll be going next year (although not staying in the Travelodge, Preston Road, which was a dump, and nothing to do with the event).

Introducing HTML5 Second edition

Yay! The first, the original, the sexiest, the motherflippin’ brownest book on HTML5, Introducing HTML5 is out in second edition!

What’s new?

It’s bigger, baby – having swollen from 223 pages to a tumescent 295 pages – for less than the cover price of the original. Apart from a photo of the snogtabulous uberhunks™ that are its authors on the front cover, and the inner colour changing from orange to blue, what are the highlights?

  • Errors are corrected and it’s all re-read and updated
  • It’s been fully re-edited, re-proofed and re-indexed
  • Bruce has changed his mind about the <nav> element and now advises you don’t use it bloody everywhere
  • The multimedia chapter has added information on <track>, getUserMedia, webRTC
  • Even more detail about how to get more out of geolocation
  • More storage methods and techniques, including the new IndexedDB storage API
  • We now have full examples on how to use Server Sent Events
  • Updated detail on offline applications, gotchas and debugging tips
  • A full new chapter on polyfills, what they are, how they work and how to use them

Updated launch photos?

You bet!

Remy, resplendent on the bed like a Botticelli painting. or a jelly botty picture.

bruce, looking elegant and intellectual in a lime green mankini

So buy the book already, or we’re coming round your house dressed like this to ask why you haven’t. And don’t forget to join in the fun by sending a photo of you with a copy of the book, doing your O-face, or wearing in mankini for inclusion in the HTML5 gallery of gorgeous guys and groovy gals.

Thanks to Krijn Hoetmer for the mankini. Next time I’m turning the heating on.

The return of <time>

If you’re interested in this stuff at all, you’ll probably know this, but for the sake of completeness, the <time> element has returned to HTML5 after it was removed from the specification.

I reserved cheering until in case it was grudgingly returned to the W3C spec but not the WHATWG spec, as I don’t particularly want to see forked specs.

The old version of the element is now in the W3C spec, but not in the WHATWG version. But I’m not worried; it appears that it will be added as a New!Improved! element with some extra features to make it actually useful that I’ve been asking for since March 2009.

Editor Ian Hickson wrote

A few weeks ago, I replaced <time> with <data>. We got feedback from many people saying that there were use cases that <data> didn’t handle, and requesting <time> be left in the spec. It turns out what people were asking for was not quite the old <time> element, it was more like a variant of <data> that was specifically for <time>. (The old <time> was specified as doing locale-specific rendering, had a more or less useless API, and only supported a small set of data and time syntaxes.) Tantek made a proposal for how to handle these use cases, which I intend to add to the spec ("the <time> element is dead, long live the <time> element").

Indeed. <time>2.0. Time, after time.

Hickson has also hinted that we might get a <geo> element, too (as I suggested in my HTML5 Semantics talk at Fronteers.)

(Let’s just hope Tantek doesn’t neglect the vital use-case of 4 simultaneous days in 24 hrs advocated by Gene Ray’s Timecube theory.)

American democracy (export only)

Some products are made that are rarely seen in the nation that produces them. One of these seems to be American democracy. Successive American governments have been exporting democracy, even to places that appear not to want it, but are reluctant to allow their own people to partake of this delicacy.

“We very much want to see the human rights of the people protected, including right to assemble, right to express themselves” – Hillary Clinton on the Arab Spring.

Meanwhile, Oakland, USA:

“You can’t have a real dialogue when parts of the peaceful opposition are in jail…mass arrests and brute force are at odds with the universal rights of Bahrain’s citizens ” – Barack Obama about Bahrain.

Oakland, USA:

We’ll probably see similar video in the days after the Occupy Wall Street protesters were evicted and journalists covering it were arrested.

World of the Children, 1948

When we were clearing my deceased Grandmother‘s house for sale, we found a four-volume set of books that I had loved as a child, called The World of the Children by Stuart Miall (1903-1977). They were designed for children to read with parents, and covered subjects as diverse as a death in the family, algebra, how to measure the speed of light, how electric lights work and foreign travel.

book cover: green and gilt with embossed picture

They were originally published in 1948 (although these are a 1952 reprint) and show just what a different country the past was.

In one chapter, a small boy and girl swim naked together, allowing Marjorie, the girl, to ask her mother why boys and girls are made differently. (The precise physical nature of the differences is never discussed.)

Mother sums up the differences:

The big strong man enjoys being a big strong man, and the pretty girl who has won a husband and a home and lots of babies finds that there is plenty of work to do to keep all her treasures sweet and nice. God is very fair, darling.

Something that hasn’t changed – and which surprised me – is the chapter on “We have to decide whether a stranger is nice or nasty”. I can recall being told never to talk to strangers when I was at school in the early 1970s, but was never told why. Although old people and right-wingers would have you believe that pre-immigration and pre-sexual revolution, everyone was lovely and polite and everyone left their doors unlocked all the time, it appears that’s not the case.

A cartoon  and poem warning children against strangers

The book is rooted in the colonial era, even though by this time the colonies were beginning to dwindle. The author, Stuart Miall, tries to be an enlightened imperialist:

The people of India are dark, almost black, but many have fine distinguished-looking faces and many are exceedingly clever.

(Notice the word “but”.)

On the Middle East, Miall writes

It is probable that if they were allowed to grow up together in friendship, little Arab children and little Jewish children would most surely make a happy as well as a holy land of poor, stricken Palestine, but the tribal beliefs of Arabs and Jews have not the virtues of Christian values, which exhort men to brotherly love and peace.

We are shown pictures of the industrious “dark-skinned natives” of India and “dusky children of Jamaica”:

Black and white photos of Indian men and Jamaican children

He slips a little when discussing Gracie “a dark little half-caste girl, with a rather fine little face”:

Where white people live side-by-side with native people of a different colour, it sometimes happens that white man takes a black or brown or yellow woman for his wife. Then the children are called half-caste…Gracie looked as though she might be intelligent like her father, though having the dark skin of her mother. The life of a half-caste is usually a very sad one, because neither the white people nor the black people really care for him.

Here Miall seems to be sympathetic to the apartheid system, which began in South Africa in 1948, the same year the book was published.

What’s shocking is how mainstream such racism seems to be in 1940s England. Take, for example, the page of common words for teaching children to read and write: “an, as, at, be, big, collar, daughter, fat, fish” and so on, until we get to N: “neck, niece, nigger”.

Table of words to teach children to read and write

This book was printed a mere 14 years before I was born. Amazing.