Slightly ajar

Subscribe to RSS feed

Posts tagged with "Opera"

A look back and forward at Opera

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.

In My Life

, , ,

It is with a heavy heart that I announce that with the release of Opera Dragonfly 1.1 I am leaving Opera Software.

It has been almost six years since I joined Opera, and a lot has changed. We were implementing Web Forms 2 back then, which went on to become everyone's favourite buzz word – HTML5. CSS3 has gone from strength to strength, and even IE supports SVG now. Perhaps the most remarkable thing during the six years I was here was the rise of Opera, from the browser everyone liked to make fun of for having no users, to the most used mobile browser on the planet. Not bad when you consider our main rivals are some of the biggest companies in the world with huge marketing and advertising budget. Opera Mini is the most popular browser in Asia and Africa, and is well on the way to becoming the largest in South America as well. No one comes close to the success of Opera Mini in the developing world. There is a lot of satisfaction in playing a part in enabling people to get online for the first time, and increasing their access to much needed information and communication.

I like to think I've played my part in Opera’s success over the years. During that time I’ve dealt with and help fix many compatibility issues with the biggest sites on the web. Without these sites working we would not have a usable browser. Through this work I founded the Developer Relations team which is now 12 person’s strong, and have helped shape Opera Dragonfly as Product Manager from almost the beginning of the project. Since then, there seems to have been an explosion in the number of Dev Rel people at different browsers, and a hive of activity on developer tools, including Mozilla taking their work in house. I’ve also done my share of web standards evangelism including a stint as a author on the most popular CSS3 site: CSS3.info, before it was sold to new owners, and a member of the W3C SVG Interest Group.

Opera has also given me a lot over the years, including giving me a platform to build my career and the willingness to drop me in at the deep end to see if I would sink or swim. Its not every company that would allow a young and relatively inexperienced person to help shape two teams and a key project. The best gift it could give is the amazing work atmosphere and some of the smartest and friendliest colleagues you could ever hope to meet. Being able to learn from them has certainly made me more knowledgeable and better at my job. I’d certainly recommend Opera to anyone that is just starting out and is willing to put the hard graft in to fulfill their potential.

For me though, it is time to move on. Opera Dragonfly is now mature and the Dev Rel team has many experts that know the web inside out. I’m passing the Dragonfly reigns over to Patrick, whom I’m sure will do a fantastic job taking it from strength to strength. It is now time for the next stage in my career, and an exciting opportunity came my way to which I just couldn’t say no . So now I'm saying farewell to Opera, farewell to Norway, and heading across the big pond (work permit permitting) to sunny California. I thought I’d be moving to Motorola, but since I agreed to join this happened. So maybe it is Motorola, maybe it is Google, or maybe I'm joining a Moogle. Who knows! It is sure to be exciting times whichever way it turns out. I’m not at liberty to say what I will be working on, but it has me chomping at the bit to get started. Until then I have a few days to relax in England and take stock of the situation. After all this work and traveling the globe I'm in need of it.

If you’re in the Bay Area I'll be hanging out soon enough, although I still need to decide which area to live. Thank you for the support over the years, and maybe I will see you soon.

Updated SVG map

, ,

Since the previous post, I've updated the Opera market share map somewhat. Now instead of having an automatically playing list of data, you can access the data by hovering over the specific country, and the country in question will also highlight.

For the country highlight I used mouse events on the country’s path element. I added a set element as a child of the path element which changes the class attribute to active. To add the mouse events, I added the code begin="mouseover" end="mouseout", which is fairly self-explanatory. For displaying the market share data it is slightly more complicated, as I wanted the action to happen on a different element to the active element – in this case the text elements. This also isn't too difficult when you know how. On the set and animate elements used by the text elements, I also used mouse events, but had to say which element triggers the animation. In the case of Belarus, I used code such as begin="by.mouseover" end="by.mouseout" which says to begin the animation when the element with the ID by has a mouse over event and ends when the same element has a mouse out event. I chain a number of animations. The first (where the code sample is from) is a set element to set the visibility of the text element, and the next two are animate elements to fade in and fade out the text element by changing the opacity value. You can chain as many of the different animation elements as you'd like. If you are wondering what the difference is between set and animate, set only changes the value once and happens without interpolation (i.e. is on or off, black or white), while with animate, there can be a series of value changes and it animates between the values (so opacity 0 to 1 will animate through each step from 0 to 1, instead of fully transparent to fully opaque).

As well as changing the interaction, I also compressed the file using GZip and changed the extension to svgz. This reduces the file size and tells the browser to decompress the file before passing it to the SVG engine for rendering. Many web servers may not be set up to handle svgz files (so the browser will get confused), so you may have to add the HTTP Header to your configuration file. In Apache I did this using the following instructions. This allows Opera and Safari to know the data is GZip compressed, but doesn't seem to work for Firefox at the moment. I'm not 100% sure why yet.

[DEMO] Opera Eastern/Central Europe market share map in SVG.

Opera market share map

, ,

While messing around with SVG I created a map of Opera market share in Eastern and Central Europe. This is much heavier than the previous SVG files I've made as I started with an existing SVG map from Wikipedia, that was originally produced using Inkscape. This adds a lot of extra things that machine generated markup usually produces, but making a map by hand would be bordering on insanity. I've cleaned up some of the markup, but I should be able to trim the file size a lot more by removing some of the inline and redundant styles and extra elements and attributes that are not needed.

I added all the extra information, such as the labels, colouring and animations by hand, which isn't too difficult to do once I worked out that the map was using a viewBox that changes the co-ordinate system (everything I was trying to include was too small to be seen because of this). I'm using the alpha channel of the HSLA colour model to show the different levels of marketshare (offset by 0.2 to make the colours easier to spot), which gave a easy 100% scale to work with. This is easy to do, but have performance penalties and opacity is expensive. It also means that it requires Opera 10 or greater to get the full effect. I'll probably end up mapping the colours to RGB values and use that instead, although that would make it more expensive. The colouring scheme chosen also makes it slightly difficult to see the difference between the colours less than 10% and those around 10 to 20%, so i reduced the opacity of the country borders for those less than 10%. I'd eventually like to show the market share data when clicking on the country rather than a predefined animation that loops through each county. In theory you can zoom in on each country (for those I added - Czech Republic, Slovakia, and Poland), due to the use of the view element and fragment identifiers on the a element, but support for this seems to break when animations are included. I'm not sure if this is a bug or something I'm doing wrong. You can still directly go to the county using a direct link outside of the document. There is also an issue with Safari where HSLA colour model doesn't seem to be supported in SVG, or at least not on the fill property, so the map just displays as black.

As far as the data is concerned, I took the market share values from the StatCounter results for April (at the time of writing). All figures are rounded so 2.49% becomes 2% and 2.51% would become 3%. You'll notice some patterns on the map, with 3 main groups. Those countries that are in the CIS are all post 20% market share. The Visgrád_Group and Baltic nations are around 10% to 15%. Latvia is slightly lower with 9%, and Estonia drops off at the edge of the group with 7%. The major exception is Hungary with only 4%, but we have identified a number of compatibility issues in Hungary (see comments in my previous pot) which may be causing this. The third group is the Balkan and other South-Eastern countries, that are around 4, 5 or 6% market share. This again has exceptions with Serbia and Montenegro both being ahead with around 10% market share, and Slovenia and Albania around 2% market share. I wouldn't be surprised if by the end of the year Hungary has caught up to the 10% mark and the third group of countries also start working their way to that level.

[UPDATE 1] HSL and HSLA are apparently not suppose to be supported by SVG, although they are both supported by Opera and Firefox. I've switched the fill value to red and added the appropriate alpha channel value with the appropriate fill-opacity value. Next up is the issue with Firefox. after talking to Jeff Schiller, its been narrowed down to the lines used to draw the grid. Firefox treats these differently, but I have to work out why. That is something for another day though.

The Opera Developer Network

,

Now that my team at Opera is growing bigger, and includes active bloggers, we’ve decided to create a team blog, where we can have a unified team voice, instead of developers have to follow a multitude of different blogs at different corners of the Web. This is one of the first public parts of our planned Opera Developers Network, or ODIN as we affectionately call it for short. As well as the team blog, we will have our own corner of Opera.com, to tie together developer related products and activities.

I’ll continue to blog here, but haven’t fully decided how to split between blogging here and on the team blog. As our efforts in the Developer Relations team ramps up, we have a number of things to cover already. Dev Opera and Opera Labs have been up and running for a while now, Open the Web is going from strength to strength, and the Web Standards Curriculum and our flagship developer tool Opera Dragonfly are just getting started. ODIN will bring together all these products and services along with covering developer focused events, relevant news coverage in the blog, and all the information you as developers need on our Core rendering engine, Opera technologies and industry standards. We hope the resources we provide will make it easier than ever to support Opera in your web sites and applications, and we can be as helpful as possible when you have issues you can’t work out how to fix.

Opera Web Standards Curriculum

, ,

Here at Opera we take web standards very seriously. As part of the work we are doing to advance the state of standards adoption on the Web, we’ve just released the Opera Web Standards Curriculum. With support of some major names in the standards scene, we hope the articles will be adopted both by education institutes and self learners alike, so that up to date techniques are taught instead of out-dated practices such as table based layouts and browser sniffing.

The release is the culmination of a long process that started around June 2006. We were contacted by Karl Dubost of the W3C, about the education outreach they were hoping to do, and if Opera could help them. Education is something I believe strongly in (I do have two degrees after all), and really wanted to help. I remember in my Computer Science course, we touched on the Web and were basically left to our own devices to learn web technologies—after all, they are easy right, and not like real programming languages like C that were taught to us by the lecturers. Any output in HTML that was demonstrated would be just slapped into a table, as the Web part wasn't the part of interest. Due to this approach, students would just lean bad practices from the top hits on Google when searching for material.

I wanted to make a web standards pack that could be given to universities, or downloaded, so that lecturers could give them to students as reference material for self learning when they had to use web technologies, or to be included in lessons when the course was web development related. Sadly this didn't come to anything as the developer relations team (or the precursor to it) at that time was just myself, and I didn't have the bandwidth to undertake this and the huge amount of work it entails.

Meanwhile Chris Mills was still a friend of Ed, and was independently fostering plans of his own to make a beginners web development course. For whatever reason, that never happened, but we stole him away from Ed, and joined our team. Chris brought up this plan, and we were of course very enthusiastic about it, and went through a plan of what should be included in the course. Since planting those seeds, Chris has been slaving away at gathering authors, getting articles written and editing them for publication. He’s done a fantastic job at this, and it was great to see something like this unfold without having to do much myself except bug Chris with a few suggestions . Maybe I should ask Chris if there are any spare topics to talk about later in the series. That reminds me I should get back to writting the SVG Primer article that I promised and half wrote…

Now that the first set of articles are out, I urge anyone that has an interest in learning web design to head over to the Opera Web Standards Curriculum page and check it out. If you have any feedback then let us know on the Dev Opera forums.

Opera passes two out of three Acid 3 tests in public build

, , , ...

We've just released a public build of our testing and development build that shows Opera passing 100/100 in the DOM tests. It also has pixel perfect rendering. The final test which has to be passed is the performance test. This puts Safari and Opera neck and neck in the race to be the first browser to pass Acid 3. I'd like to congratulate the Core Opera team for all the work they've done to pass the first two tests so quickly, and the WebKit team for making this a fun race so far. Both engines getting this far means that we both support important CSS3 properties like HSLA color model and Web Fonts, and pushes support for SVG forward. I'm looking forward to when Gecko and the new IE engine get this far.

Momo Oslo, tonight

, ,

Just found out about this last minute (thanks Tor). Mobile Monday is having its first ever event in Oslo tonight. It's free to attend, so if you are in Oslo, and have any interest in the mobile space, then I encourage you to attend. Opera is right on the doorstep, so there is bound to be a posse of us in attendance, Opera Mini in hand. Our own Oleg Tukh is the Master of Sessions.

This will be my first Mobile Monday, so it should be interesting to attend. The name Momo reminds me of Liverpool's ex midfield general - Momo Sissoko.

Moods of Norway

, , ,

Swedish fashion labels have been hot recently, but Norwegian label, Moods of Norway are now joining them on the global scene. It was Oslo Fashion Week recently, and I was lucky enough to be invited to the VIP section of their fashion show at Bislett Stadium (venue of the 1952 Winter Olympics). There was reportedly around three thousand people there. It was certainly packed in the VIP section, and the whose who of Norwegian celebrities were there. Unfortunately, I didn't recognise any of them, so sorry if I stood on anyone famous' toe.

Moods and Opera have been up to a few things together recently. If you look around the Opera web site, you'll find one of the Moods founders in some of the photos. They're also doing a fashion show at our Rock Opera event at SxSW on the 10th March. In one of the most enthusiastic display of blogging I've ever seen, they are like a rabbit out of the hatch with their blogging on My Opera. Their posts are as humorous as their advertising copy, and they seem to travel around the globe even more than I do. My favourite quote being I dont' know! The pink boat is almost so gay that it scares the gay dudes. Their pink boat is certainly very pink! The girls are less scary though.

It is a quite good fit that they are attending our Rock Opera event. While their normal clothes are popular over here, for some of their designs you'd have to be a rock star to get away with wearing it. Either that, or like to attract attention. It is probably no secret why then, that throughout their My Opera blog, you can see such stars as Dave Navarro (Red Hot Chilipeppers), Justin Timberlake (no accounting for musical taste), Tommy Lee, Perry Farrell (Jane's Addiction), some guy from the Black Eyed Peas, and Frank Zappa's so, wearing Moods of Norway gear. I'm looking forward to Jon Von Tetzchner sporting one of their nice floral numbers.

Attend Web Directions North on the cheap

, ,

If you are in the Vancouver area, and are thinking about attending the premier web design conference in Canada - Web Directions North, then we've got some good news for you. I had a fantastic time there last year, and so Opera has decided to push the boat out and sponsor this year's event. This means we get to offer you all a $100 CND discount (Isn't that still worth more than $100 USD?). All you have to do is visit this address and enter the magic code WDNOp, and Bobs your uncle, Marys your aunt. You can even heckle in the back during the Air Vs Silverlight talk (Only kidding please don't do that. We know the Open Web wins in that battle wink)

Mr Chris Mills will be attending the event, along with myself. Please come speak to us if you have any questions about Opera or any problems with compatibility. If you have Opera Mini on your phone, we may even buy you a beer.