Lachlan Hunt is a freelance, front-end web developer, primarily developing with HTML, CSS and JavaScript. He has been working professionally in the industry for 3 years.
As a developer and advocate of web standards, he is well known for his involvement with the community through his blog, Lachy’s Log, participation in various mailing lists, including WSG, and involvement with the development of web standards including HTML and CSS through public mailing lists and, more recently, as a W3C Invited Expert.
- 1. How did you get involved in web standards? Was there a particular article, website, book or event that triggered your interest?
-
Lachlan: When I first learned HTML while at high school in 1997, Netscape 4.0 was the greatest browser out and few people had ever heard of web standards. I wasn’t taught particularly well. I recall being taught about using headings, paragraphs and lists, but I was also taught how to control presentation using markup.
I eventually stumbled across sites like the CSS Zen Garden and Eric Meyer’s CSS/Edge which made me realise just how powerful CSS is, but learning by view-source didn’t really give me a good understanding of how it all works and online tutorials are generally quite poor. So after I found out what exactly CSS was and what it did, I actually learned how it works and how to use it by finding and printing out the CSS 1 spec and then reading it from front to back.
There wasn’t really a point where I had discovered web standards and decided to make the switch, but rather it was more of a natural progression from the way I had learned.
- 2. Ok, lets get straight to the point - what is HTML5?
-
Lachlan: HTML 5 is the next generation of HTML currently being developed by the WHATWG. It’s an effort to document and standardise many of the features of HTML and the DOM that authors use all the time, but which were poorly defined in HTML4 or previously undocumented. It’s also introducing many new features designed to meet the needs of authors today.
- 3. So what about HTML 5 vs. XHTML 2 - is there room for both of them?
-
Lachlan: XHTML2 has been in secret development since around 2001–2002 and was the W3C’s plan for the future of HTML. However, there are a number of serious flaws with the approach taken and the quality of the spec. It was not initially designed with backwards compatibility in mind and introduces a number of new features that are either impossible or extremely difficult to implement in mainstream browsers. Many of us also feel that the spec is ambiguous and fails to define many things, which will make achieving interoperability virtually impossible.
As a result, it’s extremely unlikely that we will ever see XHTML2 implementations in mainstream web browsers. The W3C has decided to continue development of XHTML 2.0 with a separate working group, but few people understand why. The W3C Published a document called Architectural vision for HTML/XHTML2/Forms Chartering which vaguely describes the situation.
If XHTML2 ever does take off, it’s likely that it will be limited to use within organisational intranets and “walled gardens” where developers have more control over the devices and/or software of their users, whereas HTML5 is designed for use on the web. So HTML5 and XHTML2 can co-exist if they serve different markets, but in my view, XHTML2 is unnecessary.
- 4. What is the WHATWG and where does it fit into the picture? Is it like an underground resistance group for angry geeks?
-
Lachlan: In 2004, Apple, Mozilla and Opera were concerned with the W3C’s lack of interest in HTML and apparent disregard for the needs of real-world authors. These organisations were resisting the W3C’s push to turn everything into XML and leave HTML behind.
These days, the WHATWG is a growing community of browser vendors, web developers, and other people interested in the development of the next generation of HTML and related technologies, specifically designed to allow authors to write and deploy applications over the World Wide Web.
If it weren’t for the WHATWG, we’d still be exactly where we were 10 years ago and going nowhere. As a direct result of their work, the W3C has just begun a new HTML working group which will hopefully continue with the work on HTML5. Unlike previous W3C working groups, participation is open to anyone. At the time of writing, there are over 700 subscribers to the WHATWG mailing list and over 300 participants in the W3C HTML WG. They include representatives from 4 major browser vendors: Mozilla, Opera, Safari and IE; web developers, designers and many other interested people.
- 5. You seem to have an incredibly detailed understanding of the HTML/XHTML/CSS specs. Are you one of these people that read these documents for fun?
-
Lachlan: I continually use the specs as a reference. Whenever I’m unsure of something, like the allowed values of a CSS property, or the content model of an element, I check the relevant spec. So I’m constantly reading the specs and, as a result, have picked up quite a good understanding of them over the years.
In fact, it was quite surprising to me when I realised that most web developers, particularly those involved with web standards, didn’t read the specs, but rather learned from books, tutorials and discussing with their peers.
I’ve also been contributing feedback on the development of various specs (mostly related to HTML, CSS and DOM) at the W3C on the public mailing lists since late 2003, and the WHATWG since mid 2004, and I generally try to review the new drafts as they are published.
- 6. Do you ever get frustrated with the length of time it takes for specs to evolve? Are there ways that the process could be accelerated (faster typists, pay incentives, threats of torture?)
-
Lachlan: The evolution of the specs is directly related to the time it takes for them to be interoperably implemented. These days, the W3C process is quite strict. For a spec to reach the Recommendation stage and be considered complete, a number of things need to occur.
At least two fully interoperable implementations are required. That has to be proven using a comprehensive test suite consisting of literally thousands of test cases that test every single feature in the spec and writing test cases is, by far, one of the most time-consuming steps in the process.
So, while torturing the editor is always fun, it’s not the most productive way to speed up the process. The best thing to do is to review the spec, write and submit test cases; and report bugs to browser vendors. If you’re able to help with implementation and bug fixing, that’s even better.
- 7. I’ve heard rumours that you were once fired from a job for refusing to top post. This can’t be true... can it?
-
Lachlan: I always insist on using e-mail properly by following a number of standards and conventions. This includes the use of plain text only, short signatures, and no top posting. Top posting is the practice of responding to an e-mail and quoting the entire message below.
I prefer to trim the quote and reply beneath each point, as it helps to give more context to what is being said.
I was informed on several occasions that I should follow the “company standard” (which is actually nothing more than the poorly conceived convention of HTML e-mail and top posting – the default configuration of Outlook) and on each occasion I refused.
I was employed full time for just less than 3 months. A week before the end of the probationary period, I was called in for my review and informed of my dismissal, during which the format of my e-mails was cited as one of the reasons. Although I can only speculate about the real reasons for my dismissal, I have good reason to believe that it was actually because the work had dried up (due to the completion of a major project the previous week) and the probationary period gave them a way to dismiss me without notice.
- 8. I’ve also heard you are a bit of a JavaScript junkie. Do you build up snippets or libraries to reuse for future projects or do you build from scratch each time?
-
Lachlan: I generally avoid using other people’s JS libraries mostly because I don’t have the time to study them to understand how they work or how to use them, and also because they often do far more than I actually need.
In 2005, I created my own DOM script library which basically extended IE’s support for DOM2, particularly events, and I have used that in a number of projects since. There are a few limitations and bugs with the script that I really wanted to fix, however Dean Edwards recently released a new library which fulfils a similar purpose, and so I’m actually keen to look into that. If it turns out to be good, I won’t need to bother updating my own.
- 9. What the hell is XBL and why are you interested in this markup language?
-
Lachlan: XBL stands for Extensible Binding Language. It’s a mechanism for extending the presentation and behaviour of a document. The most exciting features are for attaching new behaviours and event handlers to elements and the ability to use templates for styling.
It has been designed to maintain the separation of content, behaviour and presentation, and builds upon many authors’ existing skill-set. I’m really interested in this because I see it as the next major step and I hope, in a few years, it will become as ubiquitous as CSS and JS are today.
- 10. Finally, what’s in the pipeline for you? Any exciting projects?
-
Lachlan: I’ve recently joined three W3C working groups as an Invited Expert: The HTML WG, Web API WG and WAF WG.
For the Web API WG, I’m taking over the Selectors API specification, in order to resolve the few remaining issues and progress it through to the next stage. For the WAF, I’m initially going to be assisting with writing the XBL Primer – a spec aimed at web developers to help them learn XBL. For the HTML WG, I’ll be contributing to the HTML5 spec, much like I have been doing with the WHATWG over the past few years.
- Thanks for the interview!
- Lachlan: No worries Russ!