7 Reaktionen

Vorschau auf New Tab Override 7.0 (WebExtension)

Geschätzte Lesedauer:

New Tab Override ist meine Lösung zum Ersetzen der Seite, welche beim Öffnen eines neuen Tabs in Firefox erscheint. Bei mittlerweile um die 120.000 Nutzern stellt sich natürlich die Frage: wird es eine WebExtension geben, welche auch mit Firefox 57 und höher kompatibel sein wird? Die Antwort ist: Ja. Und mit diesem Artikel möchte ich eine erste Vorschau geben, welche zeigt, dass sich New Tab Override auch in Zukunft nicht auf das absolute Minimum beschränkt, sondern weiter denkt. Diese Vorschau gibt einen Einblick auf die Nutzung des neuen Berechtigungs-Systems von Firefox, welches dem Nutzer die volle Kontrolle gibt.

Was ist New Tab Override?

Seit Firefox 41 ist es nicht länger möglich, die Seite anzupassen, welche beim Öffnen eines neuen Tabs erscheint, indem die Einstellung browser.newtab.url über about:config verändert wird. Da diese Einstellung – wie leider viele gute Dinge – in der Vergangenheit von Hijackern missbraucht worden ist, hatte sich Mozilla dazu entschieden, diese Einstellung aus dem Firefox-Core zu entfernen. Glücklicherweise hat Mozilla nicht einfach nur die Einstellung entfernt, sondern gleichzeitig auch eine neue API bereitgestellt, welche es Entwicklern von Add-ons erlaubt, diese Funktionalität in Form eines Add-ons zurück in Firefox zu bringen. New Tab Override war das erste Add-on, welches diese Möglichkeit zurückgebracht hat, und ist damit das Original. Mittlerweile hat New Tab Override um die 120.000 Nutzer und wurde im Dezember 2016 sogar auf dem offiziellen Mozilla-Blog vorgestellt.

Download New Tab Override für Firefox

Firefox 57: nur noch WebExtensions erlaubt

Im November dieses Jahres wird Mozilla Firefox 57 veröffentlichen und damit wird Firefox nur noch WebExtensions erlauben. Da New Tab Overrride derzeit noch eine SDK-basierte Erweiterung ist, ist New Tab Override in seiner jetzigen Form auch nicht kompatibel mit Firefox 57 und höher.

New Tab Override als WebExtension, Entwicklung auf GitHub

Die gute Nachricht: ja, eine WebExtension-Version ist bereits in Arbeit. Die WebExtension wird mindestens Firefox 55 voraussetzen, also nicht kompatibel mit Firefox ESR 52 sein. Updates für ältere Firefox-Versionen waren von meiner Seite aus aber sowieso keine mehr geplant.

Die Entwicklung wurde umgezogen und findet nun auf GitHub statt. Damit sind auch andere Entwickler und Übersetzer herzlich eingeladen, sich zu beteiligen, um New Tab Override noch besser zu machen. Dies wird in Zukunft auch der Ort sein, an dem Nutzer Fehler melden können – nur bitte nicht mehr für die aktuelle Version 6.0, denn Version 6.0 ist abgeschlossen und wird keine weiteren Updates mehr erhalten. New Tab Override 7.0 ist eine komplette Neuentwicklung.

Feature-Vorschau: Berechtigungs-System

Eine der großartigen Neuerungen von Mozillas neuem Erweiterungs-Standard der WebExtensions ist das Berechtigungs-System. New Tab Override 7.0 wird davon in idealer Weise Gebrauch machen.

Eine Option von New Tab Override ist es, beim Öffnen eines neuen Tabs automatisch die neusten Nachrichten aus der Welt rund um Mozilla anzuzeigen. Diese News kommen, naheliegenderweise, von diesem Blog.

Zugegeben, diese Option nutzen nur die wenigsten meiner Nutzer. Typischerweise wird die Lieblings-Suchmaschine oder eine andere Webseite als neuer Tab genutzt. Da das Auslesen des Feeds eine Berechtigung erfordert, könnte New Tab Override diese Berechtigung direkt bei der Installation verlangen, womit die Erweiterung die Erlaubnis hätte, jederzeit ungefragt Daten von meinem Blog zu laden. Das hat New Tab Override nie getan, vor den WebExtensions hätten Firefox-Erweiterungen das aber heimlich tun können und dafür keine Erlaubnis benötigt!

Sollte New Tab Override also diese Berechtigung von jedem Nutzer der Erweiterung verlangen, obwohl nur ein Bruchteil diese Funktion überhaupt nutzt?

Ich denke: Nein! Darum können Nutzer, welche dieses Feature nutzen möchten, nach der Installation von New Tab Override die Erlaubnis dafür explizit gewähren.

New Tab Override 7.0 Vorschau

Noch besser: wurde die Berechtigung einmal erteilt, kann diese jederzeit über die Einstellungen von New Tab Override wieder entzogen werden. So behält der Nutzer die volle Kontrolle! Wurde beispielsweise die Feed-Funktion einmal getestet und für nicht sinnvoll befunden, einfach die Erlaubnis wieder entziehen und damit der Erweiterung die Möglichkeit nehmen, heimlich etwas zu tun, was sie sowieso nicht tut – aber wir alle wissen: Vertrauen ist gut, Kontrolle (haben) noch besser. Und dafür investiere ich gerne zusätzlichen Aufwand in die Entwicklung.

New Tab Override 7.0 Vorschau

Erscheinungs-Termin New Tab Override 7.0

New Tab Override 7.0 wird im August erscheinen und automatisch per Update an alle bestehenden Nutzer verteilt werden. Informationen zum vollständigen Funktionsumfang von New Tab Override 7.0 werden mit der Veröffentlichung bekannt gegeben.

Dieser Artikel wurde von Sören Hentzschel verfasst.

Sören Hentzschel ist Webentwickler und Mozilla Repräsentant (Alumnus). Neben diesem Mozilla-Blog betreibt er unter anderem noch firefoxosdevices.org sowie das Fußball-Portal Soccer-Zone und ist außerdem Administrator des deutschsprachigen Firefox Hilfeforums Camp Firefox.

7 Kommentare - bis jetzt!

Eigenen Kommentar verfassen
  1. Harals
    schrieb am :

    Hallo Sören, vielen Dank für deine Mühe.

    Ich hätte selbst einige Ideen für Browser Erweiterungen, jedoch habe ich überhaupt keine Erfahrung damit. Ich kenne mich mit C++ aus und von QT auch etwas über Javascript. Was würdest du empfehlen, womit man am besten anfängt, wenn man Erweiterungen programmieren will. Was muss man dafür alles können?

    Hast du Tipps für Bücher / Tutorials?

  2. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Hallo,

    was Sprachwissen betrifft, für Firefox-Erweiterungen benötigst du nur eine Sprache, nämlich JavaScript.

    Lektüre zur Entwicklung sogenannter Firefox-Erweiterungen findest du in der offiziellen Dokumentation:
    https://developer.mozilla.org/de/Add-ons/WebExtensions

    Es gibt noch andere Erweiterungs-Architekturen, aber ab Firefox 57 werden nur noch WebExtensions unterstützt, das zu erlernen bringt also nicht.

    Du bist dadurch eingeschränkt, was WebExtensions erlauben und was nicht. Nicht alles, was früher mit alten Erweiterungs-Architekturen möglich war, ist jetzt noch möglich. Die Dokumentation sollte aber einen guten Überblick darüber geben, was geht und was nicht.

  3. Michael M.
    schrieb am :

    Ich will dir ja nicht dein schönes Beispiel kaputtmachen, aber in diesem speziellen Fall könnte auch deine WebExtension ungefragt Daten von deinem Blog laden. Die explizite Berechtigung ist nur nötig, wenn die Seite, die man abfragen möchte, keinen (oder keinen passenden) CORS-Header setzt. Bei deiner eigenen Seite kannst du natürlich so einen Header hinzufügen, ohne dass das jemand mitbekommt und damit auch ohne erteilte Berechtigung aus der WebExtension heraus darauf zugreifen. Tatsächlich ginge das auch bei fremden Seiten, wenn man auf die Seite nicht direkt, sondern über einen CORS-Proxy zugreift.

  4. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Mein Beispiel passt schon so. Die Erweiterung kann das nur mit einer entsprechenden Berechtigung machen. Ansonsten hätte ich das Beispiel nicht gewählt, wenn das Beispiel falsch wäre. Ich bin ja nicht doof und reduziere die Sicherheit, indem ich CORS für jedermann außer Kraft setze. Eine Firefox-Erweiterung ist keine Webseite, ergo kann ich auch nicht nur für eine bestimmte Webseite CORS außer Kraft setzen, ich müsste komplett öffnen. Und das ist keine Option. Genauso ist klar, dass ein Proxy keine Option ist, wenn es darum geht, keine ungefrage Kommunikation aufzubauen.

    Der Punkt in der Feature-Vorstellung ist der Folgende: New Tab Override verlangt nur die Rechte, die es benötigt. Ich könnte auch einfach von jedem Nutzer die Berechtigung verlangen, das hätte einige Arbeit gespart, welche das Umsetzen einer optionalen Berechtigung mit guter User Experience nun einmal erfordert hat.

    Insofern hast du mein Beispiel nicht kaputt gemacht, denn das Beispiel beschreibt genau das, was ich ausdrücken wollte. Das, wovon ich sagte, dass es ohne Berechtigung nicht möglich ist, ist ohne die Berechtigung nicht möglich.

  5. hihi
    schrieb am :

    Hey Sören,

    habe mal eben eine Frage, einen Verbesserungsvorachlag und eine Danksagung für dich.?

    1. Weißt du schon irgendwas darüber, wie es mit Projekt Mortar weitergeht? Hab lange nichts mehr davon gehört.

    2. Auf der Seite "Über Sören Hentzschel" hat sich bei den Abschnitt über Fußball ein kleiner Fehler eingeschlichen:

    …, dass ein anderes von mir bereits 2007 gegründete[s] Projekt ein Fußballportal mit eigener Online-Simulation ist, …

    3. Danke für die immer aktuellen und qualitativ hochwertigen Artikel. Hoffe, du kannst damit noch lange weiter machen.?

  6. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Hi,

    1. Weißt du schon irgendwas darüber, wie es mit Projekt Mortar weitergeht? Hab lange nichts mehr davon gehört.

    Bezüglicher Pepper-Flash weiß ich nicht, PDFium als PDF-Betrachter befindet sich nach wie vor in aktiver Entwicklung.

    2. Auf der Seite "Über Sören Hentzschel" hat sich bei den Abschnitt über Fußball ein kleiner Fehler eingeschlichen

    Danke, werde ich korrigieren. 😉

    3. Danke für die immer aktuellen und qualitativ hochwertigen Artikel. Hoffe, du kannst damit noch lange weiter machen.?

    Vielen Dank! Ja, das hoffe ich auch. 😀

  7. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Bezüglicher Pepper-Flash weiß ich nicht, PDFium als PDF-Betrachter befindet sich nach wie vor in aktiver Entwicklung.

    Pepper-Flash ist kein Thema mehr.

Und jetzt du! Deine Meinung?

Erforderliche Felder sind mit einem Asterisk (*) gekennzeichnet. Die E-Mail-Adresse wird nicht veröffentlicht.