Otter Browser

Web browser controlled by the user, not vice-versa


Otter Browser, project aiming to recreate classic Opera (12.x) UI using Qt5.

Official forum at The DnD Sanctuary

IRC channels: #otter-browser (main, international) #otter-browser-pl (polski / Polish) at

Points of interest:


Weekly report #15 (14-04-2014)

Some numbers from last seven days:

Weekly report #14 (07-04-2014)

Some more progress this time:

Alpha 4 release (01-04-2014)

It was supposed to be first beta but it got rescheduled...

Try new experimental binary packages, available at downloads page, source packages can be fetched from github.

Most important changes since alpha 3:

Weekly report #13 (31-03-2014)

Busy time continues:

Weekly report #12 (24-03-2014)

Another busy week, but sadly busy working on stuff not related to browser itself:

Please note that first beta got moved to June, so next release will be Alpha 4 instead.

Weekly report #11 (17-03-2014)

A bit more productive week:

Weekly report #10 (10-03-2014)

Apparently "weak week" strikes back:

Weekly report #9 (03-03-2014)

Last week brought some more changes than recent ones:

Alpha 3 release (01-03-2014)

It's again first day of the month, so there are new experimental binary packages, available at downloads page, source packages can be fetched from github.

Most important changes since alpha 2:

Thanks to all who helped with this release, next stop is first beta. :-)

Weekly report #8 (24-02-2014)

According to GitHub Pulse last week brought us:

Weekly report #7 (17-02-2014)

Some numbers for last seven days:

Weekly report #6 (10-02-2014)

Last week wasn't too productive (thanks to Space Pirates and Zombies ;-)), but there was some activity anyway:

Weekly report #5 (03-02-2014)

Apart new alpha release last week brought us:

Custom profiles for keyboard shortcuts and action macros are finally finished and proxy got PAC support, thanks to bajasoft.

Alpha 2 release (01-02-2014)

One month passed and now we have new experimental binary packages, available at downloads page, source packages can be fetched from github.

Most important changes since alpha 1:

Thanks to all who helped with this release. :-)

Weekly report #4 (27-01-2014)

According to GitHub Pulse last week gave us:

Most interesting changes being support for custom profiles for keyboard shortcuts and action macros (still missing configuration UI) and option to delay loading of tab contents until it gets selected.

Next week will bring second alpha release which should contain some more customization options, like custom menu layouts and possibly initial work on toolbars configuration.

Weekly report #3 (20-01-2014)

Numbers for last seven days:

Initial proxy support (still missing handling of PAC files) was finally merged (thanks bajasoft), work on support for custom keyboard shortcuts is still ongoing (takes longer than expected but is almost done).

Thanks for all pull requests and feedback. :-)

Weekly report #2 (13-01-2014)

Current numbers:

Except some drafts of new configuration pages there are almost no user visible changes in recent commits.

But some new stuff is being worked on, like proxy support or keyboard shortcuts and macros for actions (both based on profiles).

Weekly report #1 (06-01-2014)

Almost one week passed since Phoronix published first news about my project (thanks again :-)).

I cannot guarantee that such reports will be made each week (as they require a bit work to be done too and there may be not enough interesting stuff to be covered) and they will be most probably moved to Sunday anyway.

Reactions were usually positive (I've read many of comments, written in various languages - Google, you seriously had to improve translating from Hungarian!), thanks for all good words and constructive criticism. :-)

Lets proceed then, with some numbers:

In terms of coding this week was "weak", I've barely had time to code myself (but still I've managed to enforce "at least one commit per day" policy ;-)), since project management eats most of the time.

Hopefully it will improve soon. Some nice features are currently being worked on, those who follow IRC know what exactly is being cooked right now. :-)

Those who would like to get involved are welcome to check out issues page, items marked as "junior jobs" can be taken (but please ask first on IRC, they may not be always properly marked as taken) and there are also "discussion" tickets, where feedback is especially welcomed.

In case of programming task please take a look at HACKING file first, it contains some rules that will be mercilessly enforced (well, in worst case I can do code reformatting myself, I know, some of these rules seems to be "weird" ;-)).

Last but not least, I would like to clear some misconception about source of inspiration, it is not Maxthon (which itself is inspired by Opera, but remains closed source), I've only meant that I've used it a bit in 2004, when it was still called MyIE2 (I couldn't stand simplistic UI of vanilla IE), before going for Opera.

Alpha 1 release (01-01-2014)

So time has come and there we have first (very) experimental binary packages which can be obtained from downloads page, source packages can be fetched from github.

Keep in mind that this is very early version and there are lots of things still to be done (especially more UI customization features), all things listed in TODO are not yet available but will be added one after another, also including minor or obvious stuff not listed there.

Please not to judge project until first beta (hopefully in early March), this is first public release done after only 400 commits (two months of work).

This page will see more improvements later, for now it's best to stick with Atom feed channel on github, for now it makes more sense to focus on browser itself.

Thanks for early feedback (including some criticism, yeah, I've read most of these comments scattered around internet :-P) and support. :-)


To avoid (un)intentional FUD please refer to these answers for the most common questions.

If something is missing you can always ask me on the project's IRC channel (it is the preferred way of communication).

Why yet another QtWebKit browser?

First of all, Otter is not intended to be such a thing, from beginning it is designed to support multiple backends.

Since Qt5 currently ships only one web engine (QtWebEngine is still in the works, planned for inclusion not earlier that in Qt 5.3) Otter has no other option for now (creating bindings is not a trivial task...), but as soon it will become possible it will gain support for Blink (through QtWebEngine) and maybe others (someone tried once to build Qt version of Firefox, so there should be Gecko binding somewhere...). ;-)

As long time Opera user (since 2004, spending only few initial months using Maxthon etc.) I have some specific needs that cannot be fulfilled by any of existing web browsers.

There will be no entry "Why Qt?", why? Because Qt (while not perfect) is simply the best choice. ;-)

Why not to join other projects focusing on QtWebKit?

There are multiple reasons why to not do that, I will list three of them.

First of all, Otter has different goals, its primary objective is to become haven for power users that cannot stand what happened to Opera after ditching Presto engine.

Secondly, most of existing projects come from Qt4 era, while Qt5 gave many new features and simplified many tasks directly in QtWebKit or indirectly (mostly QtNetwork module, like new API for QNetworkCookieJar). Existing projects still use workarounds for missing features, even Qt examples were only barely touched to work with Qt5...

Last but not least, it is a bit of NIH, but it is simply too easy to create such project with Qt, design it from scratch than try to fit in in existing architecture.

Are you going to simply clone UI and all features of Opera?

Nope, not all of it is even possible or feasible (like Unity, widgets etc.), some of these concepts started to show their age or could be simply done better (for example more flexible while being also simpler to implement and comprehend by end user).

Also you have to keep in mind that classic Opera regressed substantially in recent versions, simplifying (in some places far too much) and removing features (even before dropping whole "Opera" after 12.x) by trying to keep up with simplicity of Chrome and IE.

Additionally Otter will be not a monolithic browser, it is designed to be very modular, going so far that you could replace whole bookmarks manager or history viewer (not yet currently, but with only one step missing, proper plugins, abstraction layer is in place already).

Had I mentioned that I want to have built-in mail client? Do not be afraid, it will be optional module (possibly able to live as standalone application), it will not "bloat" entire browser. ;-)

Native look and feel is also important, although skinning abilities are also planned (including support fo Opera skins and personas).

Why this name, Otter?

I don't like "invented" names (don't look deeper into history of repository, you will find such name there, thankfully I've changed it quickly ;-)).

I've chosen Otter because it also start with "o", furthermore it has the same amount of letters as Opera.

Why there is Browser in name? There was already such package, some mathematics related software (such ones probably should use invented names, or at least prefix or suffix them).

Coincidentally full name is pronounced in similar way to Other Browser, and well, indeed Otter intends to be different from current mainstream trend of UI oversimplification (and in fact it started with IE years ago, I believe that Chrome was trageted to takeover users of that browser, which had biggest market share back then).

Also it allows "fun" jokes about for example Firefox (the last "mainstream" browser that didn't lost its identity, at least not yet), fire and water. ;-)

Maybe you should try with Kickstarter campaign?

I was thinking about such possibility before launching alpha, also some people suggested it, for example on Reddit.

While it would be nice to get some cash for development (and invest into VPS for automated buildbot or SSD to increase compilation speed a bit) but success there could lead to failure of entire project, since it could create too much pressure for me.

So while it's tempting it should be avoided, at least for now (some legal entity would be needed first too).

© 2013 - 2014 Emdek, Hosted by