Bare tuller. På internett er det alltid noe å klage på.
Med Firefox Quantum er klagen de jour at visse utvidelser ikke fungerer lenger. Tallrike høyprofilutvidelser, inkludert DownThemAll og Greasemonkey, jobber for øyeblikket ikke med Quantum. Andre, inkludert Firebug og ScrapBook, vil sannsynligvis aldri fungere igjen.
Dette er frustrerende hvis du er bruker av en av disse tjenestene, og du tror kanskje det er noe vilkårlig. Det er det ikke. Liker det eller ikke, følte Mozilla at de ikke hadde et valg, men å forlate det som kalles "eldre" tillegg for å kunne bevege seg fremover. Her er hvorfor.
Slik fungerer eldre Firefox-utvidelser
Hvis det gikk over hodet ditt, vet du bare dette: Firefox-utvidelser hadde en mer eller mindre total evne til å endre nettleseren din, og de gjorde de endringene direkte. Det var derfor disse utvidelsene var så kraftige: det var ikke et foreskrevet sett av ting de kunne og ikke kunne endre. Det er også derfor disse utvidelsene tendens til å bryte med nye Firefox-utgivelser.
Utvidelser for Chrome eller Safari fungerer ikke på denne måten. Disse nettleserne tilbyr utvidelsesutviklerne spesifikke APIer de kan bruke, noe som betyr at det er en liste over ting som utvidelser kan og ikke kan kontrollere. I to år har Firefox tilbudt en lignende API kalt WebExtensions, som den har oppmuntret utviklere til å adoptere.
Tradisjonelle utvidelser gjort forbedring av Firefox vanskelig
Firefox-brukere, uten å vite at utvidelsene forårsaket problemet, antar at den nye Firefox-versjonen er buggy, og fra deres perspektiv var det. Firefox-teamet vil gjøre sitt beste for å sikre at populære utvidelser virket før du trykker på en ny versjon, men det er lett å forestille seg alt dette reduserer utviklingen.
WebExtensions API gjør alt dette enklere ved å spesifikt definere hvilke utvidelser som kan gjøres og hvordan de kan gjøre det. Dette betyr at utviklere bare trenger å sikre at API-en fungerer som den skal, og ikke bekymre deg for at en ytelsesjustering eller brukergrensesnittendring vil ødelegge bestemte utvidelser. Resultatet skulle være færre utvidelser som bryter i det lange løp, men for å gjøre dette mulig, trengte Mozilla å forlate det gamle utvidelsesøkosystemet.
Endringen gjør også noen av Quantams beste funksjoner mulig. Multi-prosessegenskapen, for eksempel, er en stor del av Firefox Quantams fartforbedring. Fire separate prosesser håndterer Firefox grensesnitt og faner, noe som betyr at Firefox kan bruke alle fire kjernene til prosessoren din i stedet for bare en. Dette er en realitet som det tradisjonelle utvidelsesøkosystemet ikke ble bygget for, og det er vanskelig å forestille seg at det fungerer uten mange lag av abstraksjon som uunngåelig vil bremse ting ned. Mange kommende endringer i Firefox ble likevel holdt tilbake av legacy add-ons, noe som betyr at økosystemet måtte endre for at Firefox skulle utvikle seg.
Kryssplattformskompatibilitet var et problem
Jo, det er noen Firefox-utvidelser som du ikke kan komme inn i Chrome, men Chrome har det største økosystemet langt. Den nye WebExtensions API vil ikke fikse dette over natten, men det gjør det mye enklere for Chrome-utvidelser å bli overført til Firefox fordi språket som brukes til å skrive utvidelser, er like stort for å gjøre overflaten overflødig. I mange tilfeller er det bare noen få tilpasninger som kreves for at en Chrome-utvidelse skal kunne kjøre i Firefox, noe som betyr at det ikke er grunn til at favoritt Chrome-utvidelser ikke kan komme til Firefox nå hvis du spør utvikleren pent nok. Dette burde føre til en oversvømmelse av nye utvidelser i et økosystem som helt ærlig kunne bruke det.
Firefox har allerede mistet brukerne
Noen kan hevde at Firefox vil miste brukere på grunn av ødelagte utvidelser, men det er verdt å merke seg at Firefox allerede mistet brukere til Chrome i en alarmerende hastighet, og har vært i mange år. Sammenligningshastighet og mangel på bestemte tilleggsprogrammer hjalp ikke på den fronten, og Firefox Quantum har som mål å fikse begge disse problemene.
Er det en sjanse for at dette vil komme tilbake? Sikker. Noen vil hoppe skipet til Chrome, og andre kan oppsøke gamle gafler som opprettholder det gamle utvidelsesøkosystemet. Men det er ikke som ting gikk bra før. Firefox trengte å utvikle seg for å være relevant, og slik bestemte de seg for å gjøre det.
Utviklere hadde tid til å bytte til den nye APIen
Noen brukere merker ikke at denne bryteren selv har skjedd, fordi utvidelsene de jobber med allerede bruker WebExtension API. Andre utvidelser har ikke byttet.
Dette kan skyldes at utvikleren forlot utvidelsen for lenge siden, eller har ikke lyst til å skrive på nytt for å bruke API. I noen tilfeller gir API ikke nok kontroll til å gjenopprette den opprinnelige utvidelsen, slik at utviklere forlater prosjektene sine. Og i mange tilfeller er konverteringen ganske enkelt ikke ferdig ennå.
Uansett er ikke utvidelsene bryte fordi Mozilla forandret noe plutselig. WebExtensions har vært en del av Firefox i to år, og fristen for oppdatering av utvidelser ble annonsert for et år siden:
By the end of 2017, and with the release of Firefox 57, we’ll move to WebExtensions exclusively, and will stop loading any other extension types on desktop.
Mangler du fortsatt en utvidelse du er avhengig av? Dette Google-dokumentet sporer flere populære utvidelser, og gir alternativer til flere vanlige. Denne listen er også nyttig.