Archive for February, 2011

I just got roped in by my colleagues here to tell you about another cool job opportunity at Mozilla:

Tech Evangelist – Jetpack

Jetpack is a Mozilla project whose mission is to make it easy to build Firefox add-ons using common web technologies like HTML, JavaScript, and CSS.

As Tech Evangelist for the Jetpack project, your job is to lead the effort to build a rich ecosystem of add-ons and APIs by telling the world about our awesome technology; mentoring project participants who interact with add-on and API developers; and channeling feedback from developers into the project planning process.

at least five years experience in the software industry as a tech evangelist, community manager, product/project/program manager, technical lead, software engineer, or in another related position

exceptional written and verbal communications skills, including the ability to communicate with add-on developers, API developers, journalists, business types, and various other folks on their own terms and at their own level of technical knowledge and understanding

I just marked up and released a paper that was rejected for a conference I applied to about using the social web for development: http://icant.co.uk/social-development/. It describes how developers can use the power of the social web to advertise, improve and even develop their products.

The article is licensed with Creative Commons, so feel free to use it in your own products. And if you want me to deliver it as a talk at your conference, why not drop me a line on Twitter? :)

This also taught me not to bother at all with conferences any longer who ask you for a full paper as a submission, especially when they are academic conferences. The reviews I got for this were quite harsh and missed the point that I was trying to make that we are treading new ground here and there is no way to build on earlier successes or quote case studies.

If you followed my exploits lately in the realm of HTML5 video you’d know that I am a big fan of the video conversion servicevid.ly. This service automatically converts your videos to dozens of different formats and redirects your browsers and mobile devices to the correct format when you call up a single URL.

Being a paranoid developer, I also wanted to have a way to download the browser optimised versions of the videos, so I wrote a bookmarklet to allow you to do that.

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 Video

Slides

Notes

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.

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.

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

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

If you want to safely use all the new HTML5 features, there is Modernizr for you, a script that tests what the browser does support and ads classes to the HTML element that you can use in your CSS selectors and in your JavaScripts.

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.

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!

Today I was part of a video conference with the university of Dundee for this year’s Yahoo university hack challenge. Every year the students release a “hack” as part of their coursework for Yahoo and the programme yielded quite some amazing hacks in the last years.

My main task for the students was to think about the web as it is right now. The web is the platform and the browser is the tool. Documentation about the different technologies is freely available and – in Mozilla’s case – also editable by everyone to ensure that it is up-to-date.

HTML5 is a big new thing and a lot of people go crazy about it. The issue is that a lot of it is progress for the sake of progress and there is not much insight into what the new technologies mean in terms of accessibility or backwards compatibility. As Dundee university is one of the few in the UK that have an accessibility focus I thought this a great opportunity to ask the students to consider some a11y hack with new technologies.

I talked about the Popcorn.js library which makes it easy to sync video with other web page content and the Butter interface for it which simulates Flash builder or Shockwave but for open technologies.

I briefly mentioned the Universal Subtitles tool that allows you to add subtitles with translations to any video on the web.

Another demo to inspire the students was Mark Boas’ audio and text sync example which shows how you could sync the text of a speech with the audio file for later replay.

This led to a quick introduction of Mozilla’s Audio API which gives you in-depth access to audio files down to the beats per minute.

Next up I talked about Mozilla’s Labs and the tools to play with there – Rainbow, a JavaScript extension to access the camera and microphone of computers as input devices, Chromeless, a UI-less browser allowing you to build bespoke browsing solutions and Prospector, a way to data-mine browsing behaviour of users.