Christian Heilmann

Posts Tagged ‘standards’

A few HTML5 questions that need answering

Monday, February 14th, 2011

I just released the notes of my “Using HTML5 sensibly” talk over on the Mozilla hacks blog and there are a few questions that need answering by anyone who wants to be part of publishing on the web in the future:

  • Can innovation be based on “people never did this correctly anyways”?
  • Is it HTML or BML? (HyperText Markup Language or Browser Markup Language)
  • Should HTML be there only for browsers? What about conversion Services? Search bots? Content scrapers?
  • Should we shoe-horn new technology into legacy browsers?
  • Do patches add complexity as we need to test their performance? (there is no point in giving an old browser functionality that simply looks bad or grinds it down to a halt)
  • How about moving IE fixes to the server side? Padding with DIVs with classes in PHP/Ruby/Python after checking the browser and no JS for IE?
  • Can we expect content creators to create video in many formats to support an open technology?
  • Can a service like vid.ly be trusted for content creation and storage?
  • Is HTML5 not applicable for premium content?

Check the detailed notes on the Mozilla blog, and – as a reminder – here are the slides and the video of the talk:

You can get the slides on Slideshare or see them here:

You can see “Using HTML5 sensibly” on any HTML5 enabled device here (courtesy of vid.ly).

Why I don’t write my slides in HTML

Tuesday, November 2nd, 2010

At the Fronttrends2010 conference Tantek Çelik spent the last few minutes of his HTML5 talk praising HTML as a great format for presentations and urged people for the good of the open web to use HTML slide systems instead of Flash or PDF. Other presenters right now write awesome CSS3 driven slide shows and build their own scripts to show their presentation. I could, but I don’t – and here’s why.

Presentations are not web documents

I am all for the open web (heck, I just took a job evangelising it) but I don’t write my slides in HTML and I really don’t consider it a good format for something like a presentation. Here are my reasons:

  • A presentation is not what you see on the screen – many speakers have notes that are shown in presenter view in Keynote or Powerpoint and not shown to the audience but on a different screen. There are probably ways to do that with CSS and media queries but I have yet to find a slide system using web standards that supports this requirement. If you just read your slides you might as well not be on stage.
  • Adding images should also allow you to edit them – I find myself dragging photos into Keynote and cropping and resizing them all the time. This can be done with CSS and JavaScript but I have yet to see a slide system have that functionality.
  • Presentations need to scale to different resolutions – I’ve encountered anything from 800×600 to 1280×1024. A slide package resizes my fonts and keeps them the way I intended them to – HTML doesn’t do that yet. Again, I am sure with SVG, Canvas and clever trickery this can be easily done but please tell me about a system that considered that.
  • Presentations need to be a single, printable file – presentations get mailed around and printed out for people who like to edit or read on paper. Using a PDF I can do that. Printing out is needed for example when you have a conference with sign translation. As sign translators do not translate word by word but sentences by meaning it is important that they know what is coming. Unless HTML slide systems also support good print styles this is not really possible
  • HTML slides can’t be embedded and resized – using Slideshare people can embed my slides in their blog posts or articles and people can watch them in context. You can put HTML slides in an iframe but they wouldn’t resize but instead get massive scrollbars
  • Slides might need to be synced with audio to make sense – I normally record my talks in addition to offering the Slideshare embed. I also used to do slidecasts, but the editor on Slideshare is not good enough yet. This is something we could write for HTML slides – a syncing tool with audio that automatically moves ahead in the deck.
  • Slides need to work offline – many a conference doesn’t have working wireless and people want to read the slides on the train. If you use third party fonts or images hosted elsewhere or you link to live demos this is very frustrating. You can use offline storage for that though.
  • Slides should work without your computer and your browser – many hand-rolled slide decks expect the presenters settings, operating system or nightly build of a certain browser and are not written with progressive enhancement as they are for personal use. When people try to watch them on their own computer and cannot see the effects or demos explained this actually is bad advertising for open web technologies.
  • A slide deck has a fixed layout and fonts – and differences in browser rendering or elastic design effects are not welcome in a slide deck – so why choose a technology that excels in this?

Presentations are more than a document on the web and unless I can do the things above as effectively and easily in HTML as I can do them in Keynote, I won’t switch.

Arguments for HTML slide decks

The main argument – beyond “doing the right thing for the web” that Tantek mentioned was that your slides as a PDF or Flash movie just can’t be found on the web. This is not true – Google happily indexes PDF and Flash and furthermore Slideshare creates a transcript of your slides as an ordered list for SEO reasons.

The other argument which is more to the point is that HTML documents are easy to edit, re-use and update. Collaborating on a slide deck in Keynote and Powerpoint can lead to annoying inconsistencies across operating systems and software versions.

My hybrid approach

Personally, I use a hybrid approach to the issue. I write my presentation as notes and then create a slide deck from those. I explained the lot (and the above arguments against HTML slides) in the presentations chapter of the Developer Evangelism handbook:


When I write a new slide deck I start with a text editor. I write the story of my presentation and I follow the same rules as for writing online articles. That way I make sure of a few things:

  • I know the content and the extent of what I want to cover – which also allows me to keep to the time limit when presenting.
  • I have the information in a highly portable format for people to read afterwards – by converting it to HTML later on or blogging these notes.
  • I already know all the links that I want to show and can create easy-to-find versions of them – for example by bookmarking them in Delicious.
  • I don’t get carried away with visuals and effects – which is a big danger when you play with good presentation software.

Yes, this is duplicating work, but I think it is worth it – after all Slideshare is a community for slide decks – you already have a captive audience rather than hoping Googlebot comes around and considers you better than another resource on the same subject.

Did Digg and YouTube just spell the end of Internet Explorer 6?

Tuesday, July 14th, 2009

Back patting machine In the last few days the blogosphere was abuzz and Twiter a-twitter about Digg pondering dropping support for IE6 and now YouTube showing an ‘update your IE as we won’t support you in the future’ message.

While this is great and I am happy about it I really doubt though that this has a massive impact. Sites like YouTube and Digg seeing a negligible number of IE6 users arriving on their site has a reason: companies that lock their people into IE6 are also companies that block social web sites.

For example I cannot send any Flickr, YouTube, Facebook, Vimeo, Myspace or Bebo links to a person I know that works in a large financial corporation. This blog, probably because of its name is also banned, and so is S3 for storage. What happens? People attach 10mb videos to emails which strangely enough don’t get banned as 20mb PPTs are not uncommon in that environment. That this is stupid is not the debate, that it happens is sadly enough a fact. The brave new world of web2.0 awesomeness is far from being the part of IT were most people are and where lots of money is spent.

In the case of YouTube the impact is even less impressive as for years YouTube has rightfully claimed to have 70% of their traffic from embedded media rather than people coming to their site. I upload videos to YouTube but I have given up on comments and tagging on YouTube years ago – the audience is simply not quality but quantity driven. What would be more interesting to see is if the YouTube player could detect a video being embedded in a site that is shown with IE6 and then asking for upgrade.

All this smacks of the well known number that 99% of the web has Flash installed. Well, this number comes from Adobe so yes, when I go to the Adobe site to upgrade my Flash plugin I do have Flash installed the same way that when I go to MSDN or windowsupdate.com I am very likely to have IE and Silverlight. These are self-fulfilling prophecies.

I guess Facebook will be next to say something in the vein of not supporting IE6, which would be as much of a media hoo-hah but actually much more useful if it supported standard development practices or made the site accessible to assistive technology at the same time.

Social web sites not supporting IE6 is a sign, but a sign to an audience that already understands the problem. It is like adding a message for blind users as a JPG without alternative text – nice idea, wrong tool to reach the intended target group.

What would be interesting would be to see just what kind of web sites are banned in the IE6 loving IT environments. That way we could go to clients and say that if thy want to build something in the same vein than they are OK to not give a toss about IE6 as their site will be banned anyway.

So, while I applaud the decision of YouTube and Digg I also see that it is a damn easy one for them to do as there is no danger involved.

Web sites like the BBC, Sky or even more interesting Bloomberg, Financial Times and other resources corporations use and need dropping IE6 support would be a real impact.

The BBC has the problem that they cannot ask people to upgrade anything by law – which is why they had to build their own JS library to support old browsers. You can say that was a step to keep old browsers around and stop innovation but in reality it was a legal necessity and there is no way around. Laws and especially publication laws are the enemy of innovation – and boy do we have a task ahead of us if we want to change that.

In the case of financial companies and large software corporations that build systems for other software corporations and supporting IE6 more or less exclusively (try using an Oracle self-service system with Firefox on a Mac, I dare you!) they are blissfully unaware of the issues they cause and who is to blame? Us, the people who want to change the web and live on the bleeding edge of web design and development. Every single time I ask what can be done about corporate environments, terrible education in universities when it comes to web development and shortsighted and very wrong guidelines and standards in government web sites I hear the same thing – “there is no point in wasting energy on this, we’ll never reach them or change that”.

If that is the case then we also have no right to complain about IE6, cause either we change the cause or moan about symptoms. Right now we do neither as we are too busy celebrating minor victories that make us feel as if we changed the world.

The ball is still in the court of Microsoft. They have the channels to reach the people that need to upgrade their browsers – to keep their systems more secure and to allow us to build web solutions that make the day to day life of cubicle dwellers all over the world much easier and prettier. Right now Microsoft is battling itself over an issue that keeps them from innovating. Google OS is an unashamed attack to the old-school office world, and I for one would love to see it succeed as stagnation and maintaining a status quo that makes people hate computers and programs that they need to use to do their job is not what building software for people is about. The money spent on marketing stunts comparing IE8 to other browsers and women throwing up when not using IE8 could be spent better in a campaign tailored at corporate IT to join us in a past-Y2K world.

Twitter comments hidden by request.

Must-See-Videos: Nate Koechley on Professional Front-End engineering

Saturday, April 4th, 2009

I’ve just finished watching Nate Koechley’s talk on professional Front-End Engineering on the YDN Theater:


Nate Koechley: "Professional Frontend Engineering" @ Yahoo! Video

You can download the m4v for your ipod and read the transcription on Eric Miraglia’s blog.

I’ve seen Nate give this talk before in a shorter version at @media in London, but this version has the whole story from what frontend engineering is, over technologies and methodologies to use and avoid up to a very compelling argument why it all matters.

So if you can spare an hour and a half (or chunk it over two workout sessions in the gym like I did) go and watch this video before you start flaming on mailing lists, forums or flat out tell people that it doesn’t matter when something is incomprehensible or works by magic – as long as it works.

Thanks Nate for a great encapsulation of the whole frontend matter in one video.

A few things the web development community can learn from The Green Movie

Thursday, March 12th, 2009

One of the, oh heck, the only really good thing about flying Delta was their Fly-in-Movie competition. This is a section of their entertainment program where they show short movies of budding movie makers who compete to be shown at the Tribeca Film Festival in New York this coming April.

The green film

One of the movies in there is The Green Film and I loved it (“Cold call” was also very good).

The Green Movie

In this 6 minute movie a self-righteous film director proclaims pompously and full of enthusiasm that they are producing the greenest movie ever. All the food is organic, everything gets recycled, all the make-up is free of animal testing and there is not a single thing that is not in the correct order and would cause a frown on the faces of the friends of the earth.

The wrong doers and how they should be lectured

When the main actress arrives she rolls up in a stretch limo and asks for her trailer. The director tells her off for not cycling or using a bus and shows her a deck chair and an umbrella which is to be her “trailer”. He goes on to explain all the bad things that do not happen on his set and especially goes into a detailed sermon over plywood used on other sets and that it actually is based on rainforest wood. He also is very insightful about using the right light bulbs on the whole set.

Getting caught out

The actress on the other hand starts wondering about the professionalism of the whole setup – which culminates in her wondering if the movie is shot on film rather than digital. The director then goes nuts on the mere idea of movies being shot in digital and that digital film is just “TV on big screens”. His rant goes so far as to proclaim that art could never be done with digital cameras. To the arguments of the actress about film processing involving toxic chemicals and shipment of reels all over the world the only thing the director comes up with is “but we recycle – a lot!”.

The movie ends with the actress filming herself in the woods using her mobile (cellphone for Americans).

How this applies to us

This is exactly how we get stuck when advocating best practices on the web. One interesting exchange that shows this is Chromatic Sites advocating for CSS vs. Table layouts and Mike Davies shining a massive big light of truth on the arguments provided.

Another interesting “oh not again” moment was Jeffrey Zeldman doing the inaugural testing of the top 100 sites in a validator causing an avalanche of comments.

You know what? We’re wasting time and energy in these discussions and we are so immersed in our own “doing the right thing” that we forgot to care about what we wanted to achieve in the first place. We get into meticulous details of explaining certain technologies and invent idea after idea based on the same technologies we tried to make people understand by force years and years ago and failed.

Standards and best practices are there for a single reason: make our work predictable and easy to work with other developers. This only works if everybody is on board and understands these best practices – in essence, following them needs to make their job easier. If following a “best practice” doesn’t make our lives easier but produces extra overhead it will not catch on.

Instead of concentrating on showing the benefits of working in a predictable manner we concentrate on ticking all the right boxes and telling everybody who is unfortunate enough to listen about all the details we had to think about to get where we are. We know all about the plywood and the right light bulbs but we forgot to talk in the language of the people we want to reach with our ideas. We are not concentrating on how we deliver the message and that there might be better techniques and technologies available nowadays than the great problem solvers of the past.

Web development is evolving and changing to new channels of distribution and re-use. Widget frameworks allow re-use of the same little application across the web, mobile devices and now even Television sets. These things is what we should have our sights on and not if a certain document passes a dumb validation test or not. Validation is the beginning of a quality control process, not the end of it. Semantic value cannot be validated by a dumb machine but needs a human to check. Zeldman did point this out in his introduction to the test, but this message always gets forgotten in the uproar of indignation over and unencoded ampersand.