Det här är varför Firefox är fortfarande år bakom Google Chrome
Firefox har ett problem. Det har fallit bakom, med utveckling stalled på de mest avgörande, svåraste problemen. Många av de viktigaste förbättringarna i Firefox under de senaste åren har helt enkelt kopierat ändringar gjorda i Chrome.
Vi önskar att Firefox var bättre, men verkligheten är att den fortfarande inte är lika bra som Chrome. Med så många tidigare Firefox-utvecklare som nu arbetar på Chrome på Google kanske det är vettigt att innovationen har hänt i Chrome, inte Firefox.
Ingen flerprocessarkitektur
CPU: erna får allt mer kärnor, blir kapabla att göra mer arbete parallellt. Enstaka CPU-enheter har blivit oerhörda, och även de lägsta kraftdatorerna har minst dubbla kärnprocessorer. Framtiden är en ständigt ökande mängd CPU-kärnor, och dataprogrammen måste kunna göra mer arbete parallellt för att utnyttja all denna processorkraft.
Chrome hanterar detta genom att ha en multi-process arkitektur. Varje webbplats som du har öppen körs i sin egen process. Bakgrundsprocesser, som tillägg och appar som gör arbete i bakgrunden, går i sin egen process. Pluginprogram för webbläsare kör också i sin egen process. Kritiskt kör Chrome användargränssnitt i sin egen process också.
Om du har en modern multi-core CPU, kommer Chrome att använda den intelligent och fungera bra och dela upp arbetet mellan processorer. Det kan göra många saker på en gång och Chrome-gränssnittet bör aldrig stampa och hicka som sidor laddas i bakgrunden.
Firefox är en annan sak. Firefox använder en process med en process, även om plugins nu körs i en separat process. Om du öppnar fem webbläsarflikar måste den huvudsakliga Firefox-processen ladda och göra dem samt hantera Firefox-användargränssnittet, så webbläsaren kommer inte att vara nära så responsiv som Chrome. Om en av sidorna kraschar kommer den att ta hela webbläsaren ner med den.
Det här är fortfarande extremt märkbart - på en kraftfull Intel Core i7 CPU utför Chrome helt perfekt Firefox-gränssnittsstödare och saktar ner när flera sidor laddas, åtminstone i min erfarenhet. Det är bara inte så smidigt, och det är på grund av Firefox daterad arkitektur.
Mozilla arbetade på en lösning för detta. Det kallades elektrolys, utvecklingen inleddes 2009, och det var ett projekt att göra Firefox till en riktig flervärdig webbläsare. Elektrolysen "sattes i väntan för överskådlig framtid" 2011, med Mozilla att "Elektrolys är ett stort företag" och att de skulle driva "ett antal mindre initiativ" för att förbättra webbläsarens responsivitet på kort sikt.
Mozilla startade omedelbart elektrolysprojektet i maj 2013, så om vi har tur kan vi se en multi-process Firefox vid någon tidpunkt. Även Internet Explorer har flera processfunktioner från Internet Explorer 8, så Firefox är långt efter - och just nu börjar det hårda arbetet att fånga upp efter att ha stoppat projektet 2011.
År bakom Chrome: 4,7 och räkning
Firefox använder inte en säkerhets Sandbox
Chrome och Internet Explorer använder en modern Windows-funktion som kallas "low integrity mode" eller "protected mode" för att köra webbläsarprocesser med så få användarbehörigheter som möjligt. Om en sårbarhet för webbläsare upptäcktes och utnyttjades i Chrome eller IE, skulle exploatören också behöva använda någon form av ytterligare sårbarhet för att undkomma säkerhetssandboxen och få tillgång till resten av systemet.
Den här funktionen har funnits sedan Windows Vista, som släpptes för över sex år sedan. Mozilla arbetar dock fortfarande med funktionen "Low Rights Firefox" och det finns ingen tidsram för när sandboxningsfunktioner kommer att rulla ut till användarna. Sandboxing är inte en bot-allt, men det är en viktig säkerhetsfunktion som finns i andra moderna webbläsare.
Kommentarer till Firefox's buggtracker indikerar att utvecklare kommer att titta på sandboxing Windows 8 Modern Firefox-appen, Firefox OS och experimentell Servo-webbläsare på OS X. Det finns ingen indikation på att någon arbetar med att sandboxa Windows desktop-versionen av Firefox för tillfället. Det är tydligen den mest populära, mest sårbara versionen av Firefox som behöver mest skyddande.
År bakom Chrome: 4,7 och räkning
Firefox vill ha en stationär webbappbutik
Mozilla är övertygad om att webbapps och webbteknik kommer att ersätta behovet av stationär programvara och inbyggda mobilappar, som erbjuder en plattformsframtid där HTML5-program körs på varje plattform.
För detta ändamål vill Mozilla skapa sin egen webbappbutik, känd som Firefox Marketplace. Den här funktionen är tillgänglig i Firefox för Android och kommer att ingå i Firefox OS. Firefox OS är i sig ett mobilt operativsystem som startar flera år efter att det borde ha - senare än även Microsofts Windows Phone och BlackBerrys BlackBerry 10, två mobila operativsystem som har en lång uppåtgående kamp framför dem eftersom de lanserades så sent.
Du kan dock bara använda Firefox Marketplace på Firefox för Android för tillfället. Mozilla har pratat om att ha släppt en Firefox Marketplace för skrivbordet i flera år, men de har bestämt sig för att fokusera endast på mobil för nu. Desktop Firefox Marketplace kommer att släppas i framtiden. Under tiden har Chrome haft Chrome Web Store i många år. Nya Chrome-packade appar kommer snart att utvidga funktionaliteten i Chrome-webapps, vilket gör mer av ett stänk.
Mozilla vill driva webbapps och öppna webbteknologi på skrivbordet, men de gör inte det - Google är.
År bakom Chrome: 2,5 och räkning
Exempel på Firefox-lagring bakom Chrome
Firefox har fastnat på många sätt genom åren, men många av dess ändringar har helt enkelt kopierat hur Google Chrome fungerar:
- Multi-Window Private Browsing: Firefox har nyligen fått möjlighet att öppna ett privatfönstervindue tillsammans med ett vanligt webbläsarfönster, en mycket önskad funktion som har funnits i Chrome sedan början.
- Frekventa uppdateringar: Efter att Chrome lanserades flyttade Firefox till ett mer frekvent utgåva schema, som Chrome.
- Extensions som kan hantera webbläsaruppgraderingar: Firefox måste sedan jobba med att uppdatera dess utvidgnings API, så att tillägg kan installeras utan att starta om och fungera sömlöst utan att bryta sig efter uppdateringar av webbläsarversionen - precis som hur de arbetade på Chrome.
- PDF Viewer: Firefox har nyligen fått en integrerad PDF-tittare, långt efter en sådan funktion lanserades i Chrome.
- Användargränssnitt: Alla webbläsare har följt Chromes ledning när de växlar till ett mer minimalt webbläsarfönster, inklusive Firefox. Nyare UI-mockups föreslår att ännu mer Chrome-liknande gränssnitt kan vara i Firefox-framtid.
- Pro-pluggar utan process: Medan Firefox inte har ordentliga flerprocessfunktioner som Chrome har den lagt till en funktion som tillåter plugin-program som Flash att köra i sin egen process så att de inte kraschar resten av webbläsaren.
- JavaScript-prestanda: Som alla andra webbläsare drevs Firefox för att dramatiskt förbättra dess JavaScript-prestanda efter att Chrome visade sig ha en enorm ledning i JavaScript-prestanda över alla.
Tagen som helhet är det tydligt att Chrome har ledt paketet i webbläsarinnovation i flera år.
Vi önskar att Firefox var bättre
Vi försöker inte bara attackera Firefox här. Det var en gång den bästa webbläsaren, och Mozilla förtjänar kredit för att äta i Internet Explorer 6: s marknadsandel, vilket visar att Microsoft kunde förlora sin plats och tvinga dem att starta om sin stoppade Internet Explorer-utveckling. De förtjänar också kredit för att göra webben mer standardiserad, vilket eliminerar webbplatser som säger att de är "Designed for Internet Explorer". Det har gjort det möjligt för andra webbläsare att gå in - de mest populära är Chrome och Safari. Firefox lagde grunden, och Mozilla har varit en outtröttlig fighter för öppna standarder.
Det är bra för webben att ha Mozilla som en webbläsare som inte är knuten till ett enda stort företag, eftersom Microsoft, Google och Apple äger de andra översta webbläsarna. Att vi har en webbläsare med öppen källkod skapad av en ideell organisation som bara vill göra webben bättre är bra för webben.
Det är därför synd att Mozilla har tillåtit Firefox att falla så långt bakom. Att stoppa utvecklingen på elektrolys och fortfarande inte har implementerat sandboxningssäkerhetsfunktioner är tecken på att Mozilla inte har varit beredd att knock-down och göra det riktigt svåra arbetet på låg nivå för att förbättra Firefox prestanda och säkerhet. Många av de andra ändringar som de har gjort har imitat förändringar som gjorts i Chrome mycket tidigare.
Firefox är fortfarande den bästa webbläsaren på vissa sätt. Till exempel, om du behöver den kraftfullaste gränssnittsramen för webbläsare, har Firefox den. Men vi önskar att Firefox var mer konkurrenskraftigt på andra sätt. I 2013 bör en webbläsare vara en multi-process applikation med korrekt säkerhets sandboxing. Men Firefox är inte - det har faktiskt fallit bakom Internet Explorer när det gäller dessa två viktiga funktioner.
Det var en gång en kraftfull webbläsare som kallades Mozilla-sviten. Det var för stort och uppblåst för sig själv, så en grupp utvecklare bestämde sig för att skapa en ny, minimal webbläsare från sin kärnteknologi. De kallade det Phoenix, och det utvecklades till Firefox vi känner idag. Om Mozilla inte kan aktivera Firefox till en modern webbläsare på grund av att alla arvskoder kommer i vägen, kanske vi behöver en Phoenix 2.0.
Bildkrediter: Régis Leroy på Flickr