Interview: Firefox 3's interface design guru talks
7th Aug 2008 | 05:00
In our wide-ranging interview, Mike Beltzner talks Mozilla, Firefox and the big trends in browser design
What lessons did you learn when you were developing Firefox 3?
"We have continued this task focus throughout the iterations of the browser, so obviously Firefox 1 popularised tabbed browsing and we went further with Firefox 2 and the spell checker – we realised people were writing a lot of content more than they were reading, so we have spell check built in. We also added things like session restore so you can close your browser and pick up where you were with windows and tabs later on.
"We added search suggestion, so if you started typing something the browser would start giving you suggestions. If you didn't quite know how to spell Britney Spears' last name, the search suggestions would help you out. Firefox 3 continues that. The biggest feature we added is a search against your local history and location bar.
"Sometimes it can be hard to find that really funny video you saw a little while ago or that really cool page you liked. Now the location bar means that you can search against your local browser history and bookmarks based on the title of the page. So if you saw a page with a cool pair of jeans a while ago, you can just type 'jeans' into the location bar and we'll show you the list of pages that had something to do with jeans. The way we are doing this technically is we can store this information in a database like the search engines are doing except it's more relevant to the end user because it's their subset of the web."
Would users be confused by that, since they usually type in a URL?
"We have designed it to be an emergent sort of thing, so if you're used to the location bar being matched with a URL you typed before, it will still do that. If I'm used to typing a web address, I will still see matches against that web address. But I will also see that it matches against the title.
"We have designed all of our new features like this. Another new feature is one-click bookmarking, so instead of a lot of forethought about bookmarking, you can just click the star. But if you are used to bookmarking using the menu system, it still does the same thing. They're ways of making it easier to learn new features."
There's a sign in your lobby that says you support open standards. What is the trade-off between supporting standards and being fast and reliable? How do you fight that battle?
"We have found with Firefox 3 that it hasn't been a hard battle to fight at all; we haven't had to make a lot of sacrifices. It's not that often that a piece of software comes out with more features 'at the glass' for users as well as more features under the hood for web developers in terms of a faster rendering engine. It's faster, uses less memory and takes a smaller footprint on your system.
"We're working closely with the standards bodies to help develop those standards in ways that make sense. Overtime it's just a matter of rationalising that engineering effort and making sure what is going on under the hood is as fast as possible."
What progress have you made on a mobile browser?
With a mobile platform we want to bring the entire web to mobile, not a subset of the web. What we have seen in the past is that a site mostly works on your mobile device, but not entirely. Over the past three or four months, our mobile browser is working a lot quicker – especially with hardware providers like Nokia – to actually get the full Firefox experience on mobile devices.
"Nokia's N810 Internet Tablet has a WiMax version coming out soon. What you have on there is a full shipping version of Firefox. We're also working with them to make a more efficient version. The codename for that product is Fennec, which is a little fox with really big ears. It's a really fast browser with all the features of Firefox: tabs, the smart location bar, the bookmarking infrastructure.
All of these things that help users connect to their websites more quickly obviously pays off on the mobile effort, where keystrokes and time and effort spent by users need to be reduced. You should start seeing more and more mobile devices that are shipping a mobile version of Firefox or Fennec."
What are your thoughts on a browser OS where the computer is a thin client with nothing more than a browser and applications you click on in the browser?
"We think that the browser OS is pretty much here – there aren't a lot of applications you can't get on the web. There are movie-editing packages, photo-editing packages, Soho Office, and Google Docs and Spreadsheets that let you do all of your work online.
"In our use of the browser [at Mozilla], most of us already do 90 per cent of our computing in the browser, so we are living in a browser OS world.
"In terms of us making that real for consumers, we are actually looking at our Prism project through Mozilla Labs where you can go to a website and say,'I want this website to be its own desktop app'. And all it does is it saves a bunch of your preferences on your computer and loads up a separate instance of Firefox that just loads and shows that website.
"We take away all of the web browser chrome and just show you that website. So you have a Prism version of Google Mail where Google Mail looks like every other application. There are a couple things we need to do to make this just like any other client-side application, and one is to make it easier to integrate opening files with web applications at the operating system level.
"We also need to push hard on standards like offline browsing. Firefox 3 supports offline browsing which allows web developers to store offline information so even when you are disconnected from the web you can still use that information. Simbra, which is an email productivity client, gave a little proof-of-concept using the offline support we have inside of Firefox 3, and within a week someone who was not even a Simbra employee got it working so that when they reconnect, everything is synchronised properly."
What do you think about location-aware devices?
"There's a lot of information we can get from your system about where you are. We can read the time zone and make some inferences about that, and alot of operating systems expose the idea of the location you are in. And even beyond that there are sites like Expedia.com that know where I am based on my location.
"Right now, if I load Tripit.com, it knows that I am in Mountain View even though it knows I live in Toronto. If we can pull that information into the browser, we can use that information for things like a map search, so when I search for Starbucks it doesn't show all Starbucks across North America, it shows me the Starbucks based on where the browser knows I am – and inferred from other information.
"So there is a lot of rich metadata that we see on the client's web browser letting us infer things like location, modality, and even security – knowing whether you are in a public or private place.
"Websites will be able to run things like 'get user location' and it will return some sort of standard ISO location information that they can then use to provide more relevant information to users. We're looking at different ways of doing that. We really think the important thing here is opening up the mobile space and offering these services to programmers.
By that do you mean the Google Android model?
Google is right next door: how much do large technology companies influence your projects?
"We view them as partners and collaborators in a lot of cases. In cases where what they are trying to do increases the power and reach of the web, we're really thrilled to be working with them, and they've got a lot of great ideas.
"For example, with Firefox 3 we have been really working hard on trying to solve the problem of malware. The way we have been doing that is we've got this local blacklist of malware sites that we're checking every 30 minutes, and Google is scanning the web to find malware sites. We work with them to make sure that if they ever block a site, there is a button there that says, 'why was this site blocked?'. It's actually going to tell developers exactly what was wrong with that site and where the site has been infected with malware.
"In a lot of cases, people don't even realise their site has been hacked. We actually had this happen to us in Beta 3. We turned on the malware feature and a well-known web developer, Joe Hewitt, had his website blocked. And people assumed it was a bug because Joe is a really good guy and he is not going to host malware knowingly.
"It turned out he was running an older version of WordPress and he didn't know it, so when he looked into it he found out that his site was hosting malware. And because of that, he was able to get it cleaned up. So that's a tangential answer, but it's an example of where we are working with people, and we influence them just as much as they influence us."
Was the original impetus for Mozilla when Microsoft dropped the ball with Internet Explorer?
How do you play the game of watching something gain in popularity without being really sure if will become a standard?
"It's a real balancing act. The best way to make sure it's working is to keep open lines of communication with web developers and people using the websites – keeping the dialogue going. That is one advantage of being an open source company.
"I'll give you an example of something that happened in Firefox 3. Cross-site scripting is a pretty common request from website developers; the ability for website A to talk to website B. The only way they can do it right now is to do a full include of website B's scripts libraries, and since the same domain principles have been around on the web for a while, that opens things up to a host of nasty side effects and attacks.
"So we have had security researchers who are web developers themselves – from Stanford – come and talk to us about better ways of doing this. And one of them was an emerging standard called post message. And this is very much like what you are talking about; there is no way of knowing if post message was going to be a successful standard.
"These guys came by and talked about how it was going to be easy for people to use, and we decided pretty late in the cycle to invest in post message. What it does is it lets website A send a message directly to website B with just a bit of structured data and no code – a much more secure way of doing it. This is an example of how we are trying this bi-directional dialogue with developers and users to make sure we are supporting standards that we know there is a demand for and a usage for. Some others we just know are good standards to support.
"HTML 5 offline is another example of this – we saw people clamouring for offline apps, so this was one we thought was worth investing in. Others, we're not so sure. There's an emerging standard online called microformats, and we have partial support for it in Firefox 3, so our engine is able to detect them, pull them out of data objects and offer them to add-ons and to any application built on the engine to use. But we haven't actually exposed any UI for it, because we're not sure how the web is going to make use of them yet. So there we are tentative and waiting to see what happens on the web."
My impression is that Mozilla can be a little tight lipped with information. As an open source company, how open are you? What are you not open about?
"We are completely open, right down to how we develop the products. Our security reviews are even done on open conference calls that anyone can dial into.
"One new process for developing Firefox 3 is that any new feature had to go through a security review with our security chief using conference calls. The number was published so that anyone can review them and make sure the feature is secure. All our product planning calls and triage calls have 1-800 numbers that anyone can find on our Wiki.
"In terms of standards, people can seewhat we're doing in our open bug database, can advocate for doing one thing versus another, can tell us why a standard is worth investing in or not. That discussion is really important to us –to make sure we are focusing on the right things and that we're relevant to people. The only thing we are not open about is things where we're restricted by partnerships with other companies, and that's due to restrictions that they have. If you ask [Mozilla] a question, you can find the answer."
What about the source code for Firefox 3? How open are you with it?
"Completely. We have an open CVSrepository, and we are moving to Mercurial and a program called HG. Anyone can download the source code, the licence – the Mozilla Public Licence. The closest equivalent is the Creative Commons share-alike licence, but it's not even fully share-alike. The MPL is a really complex licence that basically says anyone is allowed to take this code and use it in any way they want."
What are some ways you plan to make the commercial side of Mozilla grow and still be open?
"Even between two years ago and now we have grown from about 20 – 40 people to about 150, but the one thing that has not changed is the degree of community participation.
"Back since 2003, about 40 per cent of code changes came from community contributors – and that could be partner companies, volunteers or people in their basements doing it as a weekend hobby. That percentage has not changed and it expresses something that is really important to us, which is leverage. Every employee here is responsible for not only a million users, but also coordinating and leveraging the contributions of the community to make sure everyone is working as efficiently as possible."
Does that feel like a weight on each employee's back – that they are responsible for a million users each?
"It's an awesome responsibility, and it makes sure that we are not just going to go and do things without understanding their effects. It's empowering, and it's a really good way to get people psyched about working here and working on the product. Leveraging the community is something each and every one of my colleagues enjoys. It's really gratifying.
"You can sort of come up with an idea and go watch a movie, then come back and see that people have modified that idea and helped shape it and grow it and made it into a prototype. You find out that people are just as passionate about it as you are.
"Mozilla – like Google – is one of those rare tech companies that seems to actually enjoy the tech – and is passionate about making the web more powerful and useful. The only burning question – as they just hired a new CEO and now have to deal with another browser war with Microsoft – is how the company can make money on a business model that seems to be completely about open standards, free downloads and one small search box for Google.