Arora, a WebKit browser in Qt

The release of Qt 4.4 came along with the WebKit browser engine which could be tested with an included demo browser. This demo browser is now developed independent under the name Arora and is already, while in early development a cross platform Qt browser.

WebKit is a browser engine which was originally forked from KHTML and is now developed further by Apple, Nokia, Adobe, Trolltech and others. Up to a certain point there is also cooperation going on between KHTML and WebKit.

With Qt 4.4 WebKit is officially part of Qt, and therefore every Qt app can take advantage of WebKit (this is also true for every KDE app, but they can use KHTML for quite some time now anyway). The demo browser of Qt 4.4 was shipped with the release to show what the engine is actually capable off. Since it was already a (basically) working browser its own code repository under the name Arora. The WebKit code used is the one of Qt which is directly developd in the WebKit trunk.

Arora main window

Arora preferences

The browser is currently under heavy development and is still in an early phase, so it can hardly be compared against the “old” ones like Firefox or Konqueror/KHTML. However, the browser already has a nicely working Rich Text Editor support which for example works with WordPress blogs:

Arora support for the WordPress Rich Text Editor

Also, there special private browsing mode which makes it possible to deactivate the history and cookies just for a short time:

Private browsing mode Arora

Besides, recently the support for flash plugins was included, and Arora can restore closed tabs. Currently planned features include the support for password store mechanisms in the form of plugins which will make it possible to connect Arora to kwalletmanager and therefore integrate it seamless with KDE – or to connect it with the Gnome keyring and integrate it with Gnome.

But it can also be seen that Arora is still in development: in the version tested on this machine there were some issues with the scroll bar and also with the line-edit field and the buttons on the Google home page:

Arora display errors

Additionally, there are some things missing: especially web shortcuts which I really got used to should be added at some point in the future. Also, the preferences dialog does not list options which are normal for other browsers (always display tabs, always open in a new tab, etc.).

However, given that the development continues at the current speed these features should be available soon. In the long term Arora could become a real competitor to Firefox: while it is also cross platform like Firefox it could actually adapt the native design of each platform thanks to Qt. Additionally, with intelligent chosen plugins it should be easy to integrate it into the platform (password storage, favourites, desktop search, etc.). Last but not least thanks to its origins it features a much smaller memory foot print and is simply faster than Firefox.

For KDE users it could be an interesting alternative to Konqueror to have a look at WebKit and simply as a stand alone browser inside KDE.

In case you want to give Arora a first test the easiest is to run Ubuntu (probably in a virtual machine) and install the precompiled binary. Since Arora does require quite recent Qt packages it can’t be compiled in Fedora 8, and even Fedora 9 might not be sufficient at the moment.


29 thoughts on “Arora, a WebKit browser in Qt”

  1. Nice review, thanks

    I wonder if a browser with kross-based plugins is feasible/efficient and how far it can be used. Too bad Arora is QT only 🙂

  2. You say that due to Qt it will be able to integrate with the native widgets of the platform. But, Firefox from version 3 also does just that, and without Qt.

    That said I do think Qt is a fine toolkit and WebKit is definitely better than Gecko currently, so this does look very interesting.

  3. “But, Firefox from version 3 also does just that, and without Qt.”

    I beg to differ. While Firefox 3 is indeed a very nice browser (I still think konqueror is the better browser of the two though) it still feels rather out-of-place in a KDE environment. Not as much as Firefox 2, true, but it certainly does not feel like a native app to me (it does in Gnome though). Most of the time it doesn’t matter much (especially if you use the gtk-qt-engine) but the print dialogue and the file dialogue spills the “secret” every time.

    Still, the opposite is equally true. What I am trying to say is that a gtk-app will never be as well integrated in a KDE-environment as a KDE or Qt-app (and the other way around) so if that’s what you want and is using KDE: firefox is likely not the best browser for you.

  4. At the moment I wouldn’t recommend Foxkit over Arora for KDE users (Arora works pretty well, while Foxkit is currently in not-that-great shape… at least until I get my laptop back so I can continue working on it :p), in the future I hope I can get Foxkit into a realistic alternative to Konqueror (the Dolphin of the web? :p).

    Arora is DEFINITELY a very nice browser, it’s EXTREMELY fast, it’s cross platform, it has very good compatibility with lots of websites (including some that Konqueror3 has trouble with, though I’m sure theres some where the opposite is true). It seems to be a *very* good choice as a minimalistic browser in a Web2.0 world.

    Personally I’m very excited to see how Arora develops (and Foxkit in the future :p)

  5. Arora doesn’t “aim” to become cross-platform, it already is. In particular, a Windows installer is available at . And yes, it _is_ very nice – kudos to icefox, who both wrote the demo browser and spinned it off into Arora.

    To liquidat: judging by everything being in English despite “OK/Abbrechen”, it seems you’re running an out-of-date build. The latest git source includes a German translation.

  6. Just to clarify Arora is already cross platform and is being activly developed and used on Linux, OS X, Windows and Embedded. (From the first paragraph: ” and aims to become a cross platform Qt browser in the future.” )

    Also the drawing issues that you are seeing really has to do with the oxgen style bugs that are showing up in QtWebKit. If you try it out with plastique you should see much better results.

  7. @ Jonas :
    Firefox can be built so it uses Qt widgets. Sure, it is not included in official builds but it can be done from source and some distros include a “firefox-qt” package.

  8. Thomas, there is a Windows binary linked at their homepage.

    patpi, the last thing I heard from the developer was that he went abroad. He mentioned that he wanted to send me the sources, but I never got them :/

    Anonymous, about the platform integration: afaik the integration of FF3 will be better, but not comparable to Qt.

    About Foxkit: it simply wasn’t in a testable shape when I started writing this blog entry. If a nice howto is around I would love to make a review of it! Kitsune, please notify me when Foxkit is in a at least testable shape 🙂

    Sikon, Benjamin, about the cross platform thing: of course it already runs on the different platforms, I just had in my mind that it is not a fully fledged stable browser yet. I will clarify that 🙂
    And the thing with the screenshots: I was running everything in a Kubuntu virtual machine and used the pre-build deb package.

    Pohlse: I have no idea, sorry.

  9. Hi,

    Nice browser. I’m going to use this for testing in my W2K VM since neither Safari, WebKit nightlies or even Apples software update works there now and building Gtk webkit on linux every few months takes too long.

    On another note, I’m seeing the odd script that works in all other browsers (including konq) but doesn’t work in webkit. Instrumenting every script for DumpRenderTree is painful. So is there any chance we’ll see web inspector/drosera in Arora?

  10. Re: my comment above.

    I just noticed that view source is a dump of the DOM tree 🙂 I can see where WebKit is getting it wrong now and fix some scripts.

    That’s awesome, thanks.

  11. “Firefox can be built so it uses Qt widgets. Sure, it is not included in official builds but it can be done from source and some distros include a “firefox-qt” package.”

    There is? I had completely missed that so thanks! Do you know how well it works compared to the official builds?

    I once had a FF2 install that was relatively well KDE-integrated but that included quite a few more-or-less “dirty” hacks (and few to none that I’ve, so far, managed to replicate in FF3). Then again, at that time I considered FF to be the best. I don’t anymore so I haven’t bothered as much really – I basically only keep FF around for a site or two that won’t behave properly on anything but FF and/or IE (and no, faking the browser identity doesn’t work – at least not perfectly).

  12. “Is the same than QT demo browser… ¬¬, but with some custom mods.”

    Arora is the same as the Qt Demo Browser because Arora IS the Qt Demo Browser 😉

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s