David Storey is the Chief Web Opener at Opera Software, based in Oslo, Norway. He leads a small global team, responsible for improving the compatibility of the web, so that it can be accessed by all. He can be found online, at his blog Slightly Ajar.

Originally hailing from Newcastle, Northumbria, David worked previously at CERN, Switzerland and a web design agency before taking his position at Opera. He holds a First class BSc (Hons) in Computer Science, and a MSc in Internet and Distributed Systems at Distinction from the University of Durham, England.

1. I've got to start by asking - what exactly is a web opener? It's a fascinating title!

David: Our team in Open the Web is responsible for making sure that web sites (and by that I mean web apps, scripts, libraries etc.) work as designed in Opera and other standards based browsers on any device. We deal with the issues that are bugs in the web site itself such as where Opera is rendering correctly per the specification but the site is still not working or they use browser sniffing to send us broken content or block us entirely. For bugs in Opera itself we work with the site and Opera QA to find the issue and get it fixed in our code. We also work with sites to improve their standards and accessibility support, how they can optimise their sites to work on mobiles and devices. We are in constant contact with many of the biggest sites on the web to makes sure their properties work in Opera and to fix existing issue. We have a long way to go but we are making progress.

2. What sort of background/training do you need to be a web opener?

David: You need a strong background in web standards and know how to apply them successfully to create valid and accessible code. Knowing many of the browser specific quirks and extensions, especially in JavaScript, is also very beneficial. You also need to be able to communicate effectively as much of the time is spent talking to site owners or developers about why they should be designing to web standards and how to fix any issues they may have. You also have to learn to be very tactful at times. Above all else though, you really need a passion for what you are doing and have a belief in a web that is accessible to all no matter which browser, platform, device or disability a user may have. We need to make sure the web stays open and doesn't become restricted by vendor lock-in.

3. When did you first decide to focus on web standards?

David: I used to work at CERN around six years ago, where for obvious reasons almost all the systems we wrote were web based and had to be accessible by multiple browsers on multiple Operating Systems, so web standards were the obvious direction to go in. Soon after that my father become confined to a wheelchair, so the accessibility of sites became a real issue. Since then I focused on teaching myself and applying CSS based designs and layouts with clean semantic markup and progressive enhancement through ECMAScript. Around October of last year I got the chance to move to Norway and start up our Open the Web efforts at Opera and I jumped at the chance, as it is a job where I feel we can make a real difference.

4. You must be excited about the recently released Opera 9. Could you tell us some of its new features?

David: The Opera 9 release is very exciting as it is the first major desktop release since I joined the company and had some role in contributing to. I think we've continued our history of innovation with Opera 9 with many firsts in the browser market.

You can get a quick overview of our features here but some of the headline features include BitTorrent support for downloading torrents right from within the browser, Widgets, which are small web applications similar to Apple's Dashboard widgets, that run on your desktop to keep information at your finger tips, and the content blocker for removing elements on a page. One of my favorite features is the improved rich text editing as this enables our users to take advantage of the many sites and applications that are starting to make use of these capabilities. It is also the first Opera release to include an XSLT engine, enabling support for some interesting new applications. In our internal tests we've seen that our XSLT and XPath support are significantly faster than any other browser.

5. What does the latest Opera browser provide that other browsers do not?

David: There are possibly too many features to list, but BitTorrent and Widgets are two features mentioned above. Trash Can is a neat feature that allows you to reopen tabs that you may have accidently closed. Sessions are an extremely useful feature that remembers the state your browser was in when it was last closed and reopens them on start up. Voice is a great accessibility feature but is currently Windows only.

For features of interest to developers we have small screen mode, which allows the user to see what the site would look like on Opera Mobile. This uses our small screen rendering technology or the handheld stylesheet if one has been defined. I'd really recommend web designers give this a try and get their sites ready for the mobile web. We managed to squeeze in support for DOM 2 Style including document.stylesheets, which I believe makes us the first browser to support the full DOM Level 2 specification. We have the first support for Web Forms 2 from the WHAT-WG and CSS3 Media Queries. We also have become the first Windows and cross platform browser to pass the ACID 2 test. As you can see we are very committed to supporting web standards. Many people don't realise that many of the features in their favorite browser first turned up in Opera years earlier.

We are also committed to accessibility and have many features that support this. One cool trick I've just been shown is to use our Small Screen Rendering with our page zoom feature. I can see this being very useful for those people with low vision.

6. With the rise of Firefox, do you think that Opera is still relevant in the market place?

David: Absolutely. We keep on improving our product with every release and inventing new features. We are in a unique position in that we can run on many platforms and devices, from the Nintendo Wii, to a Motorola RAZR to the seats in a jumbo jet. I think you'll see Opera pop up in many places you wouldn't expect in the future. All this is possible because we have a very lean compact code base that is extremely fast and uses little memory or processor resources. All of these devices are based on the same rendering engine as our desktop browser. We even pass ACID 2 on mobile with the latest release of Opera for Symbian. The future is very bright for us in these markets, but that is not to say we forget about our desktop product. I think we can leverage our successes in these other markets to get more people to try Opera 9. We've had overwhelmingly positive reviews so far, and record downloads. We are moving in the right direction and I'm positive our usage share will increase going forward.

7. There has been some great reviews and some criticism about Opera with the current release. Do you think any of this criticism is founded?

David: Not really, but people are entitled to their own opinions. With the increasing use of web standards in most countries, people are free to use whatever browser they like the most. That is probably only the second negative review I've seen, while we've received countless positive ones. This particular review is on a blog about Google, and I acknowledge we do have issues there. We are however working with Google to remove the browser sniffing that blocks us accessing features like GMail Chat and their other properties, and to support any features that we may be lacking. ContentEditable for instance is an IE extension that they used in sites such as Googles Pages and now we have support for this in Opera 9.

I also don't think the review is correct that we have added many of the Firefox features. We've added some features from other browsers, but there are many more that are Opera firsts. We'd also not work on some of the extremely memory constraint devices if we had memory problems. At the end of the day every successful product gets a few bad reviews, and I'm sure if there are any valid points in these reviews we will take them on board so we can improve further in Opera 10.

8. Could you tell us a little about document.stylesheets and Opera?

David: document.stylesheets is a part of the DOM Level 2 Style module. It allows the direct manipulation of the CSS on a page through JavaScript and the DOM. This is important as many sites including Yahoo Mail Beta and "Web 2.0" sites have started to use this in their applications for things such as rich text editing where it is important to change the style of the page on the fly. This was the last part of DOM Level 2 that Opera did not support and it was causing sites which used it to not function correctly in Opera. This was not an easy feature to add as it effects much of our code base. The developers worked very hard on adding this for Opera 9 and thanks to them we made it in time for launch. It is something that will be used more and more as the web becomes much more interactive and more like the applications we've used on the desktop for years.

9. What is User Agent String spoofing and how does it relate to Opera?

David: Open the Web has a couple of technologies to help us fix broken sites that are unwilling to fix their issues. The first is user agent spoofing, that allows us to ID or completely mask as another browser. Users can configure this themselves on a per site basis in the site preferences. This means if a site sends Opera broken code or a warning to upgrade the browser, we can tell that site we are Mozilla or IE and we will get the same content as those browsers. There are two levels to this. The first we call spoofing, where we include either IE or Mozilla in the user agent string, but also leave "Opera" in the string. This is the first option we try as we can still be identified if needed and will not disappear from the sites usage stats. This doesn't always work as newer browser sniffing scripts specifically detect "Opera" in the string. For these we use masking, which sends exactly the same string as either IE or Mozilla would send.

Sometimes this spoofing feels like a game of cat and mouse. For (a popular clothes chain in Europe) we spoofed the user agent string to allow us access after numerous attempts to contact them about the issue. Sometime later they must have spent a while trying to figure out why all of a sudden their browser sniffing script didn't block us any more and they found out how to get around our spoofing. We then spent just a few seconds to change our spoofing to mask as IE. Now if they'd like to block us they'd have to block all IE users. It would have taken them less time to just remove the browser sniffing and work with us if any issues were found than it must have taken to work out how to try to block us again.

Browser.js is a JavaScript file that includes patches that step through pages and edits the code to include the fix we need. This is digitally signed and human readable so that anyone can check what fixes we include. Advanced users can create their own patches to their favorite sites using a similar technology called User.js. Patching and spoofing is always a last resort for Open the Web, but unfortunately it has to be done on occasions.

10. So, what's next for Opera?

David: Nintendo DS Browser is launched in Japan very soon. We are also on Nintendo's next generation console, the Nintendo Wii. Our partnership with Nintendo is something that excites us and will put is in the hands of many potential users. It also gives us a chance to innovate with the unique interfaces for both devices. Opera Mobile is the default browser in all new UIQ phones, and Sony Ericsson in particular have announced some very exciting phones on this platform including the 4 GB W950 Walkman phone. I think you'll see our browsers pop up in many more phones and devices in the coming year. Opera Mini has reached version 2, and the response has been very enthusiastic. We really think we have a hit on our hands with this and if you haven't tried the web on a mobile, or just used a WAP browser, I'd urge you to try it. All that is required is a phone that supports Java.

As for the desktop browser, we've got a lot of ideas on how we can use our strengths on other platforms to improve our product and add new must have features. We'll continue our support for web standards and listen to what web developers need for Opera to work on their sites. On my personal wish list is better developer tools to make their lives easier. I can't say too much about our future products, so you'll just have to wait and see what comes up.

Finally my goal for Open the Web is to improve compatibility still further and get all the major sites from the likes of Microsoft, Google, Yahoo!, AOL and others to work without issues. We also would like to make headway in promoting web standards to markets which currently only design and test for one browser.

Thank you for the interview!
David: You're very welcome. It was a pleasure