Time to build a better web – my talk at Heart and Sole (video, slides and notes)Friday, February 18th, 2011
I just got back from Heart and Sole in Portsmouth where I was asked to give an inspiring talk about HTML5. I thought it is high time to make an audience like the one at Heart and Sole (students and small business owners) aware that HTML5 is not only a plaything of large companies and “web development rockstars” but that everybody can be part of the cause and that we really need people’s input and real life implementations to make the new open tech revolution a reality. The feedback was very positive. Here are the slides and notes with links.
The conference was filmed so keep your eyes open for the recording of the talk.
The slides are available on Slideshare:
Open tech rocks
I am a big fan of open web technologies. Right now we are working on some great things that will make the web more responsive, allow for more creativity and extend the text based web to richer media like video, audio and 3D without resorting to closed development environments or having to pay licenses.
There are a lot of great showcase sites that feature all the beautiful things we can do: HTML5 rocks by Google, Apple’s HTML5 showcase and there was even an advent calendar with daily HTML5 goodies throughout December.
Making HTML5 impact our work
This is all great, but I really think it is time to take HTML5 out of the labs and into our day to day jobs. We should start now to make HTML5 part of our deliveries and get clients excited about the new opportunities there are. Instead of celebrating HTML5 rockstars we should celebrate the opportunity to make our work more predictable, open to everybody and easy to use.
Help promote HTML5
This change needs promotion – by you. If you work on the web you should help make new open technologies succeed by using them in real products.
Why should you care about this?
Well, first of all we have to make our work professional and be more accountable for what we do.
There should not be any magic in web development.
You should not have to use some technology you cut and paste and have no clue what it really does. “It works, just use it” is not a sustainable environment.
When things go bad, you should be able to trace the reason and fix it. Right now I get the feeling that a lot of web development is putting together random building blocks to build an interface that looks like a design we got handed down to us. That is the wrong way around. If we build from blocks we understand the interface can mutate and change to our needs and likes. If we start with a fixed idea any change later on will mean we need to replace everything. We’re not re-using enough.
Take pride in the invisible
Clients still don’t care much about our code and markup but we should. When I interview people I take a look at the source of the things they send me. The markup and CSS and JS code you leave behind is the message you give to the next developer. If it is unreadable or hard to maintain you come across as not caring. It is like a blog post with a very important message that gets lost because of abysmal grammar.
Avoid repeating mistakes from the past
I’ve been complaining about the quality of the underlying markup of HTML5 demos before and I think it is very ironic that we say view-source is the future but show bad code when you, well, view source.
In the past we wrote browser specific code and omitted elements as the browser fixed it for us. Just because browsers are forgiving it shouldn’t mean it is OK to rely on them to do fix things. No other programming language allows you to write code like that. If we want to be taken seriously, we should take pride in our work. Not one browser will ever rule supreme, so if you rely on one for your product to work you add to the problem of people not upgrading their browsers. This is not innovation.
HTML5 is not perfect
There are a few things we should worry about. As with every change, we will have to face a lot of people who are against it.
Adversity to change
A lot of propaganda is being thrown around right now about HTML5 not being ready for prime time and open technologies being dangerous as you have no control over them and there is nobody to back them up. This has been a long-standing problem with any open source technology.
No one size fits all
The fact is that HTML5 and open technologies will not fit every problem out there. HTML5 is not there to replace Flash or Silverlight – it is there to offer an alternative.
Open media can be downloaded
A few days ago Serge Jespers of Adobe released an article about the problem of HTML5 that there is no DRM solution. The article had a good point, but the title “Stealing content was never easier than with HTML5” was very misleading. I have complained about this as it just heated the debate unnecessarily. Fact is that right now there is no file level protection of video in HTML5. If you want a protected stream that people can’t download, then you need to use Flash or Silverlight. The real question though is that if you want to protect something, why allow it to be in the open in the first place?
New attack vectors
With HTML5’s API allowing for deep access into the browser and the system it runs on we will also have new attack vectors for malicious code to deal with.
Open means you can fix without asking for permission
The great thing about any HTML5 issue like the ones above is though that the technology is open and everything can be analysed and fixed – if we can make it a priority. A closed system is a pain to patch and upgrade. Open systems are easier to fix and with the attack research being available we have the chance to patch problems before they get implemented in browsers. Security through obscurity was never a clever idea. If you commit a crime and plead in court that you didn’t know that what you did was illegal you won’t get away with it either.
Welcome to the sweet spot
The other great news about HTML5 is that you are in the sweet spot.
Take part in the process
First of all, it is not a secret club and you are invited to take part. The WHATWG Mailing List is where things happen and all you need to do is sign up.
Free and open documentation
How about learning HTML5? You don’t need fancy trainings or buy books (but there are some awesome ones out there). HTML5 Doctor is a great independent blog talking about everything HTML5. Mark Pilgrim’s book Dive into HTML5 is freely available on the web and if you want to meet a lot of enthusiasts of HTML5, just pop by on the IRC channel #html5 on freenet.
Tools to make your life easier
One of the main stumbling blocks for people to use for example HTML5 video instead of Flash is that you need to create the video in different formats. There are some services though that make it easy for you. I have listed a lot of them in my notes of my HTML5 multimedia talk at MIT but here is a reminder about two great services.
Archive.org for video hosting
Archive.org does not only store video for you when you release it under Creative Commons but also automatically creates an MP4 and OGG video from your movies for you.
Vid.ly for online conversion and dynamic redirection
A very new service by Encoding.com is Vid.ly which creates not only all the formats needed for different browsers for you, but also special versions for different mobile devices and HTTP streaming optimised versions for iOS devices. Furthermore, it creates one simple URL that redirects automatically to the right format. You can try it out yourself with the invite code HNY2011.
Modernizr to test for support
Polyfills to support legacy browsers
If you want to use the new features and make old browsers get the same functionality via other technologies, you can pick and choose from the selection of legacy browser polyfills available based on the same research.
Large web sites using new features
If you want to convince people that this is not only a toy for geeks, point out some of the big sites that are already using HTML5 to deliver high fidelity content like Nike’s better world, Oprah’s web site (using HTML5 video for rollovers) or the latest Apple redesign.
Help us and join the ride
We need you to make this work – you have the tools, your input is valuable and please drop by and say hello. Also, check out the Mozilla Developer network as we’ll be releasing some cool things you can be part of very soon!