Wat houdt Firefox’ grootste update ooit in?

Screenshot_4

Het onfortuinlijke Internet Explorer lanceerde in 2008 de zogenaamde multi-processes. Tabs kregen elk een stukje RAM-geheugen en een eigen systeemproces waardoor je vlot van het ene tabblad naar het andere kon overschakelen tijdens het surfen. Amper zes maanden later nam ook Google Chrome de technologie over, en zelfs Safari volgde in 2011. Firefox was de enige volhouder van single-processes, tot nu dan toch.

ElektrolyseElectrolysis.svg

Multi-processes heeft ook zijn nadelen, dat melden ook Firefox-gebruikers. Een voorbeeld daarvan is RAM-managment.  In de praktijk zal je browser vaak zwaarder gaan doorwegen op je systeem vergeleken met single-processes. Internet Explorer was daar de vereenzelviging van, maar ook Google Chrome staat erom bekend om een ware ‘RAM-slokop’ te zijn.

Mozilla introduceert nu in zijn bètaversie van Firefox 48 de zogenaamde ‘Electrolyses’ (E10s). Een eigen benadering van multi-processes. Velen zullen die term in de eerste plaats met chemie associëren, en dat is ook precies waar hij vandaan komt. Chemici gebruiken elektrolyse om water te scheiden in zuurstof en waterstof, maar voor Firefox is het een manier om de activiteiten van tabbladen te scheiden van het hoofdproces.

Minimale toename RAM

Mozilla kiest hier voor een andere aanpak dan zijn concurrenten. Met E10s probeert het de kerk tussen multi-processes en single-processes ergens in het midden te houden door alle tabbladen op één enkel proces samen te laten draaien. Op die manier wordt het extra gebruik van RAM-geheugen beperkt. Mozilla wil kost wat kost vermijden dat zijn browser te zwaar zou worden. Het bedrijf merkt naar eigen zeggen dat er een RAM-toename is van 10 tot 20 procent.

Tests hebben uitgewezen dat Firefox met E10s actief op Windows en Ubuntu nog steeds de helft minder RAM gebruikt dan Chrome. Eric Rahm is een tester die al aan de slag ging met bètaversie 48: “Bij 8 content processen zien we hoogstens een verdubbeling van de hoeveelheid RAM-gebruik. Op Windows is het RAM-gebruik iets slechter, op iOS iets beter, maar het wordt tenminste niet 8 keer erger.”

Zandbak-veiligheid

Sandbox-2013

Naast de gehoopte prestatiewinst heeft Mozilla nog een belangrijk argument om de overstap naar multi-processes te maken. Met E10s wordt een vorm van sandboxing toegepast in de nieuwe versie van Firefox. Door de content uit tabs te scheiden van het hoofdproces, kan je beter vermijden dat schadelijke toepassingen van bepaalde websites hun weg vinden naar je computer.

Het komt er op neer dat door sandboxing de middelen waarmee een schadelijke website kan toeslaan op je PC ernstig beperkt. Websites die in een sandbox draaien krijgen dus een beperkte toegang tot de rest van je systeem. Mozilla wil zo voorkomen dat schadelijke toepassingen de volledige controle over Firefox zouden kunnen overnemen.

Slachtoffers

Screenshot_5Asa Dotzler, software-ontwikkelaar bij Firefox, praat over de nieuwe bètaversie op zijn blog: “Dit is de grootste verandering die Firefox ooit heeft gezien. We hopen dat jullie [gebruikers van de bètaversie van Firefox] ons helpen met het geven van feedback, en dat de update wordt doorgevoerd met zo min mogelijk verrassingen.”

Hoewel het geen verrassing is, blijkt toch dat de update grote slachtoffers eist wat add-ons betreft. Momenteel werken 7 van de 12 populairste Firefox-extensies niet met versie 48. Door E10s moeten ontwikkelaars van de add-ons de software aanpassen aan multi-processes. De compatibiliteit van verschillende add-ons wordt nu volop onder de loep genomen. Wie wil kijken of zijn extensies onder de slachtoffers vallen kan hier terecht.

De definitieve update naar versie 48 staat voorlopig gepland op 2 augustus. Tot dan kunnen bèta-testers nog volop feedback geven op de update. Wie zelf met de bètaversie aan de slag wil, kan hier terecht. Daarna zullen benchmarks van de definitieve Firefox-versie uitwijzen of Firefox effectief sneller zal werken door multi-processes.