Christian Heilmann

Author Archive

Missing the point with ie6countdown.com

Sunday, March 6th, 2011

Last week Microsoft released ie6countdown.com, urging developers to tell their IE6 visitors to upgrade their browsers to a newer browser to have a better experience on the web. Thumbs up for that – we need to get that message out to people (after all this is what the WaSP has done years ago with their “To hell with bad browsers” campaign years ago to make people upgrade from Netscape 4 and IE4).

Alas, the implementation of the “nag bar” is riddled with mistakes. They’ve done the right thing in wrapping the code in a conditional comment (a technology that is still Microsoft’s finest moment in web development when it comes to IE) but there are many issues with it (as also pointed out by Steve Webster, Mike Davies and Bruce Lawson):

  • The nag bar is an image without any alternative text – which means no blind user will ever know why there is an image there and not get the upgrade message – and a lot of people are stuck with IE6 when they use old screenreaders. Why not a styled DIV? Even IE6 knows style sheets!
  • All users get sent to the IE download page to upgrade which means XP users get asked to download IE8 – and this browser is not much better, really, as explained in detail by Alex Russel.
  • Telling people to upgrade IE6 is pointless if the systems they have to use don’t work on other browsers – granted, Microsoft jumps through hoops with every release of IE to be backwards compatible, but some things simply are that badly developed that they don’t work on new browsers. The irony is that a lot of these systems are based on Microsoft’s frameworks and CMS or even “best practice documentation” that was hot at the time it came out but makes you facepalm when you read it these days.

Microsoft painted themselves into a corner years ago when they made the browser dependent on the operating system. Yes, this yields better results as you control the environment (a tempting situation to be in which is why Apple now does exactly the same with Safari and Mobile Safari) but it also means that your browser is much harder to keep up-to-date when there is no incentive to upgrade the operating system. And this is where the main issue lies with Internet Explorer upgrades:

Windows Vista was not good enough to upgrade from XP and Windows 7 does not run on old hardware.

And as Windows users upgrade their browsers with their operating system this means we are still stuck with IE6 or – in a best case scenario – IE8. That is not the Internet I want to have, sorry! Our clients and end users deserve better!

You may say that upgrading is easy and hardware gets cheaper every year but the issue is that the places where IE6 still reigns supreme are those places where a hardware upgrade means replacing thousands of machines and is connected with a four month security and compliance audit. In the current financial climate a lot of large companies, government agencies and academia simply see upgrading hardware as a luxury. And this is where Microsoft should finally own up and grow a pair.

Some ideas of what Microsoft could do to really help solving the Internet Explorer upgrade problem.

  • Microsoft needs to stop pretending that there is no competition – right now Opera, Chrome and Firefox are the only sensible upgrades for Windows XP users – even offering hardware acceleration. Google have no problem pointing out other browsers when it comes to upgrading and leave the choice to the user. This is where the upgrade message should point to.
  • Microsoft could patch IE8 to support new features – something Chrome Frame tries to do – you can not expect people to upgrade their hardware to get a new browser – unless you give them a helping hand.
  • Microsoft should offer a financial incentive to upgrade systems – people upgrading whole systems from a locked-in IE6 infrastructure should get subsidised hardware and very good licensing packages. Google released their free laptop programme for people to give their new OS a go – this could be done by Microsoft, too.
  • Microsoft should offer free training and consulting on how to upgrade – again, instead of wasting money on marketing stunts for IE9 guide people to the changes that need to happen. IE6 is a security risk and keeps us from making products that are fun to use and fulfil a task.
  • Microsoft could open source IE – both Chrome and Firefox innovate and get constantly patched and improved by communities outside of the main development team – if we could fix things in IE, we would!
  • Microsoft should kill old IE – well, more like euthanise it. It has done its duty and has the right to retire. It is not enough to say “upgrade” – remove all downloads, don’t offer patches, remove all the documentation about IE6 only features. Instead of creating a marketing site and ask the community to spread the word start on your own doorstep. Send out newsletters to the MSDN community and say on your conferences that IE6 is End Of Life and support requests are not answered any more.

IE6 must die! Let’s make it happen. Please, Microsoft?

Like extending browsers? Mozilla Jetpack is looking for an Evangelist.

Friday, February 25th, 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.

You see the big picture, and you get other people to see it too.

You make add-on development great!

Responsibilities

  • develop, distribute, and conduct videos, blog posts, presentations, tweets, tutorials, example add-ons, and other informational and educational materials about project tools and technologies
  • lead Mozilla’s Add-on Ambassadors program and mentor project participants in technology evangelism principles and practices
  • assist the product manager in determining developer needs and setting project goals and priorities

Requirements

  • 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
  • a strong desire to make add-on and API development great

Desirements

  • a BS degree in computer science or a related field
  • experience evangelizing, managing, designing, or developing software products for developers, especially software development kits and API libraries
  • experience managing, designing, or developing modern web sites and applications
  • experience working in and with open source projects
  • experience working for non-profits or other kinds of mission-driven organizations

Is this you? Send your CV to Myk Melez.

Using the social web for development – recycling rocks

Sunday, February 20th, 2011

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.

I hope it is useful to you, and I’d love to get some feedback.

Enjoy, Chris

Vid.ly Bookmarklet – download different formats

Saturday, February 19th, 2011

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 service vid.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.

Simply drag the following link to your browser toolbar: Vid.ly download

The bookmarklet then adds links to any vid.ly page to download the different versions:

Vid-ly download links

Time to build a better web – my talk at Heart and Sole (video, slides and notes)

Friday, February 18th, 2011

Heart and sole

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

The slides are available on Slideshare:

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.

HTML5 showcases

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 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.

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!