Tags: rev



100 words 074

We had an epic front-end pow-wow today. With plenty of Beerleft Goldenrods on hand we ploughed through discussing current client work and then turned to our guests. Today we were joined by Tracy Osborn, who told us all about her lovely new self-published book, Hello Web App. Then we got a demo from our friends at the confusingly named Ind.ie—no relation to the indie web—who gave us a demo of what they’ve been working on. We gave our feedback, including a heartfelt plea to dial down the rhetoric in their public pronouncements.

Then we went to the beach.

100 words 032

We have a regular gathering at Clearleft every Thursday at 4pm. It’s our front-end pow-wow (there’s a corresponding “UX Laundromat” on Thursdays at 3pm, and every Friday at 4pm there’s a “Design …Thing”).

It’s basically like a design crit, but for code. People show what they’ve been working, whether it’s client work or personal projects. It leads to some great cross-pollination of ideas and solutions.

I wrap it up by going through links I’ve tagged with “frontend”.

Everyone’s welcome to come along, whether they’re a front-end developer or not. If any clients are in the office, they’re invited along too.

Revving up

I was away in Berlin for a few days, delivering a to the good people at Aperto. I had a good time, made even better by some excellent Spring weather and the opportunity to meet up with Anthony and Colin while I was there.

I came home to find that, in my absence, rev="canonical" usage has gone stratospheric. First off, there are the personal sites like CollyLogic and Bokardo. Then there are the bigger fish:

Excellent! I’d just like to add one piece of advice to anyone implementing or thinking of implementing rev="canonical": if you are visibly linking to the short url of the current page, please remember to use rev="canonical" on that A element as well as on any LINK element you’ve put in the HEAD of your document. Likewise, for the coders out there, if you are thinking of implementing a rev="canonical" parser—and let’s face it, that’s a nice piece of low-hanging fruit to hack together—please remember to also check for rev attributes on A elements as well as on LINK elements. If anything, I would prioritise human-visible claims of canonicity over invisible metacrap.

Actually, there’s a whole bunch of nice metacrapital things you can do with your visible hyperlinks. If you link to an RSS feed in the BODY of your document, use the same rel values that you would use if you linked to the feed from a LINK element in the HEAD. If you link to an MP3 file, use the type attribute to specify the right mime-type (audio/mpeg). The same goes for linking to Word documents, PDFs and any other documents that aren’t served up with a mime-type of text/html. So, for example, here on my site, when I link to the RSS feed from the sidebar, I’m using type and rel attributes: href="/journal/rss" rel="alternate" type="application/rss+xml". I’m also quite partial to the hreflang attribute but I don’t get the chance to use that very often—this post being an exception.

The rev="canonical" convention makes a nice addition to the stable of nice semantic richness that can be added to particular flavours of hyperlinks. But it isn’t without its critics. The main thrust of the argument against this usage is that the rev attribute currently doesn’t appear in the HTML5 spec. I’ve even seen people use the past tense to refer to an as-yet unfinished specification: the rev attribute was taken out of the HTML5 spec.

As is so often the case with HTML5, the entire justification for dropping rev seems to be based on a decision made by one person. To be fair, the decision was based on available data from 2005. In light of recent activity and the sheer number of documents that are now using rev="canonical"—Flickr alone accounts for millions—I would hope that the HTML5 community will have the good sense to re-evaluate that decision. The document outlining the design principles of HTML5 states:

When a practice is already widespread among authors, consider adopting it rather than forbidding it or inventing something new.

The unbelievable speed of adoption of rev="canonical" shows that it fulfils a real need. If the HTML5 community ignore this development, not only would they not be paving a cowpath, they would be refusing to even acknowledge that a well-trodden cowpath even exists.

The argument against rev seems to be that it can be confusing and could result in people using it incorrectly. By that argument, new elements like header and footer should be kept out of any future specification for the same reason. I’ve already come across confusion on the part of authors who thought that these new elements could only be used once per document. Fortunately, the spec explains their meaning.

The whole point of having a spec is to explain the meaning of elements and attributes, be it for authors or user-agents. Without a spec to explain what they mean, elements like P and A don’t make any intuitive sense. It’s no different for attributes like href or rev. To say that rev isn’t a good attribute because it requires you to read the spec is like saying that in order to write English, you need to understand the language. It’s neither a good nor bad thing, it’s just a statement of the bleedin’ obvious.

Now go grab yourself the very handy bookmarklet that Simon has written for auto-discovering short urls.

Social networking

Here’s a list of websites on which I have an account and which involve some form of social networking. I’m listing them in order of how often I visit. I’m also listing how many contacts/buddies/friends/connections/people I have on each site.

My Social Networks
Linked inRarely90

This is just a snapshot of activity so some of the data may be slightly skewed. Pownce, for instance, is quite a new site so my visits may increase or decrease dramatically over time. Also, though I’ve listed Del.icio.us as a daily visit, it’s really just the bookmarklet or Adactio Elsewhere that I use every day—I hardly ever visit the site itself.

Other sites that I visit on a daily basis don’t have a social networking component: blogs, news sites, Technorati, The Session (hmmm… must do something about that).

In general, the more often I use a service, the more likely I am to have many connections there. But there are some glaring exceptions. I have hardly any connections on Del.icio.us because the social networking aspect is fairly tangential to the site’s main purpose.

More interestingly, there are some exceptions that run in the other direction. I have lots of connections on Linked in and Facebook but I don’t use them much at all. In the case of Linked in, that’s because I don’t really have any incentive. I’m sure it would be a different story if I were looking for a job.

As for Facebook, I really don’t like the way it tries to be a one-stop shop for everything. It feels like a walled garden to me. I much prefer services that choose to do one thing but do it really well:

Mind you, there’s now some crossover in the events space when the events are musical in nature. The next Salter Cane concert is on Last.fm but it links off to the Upcoming event … which then loops back to Last.fm.

I haven’t settled on a book reading site yet. It’s a toss-up between Anobbii and Revish. It could go either way. One of the deciding factors will be how many of friends use each service. That’s the reason why I use Twitter more than Jaiku. Jaiku is superior in almost every way but more of my friends use Twitter. Inertia keeps me on Twitter. It’s probably just inertia that keeps me Del.icio.us rather than Ma.gnolia.

The sum total of all my connections on all these services comes to 890. But of course most of these are the same people showing up on different sites. I reckon the total amount of individual people doesn’t exceed 250. Of that, there’s probably a core of 50 people who I have connected to on at least 5 services. It’s for these people that I would really, really like to have portable social networks.

Each one of the services I’ve listed should follow these three steps. In order of difficulty:

  1. Provide a publicly addressable list of my connections. Nearly all the sites listed already do this.
  2. Mark up the list of connections with hCard and, where appropriate, XFN. Twitter, Flickr, Ma.gnolia, Pownce, Cork’d and Upcoming already do this.
  3. Provide a form with a field to paste the URL of another service where I have suitably marked-up connections. Parse and attempt to import connections found there.

That last step is the tricky one. Dopplr is the first site to attempt this. That’s the way to do it. Other social networking sites, take note.

It’s time that social networking sites really made an effort to allow not just the free flow of data, but also the free flow of relationships.

Machine Tags of Loving Grace

One of the highlights of Refresh Edinburgh for me was listening to Dan Champion give a presentation on his new site, Revish. He talked through the motivation, planning and production of the site. This was an absolute joy to listen to and it was filled with very valuable practical advice.

Revish is a book review site with a heavy dollop of social interaction. Even in its not-quite-finished state, it’s pushing all the right buttons with me:

  • The markup is clean, semantic and valid.
  • The layout is uncluttered and flexible.
  • The URL structure is logical.
  • The data is available through microformats, RSS and an API.

There’s some really smart stuff going on with the sign-up process. If your chosen username matches a Flickr username, it automatically grabs the buddy icon. At the sign-up stage you also have the option of globally disabling any Ajax on the site—an accessibility option that I advocate in my book. Truth be told, there isn’t yet any Ajax on the site but the availability of this option shows a lot of forethought.

Also at the sign-up stage, there’s a quick’n’dirty auto-discovery of contacts wherever there’s overlap with Revish usernames and your Flickr contacts. This is very cool—one small step toward portable social networks.

One of the features dovetails nicely with Richard’s recent discussion about machine tags ISBNs. If you tag a picture of a book on Flickr with book:isbn=[ISBN number], that picture will then show up on the corresponding Revish page. You can see it in action on the page for Bulletproof Ajax.

Oh, and don’t worry about whether a book has any reviews on Revish yet: the site uses Amazon’s API to pull in the basic book info. As long as a book has an ISBN, it has a page on Revish. So the Revish page for a book can effectively become a mashup of Amazon details and Flickr pictures (just take a look at the page for John’s new microformats book).

I like this format for machine tagging information related to books. As pointed out in a comment on Richard’s post, this opens up the way for plenty of other tagging like book:title="[book title]" and book:author="[author name]".

I’ve started to implement this machine tag format here. If you look at my last post—which has a whole list of books—you’ll see that I’ve tagged the post with a bunch of machine tags in the book:isbn format. By making a quick call to Amazon, I can pull in some information on each book. For now I’m just displaying a small cover image with a link through to the Amazon page.

That last entry is a bit of an extreme example; I’m assuming that most of the time I’ll be just adding one book machine tag to a post at most, probably to accompany a review.

Machine tags (or triple tags) is still a relatively young idea. Most of the structures so far have been emergent, like Upcoming and Last.fm’s event tags and my own blog post machine tags. There’s now a site dedicated to standardising on some namespaces—MachineTags.org has a blog, a wiki and a mailing list. Right now, the wiki has pages for existing conventions like geo tagging and drafts for events and book tagging. This will be an interesting space to watch.

Casino Royale

By the end of my trip to Orlando, after a conference, a theme park, and a trip to NASA, I wasn’t up for a hectic night out. Instead, a bunch of us strolled down the street to watch the latest James Bond flick, Casino Royale.

I have a love/hate relationship with James Bond films. I like them for their cheesiness and sheer escapism. I also hate them for their cheesiness and escapism. Even my favourite Bond films — From Russia With Love, Goldfinger, On Her Majesty’s Secret Service — are flawed.

I had heard that this time, Bond was going to be gritty. I was sceptical. That’s what they said when they introduced Pierce Brosnan too.

Casino Royale started with a terrific opening sequence, more like Harry Palmer via John Le Carré than the Bonds we’ve seen so far. Then came the Saul Bassian opening credits. After that, the story proper began… and it was good. Very good.

This time, it really was grittier. I kept wondering when it would descend into cheesiness but — apart from a slightly dodgy closing set piece — it never did. It was like no other Bond film before and yet it had all the classic ingredients: fights, explosions, beautiful women, tuxedos and pistols. Somehow it was simultaneously the quintessential Bond film and completely new at the same time.

It’s not perfect. It sags towards the end with more false endings than Return Of The King but it was never anything less than immensely entertaining to watch.

Much has been made of Daniel Craig’s performance and it’s all true. He’s excellent in the role. His Bond is arrogant and cruel and this only serves to make the character more interesting. He is ably abetted by Eva Green — last seen in Ridley Scott’s Kingdom of Heaven — who radiates from the screen like a modern Honor Blackman, a combination of wit, intelligence and beauty.

The film-makers took a very brave step and did something that’s all too rare in a blockbuster movie: they didn’t insult the audience’s intelligence.

There’s a lot to please die-hard Bond fans here. This is an origin story that explains all the Bond quirks and paraphernalia. At the same time, the film draws a line under all the previous films. Casino Royale acts as if its the first James Bond film. I was convinced.

Objectively, Casino Royale might not be a great film — although it’s certainly the best Bond film by far — but I give it five out of five, mostly because it surpassed my expectations and thoroughly entertained me.

A Scanner Darkly

The Clearleft office was empty on Wednesday afternoon. The bodies that normally inhabit that space were to be found sitting in a cinematheque.

By unanimous agreement, we decided to see A Scanner Darkly. Having read and thoroughly enjoyed the book, I was looking forward to seeing this. I wasn’t disappointed. I can’t say the same for the other people who saw the film with me.

I loved it, Richard liked it, Andy, Paul, Aral and Jessica were distinctly underwhelmed. I can understand their reaction, even if I don’t share it. This isn’t a film for everyone.

Personally, I really enjoyed the experience of being immersed in an off-kilter drug-fueled world. But I can see why this world might not seem like the most inviting place to spend two hours of your life. The same dialogue that I found so hysterical (in every sense of the word) could also come across as just plain annoying.

The casting is inspired. It sounds like something a sketch show writer would put together: “So, Winona Ryder, Keanu Reeves, Woody Harrelson, and Robert Downey Jr. are all sitting around getting stoned…”

Oh, and using Thom Yorke and Radiohead songs for the soundtrack? Also inspired.

The roto-scoping worked wonderfully for the scramble suit. I’m not sure whether it was entirely necessarily for everything else, but it did add to the otherworldly atmosphere to have everything nestled in the uncanny valley. It would be interesting the compare the finished film with the pre-roto-scoped footage to see how much of a difference it makes to the emotional impact of each scene. The film’s style is an interesting way of trying to nail down the right medium for telling this story. It struck me that a graphic novel might actually be the ideal medium: exactly halfway between the novel and the film.

The film is, by and large, very faithful to the book. It is by far the most faithful adaptation of a Philip K. Dick story to date. But then, A Scanner Darkly, for all its quesy strangeness is one of the more coherent and down-to-earth of Dick’s works. While this film worked wonderfully, I doubt that even Richard Linklater could pull off an adaptation of Ubik or The Three Stigmata of Palmer Eldritch. On the other hand, there’s Flow My Tears, the Policeman Said… now there’s a great film just waiting to happen.

So maybe it was a relatively easy target, but the film of A Scanner Darkly really captures the essence of a classic Philip K. Dick book. Bladerunner is a wonderful, wonderful movie on its own terms, but it bears little resemblance to the existentialist heart of Do Androids Dream Of Electric Sheep?

There is a wonderful moment in A Scanner Darkly when subjective and objective reality collide in the playback of a recording captured by a scanner of the film’s title. It’s the quintessential Philip K. Dick coup. Just as you think you have a handle on the world you have entered, the rug is pulled from under your feet. I’ll never forget the corresponding moment from Time Out Of Joint with its Truman Show-esque plot, in which a hot-dog stand winks out of existence to be replaced by a piece of paper reading “hot-dog stand.”

There’s a short story by Philip K. Dick called The Electric Ant which can be read as a version of Kafka’s Metamorphosis. The comparison is apt. Dick writes Kafka-esque stories: funny, paranoid, and unsettling.

Richard Linklater’s A Scanner Darkly captures that Dickian feeling. That’s no mean feat.

As much as I loved this film, I’m hesitant to recommend it for your next outing to the cinema. It’s not the most cinematic of films. Wait for the DVD. I have the feeling that the film’s visual style will suit that medium very well indeed.

Gather some friends on the sofa. Pop the disc into your player and compare the anti-piracy warnings that precede the film to the pointless crusade against Substance D.

V for Vendetta

When I heard that V for Vendetta was being filmed, I was very, very nervous indeed. It has long been one of my favourite graphic novels, second only to Watchmen. The film industry hasn’t traditionally done a very good job of transferring graphic novels to celluloid.

When I saw a trailer for the film, my fears were not allayed. It all looked so slick, a million miles away from Alan Moore’s grim vision. I heard about the climax of the film featuring a gathering of people in V masks… that was most certainly not in the book.

I decided not to see the film in the cinema. I figured I’d just be as disappointed as Paul. I mentally filed the film away in the “watch it on DVD” category.

This week, I did just that. Even as the disc was sliding into the DVD player, I was still hoping that I could enjoy it, although I imagined I would probably spend most of the time nitpicking, comparing it to the graphic novel and finding it wanting.

Sure enough, it’s very different indeed. The story has been condensed. Characters have been changed. Everything looks cleaner and more up-to-date.

I should have hated it. But I didn’t. I liked it. A lot.

The graphic novel was a reflection of Thatcher’s Britain. It remains a product of its time. If the film were to stay absolutely true to the book’s look and feel, it would feel dated. Instead, the film is more in synch with the mood of Britain in the 21st century.

Most dystopian visions rely heavily on a sort of pathetic fallacy to show a world that looks dark, depressing and downtrodden. It’s easy, in such circumstances, to sympathise with any protagonist bent on tearing down the system. But what about a totalitarian society where everyone’s doing more or less okay? In a society where people are doing comfortably, with clean clothes and respectable jobs, would you still feel the same righteous desire to rip the fabric of society apart?

It’s this more ambiguous stance that made the film of V for Vendetta such a pleasure for me. In some ways, and this is a somewhat heretical thing to say, the film is superior to the book. Of course, it isn’t nearly as densely packed, but it does flow quicker, with a more cohesive structure than the episodic nature of the book.

I even liked the climax. I was afraid of some kind of Deus Ex Machina scenario, but instead the film builds towards the gathering at Westminster as an inevitable culmination of everything that has come before. It sounds like such a Hollywood ending, but it’s actually a reflection of our own world. Remember, when Alan Moore and David Lloyd wrote V for Vendetta in the ’80s, none of us had seen the embodiment of the human spirit in the gatherings of Eastern Europe or witnessed the sight of the citizens of Moscow facing down the tanks of a military coup.

But, plot changes aside, this film was always going to stand or fall based on one thing: the character of V. I was impressed with how the film depicted this man, and not just because they kept the mask on the whole time — something that’s almost unheard of for a leading actor. He is a hero and a villain. He is a murderer and a terrorist, yet he is charming and sympathetic. V was a complex character in the book, and he is equally complex in the film, thanks to Hugo Weaving’s great performance and the decision to keep V’s dense, lyrical dialogue intact.

I found myself enjoying V for Vendetta immensely. It was thrilling to see scenes from the graphic novel brought to life. And where the film veered away from the book, it always made sense in the context of the modern setting.

I was reminded of The Lord of the Rings. Watching that film, it became clear very early on that it was made by someone who has an equal love for the original material and the medium of cinema. The real art is reconciling those visions.

V for Vendetta certainly split the critics. Much of the negative criticism is aimed at the perceived politics of the film, as is much of the praise. In truth, the film is a cipher. It’s impossible not to bring in your own political opinions and belief system. Far from being a watered-down, wishy-washy Hollywood adaptation, this film turns on its audience, confronting them with uncomfortable juxtapositions and questions… much like the book. The film does the best possible job with the thankless task of transferring a much-loved cult work to a mainstream audience without compromising the integrity of the piece or insulting the intelligence of the viewers.

This isn’t a frame for frame, word for word adaptation of the the graphic novel. But it is faithful to the spirit of the book. Had the film-makers slavishly transferred the story from book to film, the result would have been a curious historical document. Instead, this is one of the most topical, engaging and well-crafted films I’ve seen this year.

V for Vendetta is available on DVD now.

A tipping point for microformats

My spidey senses are tingling. Something has been happening in the last week or so. Microformats are getting noticed.

Until now, microformats were trapped in a chicken and egg situation. Few people wanted to publish microformatted content unless there were tools that would then make use of those formats. Meanwhile, the tool makers didn’t want to make applications to harness microformats until a critical mass of people were already publishing with those formats.

Technorati have broken that circular argument with the introduction of microformats search. It’s still in beta but already it’s started a new wave of interest in microformats. This is the killer app we’ve been waiting for.

I’ve been contacted by quite a few different people lately with questions about implementing hCard or hCalendar on their sites. The reason is pretty straightforward.

What’s the first thing you do when you’re presented with any new kind of search engine? That’s right… you ego surf. If your name isn’t returning any results from the Technorati kitchen then you’re going to want to do something about it.

So it may be ego, not altruism, that is driving the current push of increased microformat usage. Whatever the reason, I’m just glad to see more and more data being published in a format that I can take with me as part of my local infocloud.

It’s also a real time saver for the people providing the data. Publishing the same data in more than one format is a pain.

Michael Heilemann created an iCal schedule for Reboot 8. Jon Hicks has done the same for @media. All that effort wouldn’t have been necessary at all if the original schedules on the conference websites were marked up with a few extra class names.

Mind you, the @media site does have all the speakers marked up in hCard. You can use the wonderful Tails extension for Firefox to isolate the contact information or just point that page to Brian Suda’s vCard extractor on Technorati and you can instantly add all of those people to your address book.

I’ve been doing my bit for the microformats revolution over on The Session. There are hReviews in the Amazon-powered shop and there’s a brand new section that I launched a few days ago. The events page lists user-contributed details of upcoming concerts, festivals and workshops, all marked up in hCalendar. Right now it’s a handy way for someone to discover places to go for some fun in Ireland this Summer. In the future, I hope to build on the microformatted content to provide personalised information tailored to people’s location and schedule.

Like I said in my talk at Reboot:

Microformats are the nanotechnology for building a semantic web.

(By the way, there are a few microformats hidden in that article: I took a perverse pleasure in marking up the Renaissance with class="vevent").

Remember, the microformats community isn’t even a year old yet. This is just the beginning. I’m quite certain that we’ll see many more cool tools that harness microformats in the coming months.

Of course, we’ll probably also see the introduction of microformatted spam (hSpam? Ham?). That will be surest indication that a technology has really hit the big time: just look at what happened to email, blogs, comments and trackbacks.