Ruarí's thoughts

Supporting Opera on Linux and FreeBSD

, , , , ,

We occasionally struggle in the Opera *nix team with the vast range of setups we support. And from time to time I must admit I grumble a little about this. However often when I do so I get responses like, "FreeBSD and Linux are so similar they are almost like one OS. Why is it any harder to support FreeBSD and Linux than it is to support different versions of MacOSX?".

To many people this sounds reasonable, particularly to someone who isn't overly familiar with the Linux and FreeBSD landscape. However on closer inspection it doesn't hold water. Firstly Linux and FreeBSD aren't static they both have multiple versions and even if they are similar, they are not they same. Sometimes we have to do two implementations of a feature. A recent example of this is Geolocation. Linux got it first because it had to be implemented differently on FreeBSD. Yes they share a fair chunk of code but they are not 'identical' implementations.

And yet even saying that Linux and FreeBSD are different massively oversimplifies the situation. Even if we only supported one of them it would be hard. I have spoken previously on my blog about how Opera now has three modes in which it will attempt to integrate with the *nix desktop environment (Gtk, KDE, and Opera-X11). These different modes change various things like: the print dialog, the file selector, font setup, look and feel, etc. On that last point ('look and feel') consider that both Gtk and KDE also have themes which we try to match. These themes in turn change: colour scheme, buttons styles, hover effects, etc.

Still that does not cover everything of course. Consider my recent blog post about compositing. As I mentioned there, many of Opera's drop downs and dialogs will behave differently if a compositor is on or off.

Before we move on let's look at the variants we have collected already:

  • FreeBSD
    • Gtk
      • Ambience (theme)
        • Compositing on
        • Compositing off
      • Clearlooks (theme)
        • Compositing on
        • Compositing off
    • KDE
      • Oxygen (theme)
        • Compositing on
        • Compositing off
      • Cleanlooks (theme)
        • Compositing on
        • Compositing off
    • X11
      • Compositing on
      • Compositing off
  • Linux
    • Gtk
      • Ambience (theme)
        • Compositing on
        • Compositing off
      • Clearlooks (theme)
        • Compositing on
        • Compositing off
    • KDE
      • Oxygen (theme)
        • Compositing on
        • Compositing off
      • Cleanlooks (theme)
        • Compositing on
        • Compositing off
    • X11
      • Compositing on
      • Compositing off

I am already up to 20 variants!

Yeah ... Ok ... I am exaggerating, a little. wink It isn't quite as bad as all that! It is almost always a combination of only one or two of these differences that might make a problem unique, e.g. A Linux KDE user with compositing on, might see an issue that a FreeBSD X11 user without compositing doesn't. However the difference will probably turn out to be just the difference in compositing, or just the fact that one uses KDE. Only occasionally do you see things where the combination of KDE+Compositing is also needed to see the bug. And it would have to be a pretty odd bug for the Linux/FreeBSD difference also be needed before the issue could be seen (though I have seen some very odd combinations!).

However on the other hand it is also worth considering that I only gave you a very limited sub selection of the possible differences. For example I have only listed a couple of possible themes for Gtk and KDE. When in reality there are hundreds of different themes for each. Also there are so many other factors: different architectures (Opera for *nix supports 32bit and 64bit builds, whilst Windows and Mac only have 32bit), different methods of font configuration, different Window Managers (which will affect all kinds of things [like focus]), different installation methods (rpm, deb, tar), different distros (meaning different libs), different IMEs (Input Method Editors).... etc. I could go on all day!

So what is the point of this post? Well, don't get the wrong idea, this won't become a rant where I will end saying, "Arrghh ... *nix sucks!!". Far from it. This is one of the reasons I use Linux and FreeBSD. I love the variation, meaning that every user can have his or her own unique setup. It is truly great! On Mac (which I also use from time to time). There is one way. No variation in installation methods, themes, standard fonts, focussing behaviour, etc. Just one way, the Mac way (or should I say the Steve way!). This is convenient and great if you like that one way but it sucks if you don't.

So my point is really this. Occasionally a user will hit a setup combination, which might even be some distro's default setup, that horribly breaks Opera. Then that user goes and writes a (totally understandable) post that basically says, "Hey why do you guys not give a cr*p about Linux users? Opera doesn't even work with a clean install!". So this post is basically a response to those comments. I want those users to consider that it is not always as easy as it initially appears.

I should probably also add something about 'caring'. Trust me, I care! Indeed, when I read stuff like that I often find it immensely depressing, since I know that myself and my colleagues have worked our buts off to try and make Opera on *nix the best we possibly can and yet somehow we have completely failed this user. On the plus side I usually feel a little better after a few minutes, particularly because I know that Opera as a company does care about *nix users a hell of a lot more than most "proprietary software" companies. In fact I can simplify that last statement, Opera cares a lot more about all of its users than most companies. A neat demonstration of this is the large number of people who use it every day.

Finally to answer those users who do have issues more directly. If you have an issue and Opera is unusable for you, report it and we will try our best it fix it for you. I can't always promise that it will happen or if it will, when it will happen but I can promise you that if we are able to stretch our resources to help even a small minority of users, we will do so!

Tab cycler stuck? Here is how you work around itSelecting a Linux or FreeBSD package and installing it

Comments

Daniel HendrycksDanielHendrycks Friday, December 17, 2010 11:11:22 PM

up

Martin RauscherHades32 Saturday, December 18, 2010 11:19:29 AM

It's time you release an Opera OS! Can't be worse than ChromeOS smile

michalmisiu Saturday, December 18, 2010 11:29:50 AM

Originally posted by Ruarí:

I know that Opera as a company does care about *nix users a hell of a lot more than most "proprietary software" companies

Yes, this is the truest truth, not just empty and cheap marketing talk. I think that sometimes words like "opera is cr*p on linux" are spoken rather by torlls or another browser fanboys than oridinary users of Opera. Sometimes it's matter of ignorance: you can't be a linux or Opera "geek" in 5 minutes of using it. But you can (of course if you can) change what you do not like in your own field, just "ask google". This is both Opera and linux power: flexibility.

Kyle Bakerkyleabaker Saturday, December 18, 2010 5:07:25 PM

cheers

Шуйский Николай [krigstask, Ŝtérkrìg]Sterkrig Monday, December 20, 2010 3:45:44 PM

Originally posted by Ruarí:

I know that Opera as a company does care about *nix users a hell of a lot more than most "proprietary software" companies


That's for sure, I second that!

How to use Quote function:

  1. Select some text
  2. Click on the Quote link

Write a comment

Comment
(BBcode and HTML is turned off for anonymous user comments.)

If you can't read the words, press the small reload icon.


Smilies