Rob O'Callahan runs Mozilla's New Zealand office, in Auckland. A New Zealander, he was working in the US when he was approached by Novell to do some Mozilla work. He said he'd prefer to return home, and Novell agreed. Subsequently Mozilla itself recruited him and agreed to his building an Auckland team.
The team is currently about five strong with a few other developers working "pretty much full-time" for Mozilla from Wellington and the South Island. O'Callaghan is a passionate advocate of openness in internet applications and is disquieted by Google's and Apple's domination of the mobile market. He is scheduled to speak about this at the ITEX conference in Auckland on November 23. Stephen Bell caught up with him for a foretaste of his views and practical ways of furthering them.
What does openness mean in your terms and Mozilla's?
We want the internet to be a level playing field, which means no company or organisation should be able to dictate who can use it, how they can use it, who's able to produce content, who can consume it, who's able to create devices and software to consume it.
We want people to be able to create new technologies that enhance the web and for everybody to have a stake in that.
A considerable body of opinion would be in favour of free competition as the best stimulus to innovation; everyone does it their own way and the best approach wins out.
I have no argument with that; we support competition.
So what's your objection to the way it's working at the moment?
There's good things and bad things happening. The good part is that there's a lot of energy right now around developing new features for the web and new applications to browse the internet.
The web as a platform for applications and documents is getting a lot richer; it's actually getting better a lot faster than it ever has before. I see that because I've been involved with it since 1999.
The problem is that developers are writing apps for particular mobile devices. Content that used to be available on the web is being made specific to Apple's iOS or Google's Android. There's nothing wrong with that in itself, but if the centre of gravity switches completely to these closed platforms, particularly with closed app stores, Apple and Google will decide who can publish what. They can decide what technologies you're allowed to use or not to use. That's antithetical to what we think of as the open web. If developers, applications and content all move there, then the open web will have failed.
The mobile environment is hardly the web as we're used to thinking of it.
What makes it the web for us is that it's based on open standards agreed on by all vendors who work together to make the standards. If a number of vendors decide to extend the standard, they can do that; even if some other company objects to that for competitive reasons, we can usually come to a consensus.
There are disputes, but they get resolved in time because web developers start working with one thing or another, and when a lot of developers buy into something, there's a lot of pressure on vendors to support that; so we do tend to converge over time. Disagreements from time to time are just human nature.
With mobiles, Apple and Android decide what the future is going to be and you can't disagree with that, because they control it. You can lobby them, but ultimately they're the ones that make the decision.
A lot of people committed to open source support Android.
Yes, but it's not fully open-source. Google only releases the source code some time after they've delivered the devices. Apart from some favoured partners, no-one gets to see the source-code. At Mozilla we don't get to see Android source code until a long time after Google and its partners have decided what it's going to be.
So how do you combat that?
We've done it before, we fought against Flash and Silverlight -- proprietary [video] plugins. What we do is to make the web an attractive development platform [ensuring] it's got the features and reach that application developers want.
Then we make sure that web standards are implementable by anybody and that they're agreed on by vendors, who all have input.
It's hard work to get consensus among vendors; it's very appealing to be able to branch off on your own, but that way we won't get the level playing field.
I think there's definitely a movement against proprietary plugins. In Windows 8, Microsoft has said it's not supporting plugins at all in the Metro browser, the shiny new [tablet-style] browser you'll get when you first turn on the computer.
Isn't there still disagreement on open video codecs in HTML5, between H.264 and WebM?
We want everyone to be able to consume HTML5 video and H.264 isn't good for that because of licensing restrictions. If you're a web content provider and you're charging for your services, you have to get a licence to use H.264. We don't want that group [of licensors] to have control of whether you can see video on the internet. That's why we're pushing WebM. But you're right; it's still up in the air. Everyone has their positions and it hasn't really shifted very much.
We're adding a lot of features to the web platform to make it more attractive. There's WebGL for 3D graphics. That works well with games and data visualisations; there are some big websites that are going to start using WebGL soon.
That will enable us to do things we couldn't do before on the web and we're making sure that everything you can do with a mobile app you can do with a web app as well or better.
Here in Auckland we've got someone working on a full-screen API; if you want your web app to take up the whole screen, we'll have a way to do that securely. It's dangerous to have an app take over your whole screen, because someone malicious could, say, make their app look like the Windows desktop or a bank's site and trick the user into typing in a password.
You don't want to leave the user confused about what's happening and with no way of getting out of it.
I went to Web Directions South, in Sydney and many of the developers there are writing mobile apps; but they'd really rather write web apps, because it's less work if you can write a web app and do some tweaks to get it to work on mobile, it's a pain to have to write an iPhone app and [a separate] Android app and one for whatever device comes next. It's much better to be able to write for the web.
But there are efforts such as JOOB Mobile which aim at spawning apps for different mobiles from a single code-base independently of the web.
Yes, but I think the web has much more momentum behind it There will be other solutions, but the web is still in a good position. Apart from mobile [devices] and [conventional] browsers there are web kiosks. If you start with web you're in pretty good shape.
There's work going on in Auckland with [stereo] sound APIs -- for games, we can make it sound as though something on the screen's travelling past you or if you're talking to several people we can make their voices appear to be coming from the right directions -- and we have standards for storing offline, so you can download your emails then work with them when you're offline.
There are websites and web applications that you can use offline. We've supported that for a while now. It's still a bit crude and we need to make improvements, for example to the mechanics of updating the application when it's updated on the server. It doesn't always do what developers want there; but the big picture is pretty clear.
The effort to promote web standards is surely more a political and commercial fight than technological.
Yes, but we're a pretty small team; we can't get into those aspects; we're just getting our projects done. We do have a lot of visibility in that standards community, so we do participate a bit at that level.
Tomorrow Rob O'Callahan discusses why he moved back to New Zealand and why its difficult to attract talented ex-pats back to New Zealand.