Published on June 30, 2004
Digital Web: You moved to Norway and joined Opera Software almost a year ago to work as a developer. How have you found living there?
Ian Hickson: Cold! In the winter at least. And very expensive.
A lot of people said I wouldn’t be able to cope with the weird light cycles—in the winter it’s dark a lot and in the summer there’s a good two weeks when you see no stars. Thankfully, I was used to it! I’ve not really ever been one to follow the sun’s cycles so I’ve often woken up in the dark or in mid-afternoon and so forth.
It’s pretty nice though. I live within easy walking distance of the office and several shops, and the public transport is very good.
DW: Of all the specifications you’re working on (including CSS 2.1; CSS 3’s lists, replaced and generated content, as well the presentation level modules), which is proving the most challenging to refine?
IH: I don’t think any of the modules are particularly harder than any of the others, really.
DW: Which, then, are you finding most intellectually stimulating to work on?
IH: It varies. The CSS3 Lists module is fun simply because of all the wacky algorithms that exist around the world. CSS2.1 was fun because it involved a lot of quite big arguments about exactly what the spec should say. That’s why it took so long! I’m really happy with it though, we’ve reached consensus on a lot of issues that were undefined before.
Probably the most stimulating work is the unofficial work I’ve been doing on Web Forms 2.
DW: As a developer, which of the official ones are you most eager to work with in the “real Web”?
IH: I rarely write real Web pages, to be honest. I depend on my “real Web” writing friends to tell me what they want. :-)
DW: You said you want to see the creation of an open specification for Web applications languages, similar to Mozilla’s XUL and Microsoft’s XAML.
IH: Where did I say that? I do not recall ever saying that I wanted to see the creation of something similar to XUL or XAML.
DW: True, I was short-handing a bit there in regards to Web applications languages. Perhaps you can explain some of your own ideas about what Web applications are, and how they can be developed to address the needs of Web authors.
IH: This is an area where people have a wide ranging set of opinions. My personal opinion is that Applications and Documents are really just opposite ends of a spectrum: Microsoft Word documents can be used as applications; interactive encyclopedia multimedia applications can be viewed as documents; spreadsheets have long been both simultaneously; help systems now are able to interact with the user and control other applications to help them along, but are clearly still documentation.
I don’t think it’s really useful to distinguish between the two.
As far as the “Web” part goes, that’s just to distinguish applications that run locally from applications that are hosted remotely. With a local application, everything is on your local disk. With a Web application, you visit a URI that happens to be the URI for an application, and then you use it.
Examples of Web applications these days are sites like amazon.com (a bookstore application), ebay.com (an auction application), and voidwars.com (a game). They start off acting like documents, but the “application” aspect starts to become obvious as soon as you can start interacting with them.
IH: I didn’t say I expected Microsoft to win. I said I thought that would happen if we just stood idly by. But obviously I don’t intend to sit idly by. :-)
DW: So, are you able to say what some of your plans are?
IH: Well, to start with, Mozilla and Opera are working together and attending this W3C Workshop on Web Applications. What happens next rather depends on what happens at the workshop. :-)
DW: You’ve famously argued that XHTML should be served with the “application/xhtml+xml” MIME type, but IE 6 doesn’t support this. With it being the dominant browser, and thus the de facto standard, how can Web authors leverage the benefits of XHTML without splitting the Web into two camps?
IH: They can’t. Windows IE6 doesn’t support XHTML. The solution is to move users away from Windows IE6.
Some authors send their XHTML content as “application/xhtml+xml” to modern browsers like Opera, Mozilla and Safari and as “text/html” to old browsers like IE. This works to a point, but you still can’t really take advantage of the real benefits of XHTML when you do that. For example, you can’t start using the full XML syntax, or embedding other XML languages like MathML into the content.
DW: On your blog you’ve been doing a lot of work thinking about how dynamic Web pages can be more efficiently developed.
Some of your ideas range from the well-spec’d server-sent DOM events to creating menu systems and popup windows. Individually, they are quite intriguing; pulled together, they seem to suggest a greater vision for the future Web. What would your ideal Web page be like in the future—both as a user and a developer?
IH: As a user: No popups. Pages that work well even when I disable style sheets. Pages that use real semantic markup so that I can do simple data mining on pages (such as “only show the headers” or “find me all the definitions”).
As a developer: Less need for scripting and
<div>s and scripting to get a little menu thing going on. And so forth.
DW: Finally, what’s the big thing that frustrates you about the state of the Web today?
IH: IE. There are so many things we could do if the dominant browser was actually being developed and followed standards. As it is, Microsoft are dragging the entire industry back by forcing everyone to have to write to a lowest common denominator that is years out of date.
We (the modern browser vendors) are trying to solve this, of course, by making Opera and Firefox and Safari be more attractive and trying to get people to use them. Unfortunately, it is nearly impossible these days to get average people to download browsers. They perceive IE as being “good enough,” and since it is there, they don’t ever look into getting a better browser.
Ian Hickson currently works at Opera Software, and contributes to the W3C’s CSS working group. In his spare time he also sometimes helps the Mozilla Foundation. He was an early member of the Web Standards Project where he was responsible for testing the browsers' CSS support. He also loves cats.
Craig Saila has been working the Web since 1996, and is now a Web producer for Bell Globemedia’s financial sites, including Globeinvestor. He’s worked in the past with the Ontario Science Centre’s Digital Media Publications group, and as an associate producer at one of Canada’s biggest news sites, CANOE. Throughout his work, he’s divided his time between client-side development and online journalism—dual interests which are apparent at his site, saila.com.