Přejít k navigační liště

Zdroják » JavaScript » David Storey: I believe in web standards

David Storey: I believe in web standards

Interview with David Storey from Opera Software (March 2nd, 2009).

Můžete si přečíst také český překlad. There is Czech translation available.

Your position in Opera Software is Chief Web Opener. What does this strange name mean?

We have a function in Opera called Open the Web and there we work with anything from major websites to very small websites, talking to them about how they can improve their sites to make sure they worked with standard compliant browsers, including Opera. If they do something non-standard like use IE-only code, we discuss with them: This is what you’re doing wrong and this is how to fix it. I lead up this function so thats why I originally got the Chief Web Opener.

How many people works in Open the Web?

We have about 3 people full time, but altogether with Developer Relations we have around 7 and we planning to grow maybe 4–5 more people this year.

Years ago I have participated on something similar, it was named Technical Evangelization and it was for Mozilla. In the Czech Republic as I remember was about 1 site from the 3 reported sites fixed during 1–2 years. How is Open the Web successful?

It really depends on the site and who we can contact. If we can talk to the developer directly it’s usually quite successful. On very big sites we can quite easily find the correct people through a network of contacts, they are generally goes very well. For a smaller sites it depends if we can find somebody or not.

For things like old fashioned companies like banks or insurance companies, it isn’t so successful at the moment, it’s very hard to convince them. They say: Use IE5 and Netscape 4.

Can you name some well known website you are just dealing with?

Recently we’ve been dealing with Yahoo! Mail, one of the biggest sites, which perhaps doesn’t work correctly with Opera. Over the last six months or so we’ve been dealing with Google Docs; they recently allowed Opera to work with docs and spreadsheets. Within last few months also CNN and New York Times.

Can you remember some Czech websites you were dealing with?

The web mail provider Centrum.cz.

Were you successful?

I believe, they contacted us first, because they had an issue. If I remember correctly, it was a Rich Text Editing. And I believe, it was successful.

David Storey

What is your strategy? Do you have to wait until the website is corrected or you can also change the browser behaviour?

If it’s a browser bug, than our developers will fix it in a browser. If it’s somewhat of a grey area, for instance error handling – the website is doing it incorrectly, but we are not handling the error correctly. So we make a fix in a browser, but we also ask if the website can fix the issues so they don’t have an error in a markup, like misnested tables for instance.

We have also browser.js which is a patching mechanism. It’s written in JavaScript and it will walk through the DOM tree of the site, so we can change the DOM. For instance if there is something in JavaScript which says if Opera do this otherwise do something else and code if Opera breaks something, we can step through the DOM and remove that code. That will fix the sites. These patches are distributed once a week when a browser checks for update.

It’s a part of standard installation?

Yes, it’s one file that is digitally signed, so nobody can change it and if they have it will not work.

We do this update once a week with the patches we applied and once the website fix its issue, we can remove the patch. So it’s basically for short-term fixes for very important sites.

How can users report such problems?

We have bug tracking system – it’s a closed bug tracking system, but we have a bug reporting tool bugs.opera.com/wi­zard and it will allow you to report issues. But unfortunately, because the bug tracking system is closed, they can’t see what we are dealing with.

I have heard from several people who would like to report some Opera bugs, but they don’t like this close system. It’s because they cannot see their bugs and they aren’t notified when the bug is fixed. Can we expect some improvement?

I can’t comment on that. Personally, I would like to see it open. There is some issues because  the bug tracking system was always being closed, we may not want to everybody to see the comments which are there. And also because we have a big B2B business with companies like Nintendo or Vodafone and we aren’t allowed to show notes to the public.

What if the person can see just the bugs he personally filled? And be notified if it was fixed?

Personally, I think that would be good.

Opera 10 has a problem, because some pages detect it as Opera 1.0. Do you worked out, how to solve this problem?

That is very difficult problem, because we are the first to hit ten unless you count the W3C Amaya browser. One option is to do the patching mentioned before. We have also spoof database, so we can change identity of our browser. If we find still this still a problem at launch time, we could add a spoof option to identify as 9.9 or 9.7 or another version.

You worked in CERN several years ago. It was about 10 years later after the whole Web was developed there. Is it still recognizable, that it is a place, where it all had been started?

It’s still very active. I worked with Robert Cailliau, one of the co-founders of the Web. He used to often talk about the Web and his role in founding that. We also had a legacy that almost every application we build was actually a web application. Because people used everything from Solaris to BSD, Mac, Windows, so every application we made was a web application even nowadays. Everything was very focused on the Web. Our slogan was Where the Web was born and you can see that in many places.

Where the Web was born

Where the Web was born. From Wikipedia.

Then you start working for Opera. Why?

When I was in CERN it was technical internship. In those days you can only work 1 year in Switzerland. I want back to University to finish my degree. Then I did my master degree and I wanted to move again back to Europe. I was looking for positions. Opera is in Norway and they had job opening for what they called Web Opener and I read the position and it was talking about promoting Web standards, evangelism of Web standards. Web standards was something I really believe, so I have applied and luckily I got the job.

You are one of the authors of CSS3.info website. Is it your private activity or part of your job?

It is more private. I worked on it when I have time basically, but Opera supports it. If I want to do things in worked time I can work on it. But it wasn’t relate to Opera, when I started work. I was invited to join the group, because I was very active in promoting CSS3. It is also a good place, where I can talk about non-Opera thinks. If I talk on my own blog, everyone will instantly assume, Opera must be supporting this thing in the next version, which obviously isn’t always the case.

Náhled webu CSS3.info

What CSS3 part do you like most?

Personally I would say backgrounds and borders module, web fonts I like quite a lot but there is issue obviously with licensing and fonts. One think I would like to see the most is the improved layout module. Because at the moment floats and absolute positioning aren’t ideal. They are working on the new layout module, but it’s not close to being finished yet. But I think that is what we really need the most.

I’ve heard that development of CSS3 specification is so slow, because we really don’t need it very much, because most of the problems can be solved by nowadays technology. Do you agree or not?

Not really. I think what slows down CSS3 is because they are still focusing on making sure CSS2.1 comes out of the door. Making a huge specification which is interoperable between 4 major browsers and more, and making sure all the error cases are handled, making sure all the test cases are build, it’s huge amount of work, that slows down CSS3 a bit. But I think there is being some renewed focus. Background and borders are becoming very stable now, selectors is finished now, the color module is also finished.

There is a lot of very useful things, selectors themselves are incredibly useful, some of the n-th child or multiple background images, that is nothing what can be solved without adding extra markup, which the users have to download more, the semantics get lost a bit, and DOM scripting becomes more the pain when you have more elements. I think what is there is very useful, it just takes time to write specs.

Are you personally involved in some W3C working group?

W3C

Yes, I am involved in Mobile Web Best Practices Working Group. I don’t always agree with everything that is there, because the best practices are generally for a common baseline, which is fairly basic. For instance they recommended not to use PNG images, etc. But I think as the Mobile Web evolves, this will come more and more relevant. And we need a lot more best practices for the Mobile Web, because normal Web practices are very well known thinks like elastic layout and resizing text. But the constraints of mobile are not so well known for developers at the moment.

The other working group I am involved in is SVG Interest Group. I’ve joined that very recently, but it’s basically to promote SVG and get feedback from web developers.

There are still a lot of websites which didn’t work correctly on mobile phones or the user experience is decreased. Should web designers learn how to create mobile version or can they just wait until mobile browsers will be improved?

Opera believes in concept we called One Web which means there is only one version of the Web. You shouldn’t have to make special sites for mobile phones, special sites for TV, special sites for you refrigerator, etc. It basically doesn’t scale as the Web moves to many devices.

We’ve built our web browsers so that Opera Mini, Opera Mobile can access the full website. In general this is the way I think people should go, but there is some ways you can optimize, like you can use Media Queries to adopt your CSS to fit the size of the screen and put important information on mobile at the top. In your style sheet design for mobile you can also have more optimized images.

If you are company like Google and you have an incredibly complicated application like Google Maps, it might be that making a slightly simple version with the mobile context make sense. You are mobile and there might be things you are more interested, than if you are sitting at your desk. If you have a movie site, when you are away from your desk you may be more interested in the cinemas closed to you and what they are showing rather than reading full reviews of movies.

In last years there is a tough competition between JavaScript speed in some browsers. Opera Software is working on a new JavaScript engine Carakan. Do you think, you can beat the other browsers in speed?

I think so. Some of our best developers are working on this. I think it is between 2× – 3× faster than previous engine already, that doesn’t include native compilation of JavaScript into native code, it’s still under development. Some of the SunSpider tests it does already run 50× faster thant the previous engine.

So I believe once we fully get a native compilation, we will certainly be in the same position as Tracemonkey in Firefox and Nitro in WebKit, but I wouldn’t be surprised if we will be faster. Opera until the last year and a half has always had the fastest JavaScript engine. Without the native compilation we’re already more optimized, once we add these new technologies, we will get faster.

But JavaScript is only about 5% to 10% of page loading time. There are things like layouts, reflows, building the DOM tree in memory or DOM manipulations. If you look at the most JavaScript code, most methods is actually DOM, it isn’t pure JavaScript. And for instance Firefox has a very slow DOM engine, its JavaScript is fast, but its DOM is slow.

Dragonfly

You are also product manager of Dragonfly. There are tough competitors in this field, eg. Firebug. How do you want to overrun them? Do you have some plan?

Yes, it’s a long term plan, because obviously Firebug build on APIs Mozilla had in browser for projects like Venkman. There are all very stable and Firebug is being build over many years. We’ve only started in last 2 years. We are still building the infrastructure inside the browser to enable Opera Dragonfly to work correctly and get all the information that Dragonfly needs.

But we’re building it on a very modern foundations. We have remote debugging. I can debug my mobile phone on my TV from my Desktop. I don’t have to use an emulator, I can see exactly, what is happening on the mobile and use the desktop computer to change the values and then go to the elements. That’s a one think we have a benefit at the moment.

But we’re also putting resources into making sure its the best development for debugging platform out there. We have got a lot of good ideas and we are building on those at the moment.

How do you like Prague, is it your visit here?

Yes, it’s my first visit. I just went downtown to the Old Town yesterday. It’s a very old town obviously, which I enjoy a lot. There is a lot of architecture, I love to be here.

Tonight we can meet you on PROWAS (Prague Opera Web Appreciation Society) meeting. What can we look forward to?

I am looking to mainly talking about three main things: Open the Web, explain what it is, the value of open web standards and I am looking also to introduce new web technology we support like CSS3, HTML5, SVG and video.

Thank you for the interview.

Martin Hassman was interviewing David Storey during his visit in Prague. March 2nd, 2009.

Komentáře

Subscribe
Upozornit na
guest
0 Komentářů
Inline Feedbacks
View all comments

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.