Jolla has released their Sialfish browser as open source, so it seems like a good moment to dive into the lower levels of their Gecko-based browser.
In this post I’d like to shade some light on what technology is used in the browser application for Sailfish OS.
By now it’s a widely known fact that the browser is based on the Gecko engine which is developed by Mozilla corp. and is used in their Firefox browser and Firefox OS. For some reason it’s not that known that the Sailfish browser is built upon the EmbedLite embedding API (also known as IPCLiteAPI) for Gecko.
This embedding API started as a research project in Nokia by Oleg Romashin and Andrey Petrov at the times when Nokia was still developing the Maemo platform. Currently the project is maintained by Tatiana Meshkova.
Kudos to Romaxa (Oleg Romashin) and others for doing this great work. I hope Mozilla will mainline it eventually. It’s a pity Qt Firefox didn’t get much traction though. Romaxa worked on that in the past as well.
As always, it’s wonderful to see Gecko used elsewhere other than Firefox.
WebKit being everywhere is almost as bad for the web as IE everywhere.
I want to add that, besides the wonderful Firefox browser, the coolest thing to use Gecko/XULrunner is probably the Nightingale music app.
Edited 2014-02-12 20:39 UTC
Actually it is worse than IE. At least with IE we could count on how many versions we had to support.
With Webkit, everyone is using a slightly different build with its own set of quirks.
Did they ever fix the “its all a single thread” problem with Gecko?
Because I used FF before it was even called FF (And Moz Suite before that) but what finally got me to switch to a Chromium based browser (Comodo Dragon, all the speed plus extra security features minus the “phone home to Google” junk) was the fact that a single misbehaving tab could jam up the browser, even cause it to crash.
So I’m curious to know if they ever fixed that as I do keep a Gecko based browser as a spare (Pale Moon, should probably switch to IceDragon but I don’t use the Gecko browser enough to bother) although sadly I couldn’t in good conscience go back due to the fact that 7 years in and Moz STILL refuses to support low rights mode, even though that one feature would make most malware drivebys a thing of the past.
Its a shame as I do miss NoScript but low rights mode is just so much more secure it isn’t even funny. I even took a box I was setting up at the shop and browsed topsites until I got the nasty “FBI Malware” infection, with Dragon? Simply hitting the reset switch killed the bug, with Firefox? Thanks to FF running at the same permissions as the user the bug overwrote the boot sector and pwned the system. After that little test I just can’t give anything Gecko based to customers, its just too risky.
Firefox has been multithreaded for a long time – you’re confusing that with Chrome running each page in a separate process, which Firefox does not do.
It is thoroughly multithreaded though – right now, on my system, with 12 tabs open, Firefox has about 40 threads going.
Sadly, the UI does occasionally lock up for brief moments, but I prefer that to the general instability I’ve always experienced with Chrome – tabs crashing left and right, extensions not working in a consistent manner. Firefox rarely crashes on me. Flash crashes, but Firefox does keep plugins in a separate process, so if that happens, a reload of the page is all that’s necessary.
It appears Firefox still wont’ run in low privilege mode on Windows, but I have to ask you – why did your customer’s user account have write privileges to the boot sector? Even Chrome isn’t hackproof.
See https://wiki.mozilla.org/Platform/GFX/OffMainThreadCompositing
What’s a “Sialfish”?
Maybe a fish living inside the continental crust? (called sial)
Or just a typo.. but I hope it’s a real fish..
I’ve never seen a Qt + Gecko browser. It’s always Qt + WebKit or GTK + Gecko.
Looking forward to trying it out someday, once it makes it into the package repositories.
Shows how much of of the Nokia Maemo effort lives on in Sailfish.
Now, if a keyboard “other half” was to materialize…