A look back and forward at Opera
Sunday, September 4, 2011 4:45:58 PM
I recently left Opera and now is as good a time as any to have an introspective into the company and its products. Opera does many things right and some things wrong, and here are my personal thoughts now that I'm away from the coalface.
Innovation
Opera has always been an innovative company. In many ways it has often been ahead of its time. Many of the features commonly found in the popular browsers debuted in Opera in one form or other first. Speed Dial is one example, as is being able to open more than one document at once, which morphed into tabs — something most browser users couldn't live without. Even if you look at new features in OS X Lion, some of the key features such as full screen mode and session restore have been in Opera for many years. If you look at recent trends such as webOS (apps made with web technologies), Opera had Opera Platform in 2003. Mozilla are now talking about device APIs, but Opera was very early in that game, has implemented the WAC APIs (which are quite terrible specs) and are fairly heavily involved in the W3C standardisation of the Device APIs via the DAP group. Opera was also on mobile very early, before Apple even invented the whole concept (I guess Opera owns a time machine).
Opera has all this innovation, but beyond mobile and some of the device spaces it has never really taken off as much as it should or deserves to have. There is probably a variety of reasons for this. Some things were just ahead of its time. Opera Platform came out when phones were not powerful enough and browsers were still slow compared to these days with hardware acceleration and JITed JavaScript engines. Opera also doesn't have a hardware partner which makes that kind of project even harder. Opera Unite as another thing that was way ahead of its time and took a lot of resources. I'm not sure the implementation was right either. It seems like as separate apps they almost compete with Opera Widgets and now Extensions for developer mindshare. Making it an API for other products would have been better in my honest opinion.
The desktop browser
It is the desktop browser as a whole that people criticise for not having enough users though. I think many people are missing the point when just looking at market share stats. On a global scale in an industry the size of web browsers, even just 2% of the market is many millions of users. Opera desktop alone has over 50 million active users. That is more than many web sites and services which are lauded for being popular. Opera desktop is also a key player in certain markets such as Russia and the CIS region, where it is competing for the top spot. In Eastern/Central Europe it often hovers around 10% mark, which is nothing to be sniffed at. However, it is true that it lags behind the larger rivals like Chrome and Firefox. This is a fair observation. I think one of the reasons is due to the innovation point raised earlier. Opera has always been good at looking out for the next killer feature and adding innovation to the browser. Innovation is costly however. It is much more expensive to come up with new ideas than to copy someone else's and refine it. Refining the features it has is something Opera has never done enough of, rather than being the quest for new features. Opera desktop probably has enough features now (I'm talking about the browser, not the rendering engine), and it could do with going through each of those and giving them a nip and a tuck, and polishing both how they look, how they work and how they are exposed to the user. I'm quite confident this will happen now.
Opera never used to have a UX group until a couple of years ago. They’re still hiring but they have some good people there already and you can see some of the movement they've made over the last few versions. Opera 11.50 debuted the featherweight UI, which looks like the first phase in cleaning up the UI and making it cleaner and visually lighter. This is only surface deep so far. The main UI now looks fairly polished. The main problems come when you get behind that and start to open side panels, dialogues, and preference windows. These are the areas where they haven't got to optimising yet. Once they've worked their magic right through the app, it will feel like a much more solid product. At the moment it ruins the feeling when you see stretched widgets, messy preferences and the whole issue with the sidebar when the first tab is active. One of Opera's key strengths is it is very customisable, but that makes it even harder for the UX team to design every possible combination so everything looks right. They're well on the way to getting there however.
The other issue beyond the product is marketing. Opera's marketing is often criticised but that is a little unfair. It is mentioned how fast Chrome took off compared to Opera, but it feels that you can't move these days without seeing Chrome ads on every page on the net (only a slight exaggeration). At least here in the UK. Opera can't compete with the kind of exposure that Google can give to Chrome, or MS or Apple can give their browsers by making it the default. Mozilla is the closest you can compare to Opera, but they too used to get advertising from Google before Chrome was released. Mozilla have done a good job at marketing their product though, and appealing to people through the open source nature of the product. I'm not a marketer so I'm not sure what the solution is for Opera, beyond staying creative and spending their limited budget wisely.
Success on mobile
There are no such issues with Opera Mini. It is growing at an incredible rate every month and is the number one mobile browser according to StatCounter. It has been a huge success in the developing world where people often can't afford smartphones and the data is either slow or expensive or both. Opera Mini was designed for exactly these situations, and it has thrived through both word of mouth and operators distributing it to their customers. It saves the users money and the operators bandwidth; a win-win situation. In the top developing economies (BRIC and N-11) Opera Mini is in the top two browsers in every country except China and South Korea (which isn't even a developing country). For all the countries where it is second they have been first within the last 12 months. China is the odd one out, but Opera recently announced a joint venture with Telling, and they are confident they can generate huge numbers of users.
There are only really two dark clouds with Opera Mini. The first is that most of the traction is in the developing world and Opera has never managed to get Opera into the top two browsers in the established developed markets where most of the developer mindshare is located and the ARPU is higher. These are countries where Opera Mobile is more suited. The other dark cloud is that Android is starting to take off in the developing world. Opera Mini faces more and better quality competition on Android than it does on the various feature phone platforms.
Opera needs a strategy to get Opera Mobile more popular in the developed world, and to convert Mini users into Mobile users when they switch to Android in the developing world. The good news is Opera Mobile has Turbo, so users can switch to a browser that has both a familiar UI and has some of the data cost saving attributes of Mini once they switch to a more capable platform that supports fully blown browsers. They have the opportunity to do this but they have to execute before large numbers of users switch to the Android browser. For the moment though the Opera Mini user base is showing no signs of slowing down. Apple have always been good at replacing their own successful product at the hight of its powers with another one (such as killing the iPod Mini and replacing with the Nano or replacing the iPod with the iPhone) before a competitor could to it to them. This is something at Opera could perhaps learn from.
One Web and the engine that runs the vision
The thing that powers Opera and is a core part of their one web vision is the rendering engine: Opera Presto.There has been a lot of external talk about why doesn’t Opera just use WebKit, but Presto is a key asset for Opera and allows them to control their own destiny. They have a lot of amazing developers working on it, and it is competitive with anything else out there, both from a speed, standards support, compliance with those standards and security aspects. Presto is very strong and it will only get better. New features are added regularly and the window between implementation and being included in an actual product has never been shorter.
It used to be the case that a lot of the Core development resources would be taken up doing custom project that sales sold to partners. This would result in a lot of one of code that didn't benefit the rest of the product and took developers away from adding new web standards. That led to a period where Opera fell behind slightly with standards support. This is gladly more or less a thing of the past now, and Presto is right up there with the best or there abouts. Presto has started adding a number of things first again–just like the old days–including the time element, micro data, getUserMedia (formally the device element), CSS Device Adaption, etc.
The Opera Presto rendering engine was built with the aim of running on platforms with limited resources, which has allowed Opera to run places where others have not been able to compete successfully. Its main drawback has often been site compatibility, as many developers do not test in Opera or block it completely. We have made great strides on that, but it still isn't a fully solved problem.
Developer experience
Opera needs help from developers to ensure their sites work in Opera, but Opera also has to help developers. I worked on a number of initiatives to do that, such as Opera Dragonfly, developer evangelism, and Open the Web. We hired a number of web openers in the US recently to try to help developers solve their issues in Opera, and to increase our presence in the US web development scene. There are a number of issues that still make it harder to develop for Opera than it needs to be however. One of the key issues now that Opera has high quality debugging tools is the lack of an open bug tracking system. With any other browser, including IE, you can look at what bugs exist, report your own and track the progress. No so with Opera. There is only a wizard for reporting bugs, but you can not search or track the progress. This lack of feedback stops developers reporting bugs,which leads to more compatibility issues. Exactly the sort of thing Opera doesn't need more of. Opening the bug tracking system is something I tried to get done in the past, but more or less gave up. I wish I had pushed further. Maybe with a new-ish CEO this might be a possibility again. Especially now I'm an outsider and can't access the system anymore myself, I'd love to see it happen. Other issues include some long lasting bugs such as rounding issues and handling of large values but they're starting to be fixed now.
Another area that lacks developer interest is Opera Widgets. They are potentially interesting as a way to develop cross platform apps, but they've never really taken off so far. Part of the issue was the way they were initially implemented, where the browser had to be running first to open a widget. The biggest issues though is I don't think anyone has grabbed the project by the horns and built it into a truly competitive platform. There is still no device APIs in Widgets and the general APIs lack compared to the power of native apps, especially on desktop. They really need access to the hardware, system services, and to have some sort of framework to make building the UI easier for it to be a truly competitive platform. The platform really needs a lot of investment to get to that sort of quality. Some things should come for free though when they're implemented in Presto for other projects such as Opera Desktop and Mobile. Opera Extensions seem to have been a much bigger success, but extensions are often much smaller and easier to make than fully blown applications. The use case is also more obvious as it directly relates to Opera. Opera seems to spread its self too thin sometimes with all the initiatives it has going on, rather than making one solid before moving on to the next. It seems like there is too many different developer platforms going on for a browser with Opera’s market share. If a developer wants to develop for Opera you can either build a regular web page (the Web), an Extension, a Widget, or an Opera Unite service. The use cases don't all overlap, but the amount of choice creates confusion and developer fragmentation. Developers have to think too much before they even get started.
In conclusion
Looking back at everything that has happened at Opera since I started, these are the things I think Opera would benefit from.
- Polish and refine the user experience of Opera desktop rather than adding more new features. There are enough good features already, they just need to be made useful and look good.
- Open up the bug tracking system to developers as soon as possible. It will not be easy but it needs to be done.
- Build Opera Widgets into a real platform with high quality tools and libraries or scrap it entirely. This will take a lot of investment to get it done right so it has to be worth it.
- Scrap Opera Unite in its present form. Either keep it as an API for other technologies such as Extensions, standardise it or put it out of its misery
- Invest more in the developer tools such as Opera Dragonfly. The team is very good and has grown over the last few years, but rivals are throwing a lot of resources into their dev tools teams. More developers and QA wouldn't harm.
- Figure out how to get users to upgrade from Opera Mini to Opera Mobile when the markets are ready. Opera Mobile is much more powerful of a development platform than Mini and thus is of more interest to developers.
- Keep on focusing on the consumer products rather than selling custom solutions to partners that require custom work in Core and on the platform code. Opera is more or less doing this right now.
)
