How To: SDK-Erweiterungen ohne Add-on Builder erstellen

Der Add-on Builder war ein Online-Tool zum Erstellen von Firefox Add-ons direkt im Browser. Mozilla hat diesen vor wenigen Tagen eingestellt, so dass man nun anders vorgehen muss, um SDK-basierte Add-ons für Firefox zu erstellen. Dieses Tutorial erklärt das Vorgehen.

Mozilla hat den Add-on Builder am 7. Januar eingestellt, auf dem Add-on SDK basierende Add-ons können damit also nicht länger erstellt werden. Der Weg über die Kommandozeile ist aber sowieso vorzuziehen, da nur so alle Möglichkeiten des SDKs genutzt werden können.

Zunächst müssen die Systemvoraussetzungen erfüllt werden. Neben einer aktuellen Firefox-Version ist das Python, und zwar in Version 2.x, Python 3.x wird vom Add-on SDK nicht unterstützt. Als nächstes wird die aktuellste Version des Add-on SDKs benötigt, dieses kann über diesen Link heruntergeladen werden. Das Archiv muss entpackt werden, anschließend erfüllen wir alle Voraussetzungen zur Entwicklung. Ich empfehle, in diesem Verzeichnis einen weiteren Ordner für die Add-ons zu erstellen, zum Beispiel /addons/.

Um das Grundgerüst für ein neues Add-on zu erstellen, benötigen wir die Kommandozeile unseres Betriebssystems. Mit dieser navigieren wir in das Verzeichnis mit dem heruntergeladenen SDK und geben Folgendes ein:

Mac OS X / Linux:

source bin/activate

Windows:

bin\activate

Anschließend gehen wir in unser Add-on-Verzeichnis und erstellen dort ein Verzeichnis für unsere Erweiterung, zum Beispiel /testaddon/. In diesem Verzeichnis führen wir das Kommando cfx init aus – cfx ist das Werkzeug mit den Kommandos für das SDK:

cd addons
mkdir testaddon
cd testaddon
cfx init

Damit wird die Verzeichnis- und Dateistruktur für das Add-on angelegt. Im /lib/-Verzeichnis befindet sich die Datei main.js, die wir wie gewohnt bearbeiten können. Dateien, welche vorher über den Add-on-Builder hochgeladen wurden, kommen in das /data/-Verzeichnis. Außerdem gibt es ein /doc/-Verzeichnis, in welches Dokumentation abgelegt werden kann, sowie ein /test/-Verzeichnis für Unit-Tests, welche über das cfx test-Kommando ausgeführt werden können. Auch eine Readme-Datei wird generiert.

Wir können Änderungen jederzeit testen, indem wir das Kommando cfx run benutzen. Dieses öffnet eine Firefox-Instanz mit temporärem und sauberem Profil, in welcher das Add-on bereits installiert ist:

cfx run

Sind wir mit dem Add-on schließlich fertig und wollen eine fertige XPI-Datei packen, die wir beispielsweise auf addons.mozilla.org hochladen können, führen wir folgendes Kommando aus:

cfx xpi

Hinweis: Das erste Ausführen von cfx run oder cfx xpi wird nicht funktionieren:

No ‘id’ in package.json: creating a new ID for you.
package.json modified: please re-run ‘cfx run’

Bevor wir jedoch die XPI-Datei durch erneutes Ausführen wirklich erstellen werden, öffnen wir nun erst einmal die Datei package.json und füllen ein paar Meta-Angaben zum Add-on wie den Entwickler, den Titel, die Versionsangabe oder auch die Beschreibung aus. Außerdem empfehle ich das Ersetzen der ID durch etwas Menschen-lesbares. Die ID sollte das Format einer E-Mail-Adresse haben, wobei es sich dabei um keine real existierende E-Mail-Adresse handeln muss. Der Bezeichner muss allerdings einzigartig sein – es kann nur ein Add-on mit demselben Bezeichner geben. Und auch ein nachträgliches Ändern der ID von Add-ons, welche auf addons.mozilla.org gehostet werden, ist nicht möglich.

Abschließend führen wir also noch einmal cfx xpi aus und sind fertig.

cfx xpi

Diese Methode hat wie eingangs erwähnt Vorteile gegenüber der Erstellung mit dem Add-on Builder (welcher nun sowieso nicht mehr genutzt werden kann). So waren lokalisierte Erweiterungen über den Add-on Builder gar nicht möglich. Außerdem werden auf diesem Weg erstellte Erweiterungen standardmäßig (seit SDK-Version 1.15) ohne die APIs ausgeliefert, die sowieso in Firefox integriert sind. Damit ist die Dateigröße der erstellten Add-ons um ein Vielfaches kleiner als wenn das Add-on über den Add-on Builder erstellt worden wäre, welcher nur bis Version 1.14 des SDKs unterstützt hat. Diese Version konnte optional zwar auch Add-ons ohne mitgelieferte APIs erstellen, diese Einstellung konnte allerdings nicht über den Add-on Builder vorgenommen werden.

Die Dokumentation des Add-on SDKs befindet sich nun außerdem nicht länger auf addons.mozilla.org, sondern auf developer.mozilla.org. Eine vollständige Dokumentation des cfx-Werkzeuges inklusive aller Parameter findet sich hier.

Movistar Uruguay: Firefox OS macht 30% der Weihnachtsverkäufe aus

Firefox OS ist vor allem in Südamerika ein Erfolg. Die neusten Zahlen kommen aus Uruguay, wo Movistar den Ausverkauf des Alcatel One Touch Fire meldet. Dieses hat 30% der Smartphone-Verkäufe der Telefónica-Marke im Weihnachtsgeschäft ausgemacht.

Firefox OS ist ausverkauft in Uruguay; seit dem 29. Oktober 2013 verkauft Movistar das Alcatel One Touch Fire dort. Am Weihnachtsgeschäft von Movistar hatte das  Mozilla-Smartphone einen Anteil von 30 Prozent. Aufgrund des Erfolgs wird Movistar Uruguay das Angebot erweitern und neben dem Alcatel One Touch Fire auch noch die beiden Firefox OS-Smartphones LG Fireweb und ZTE Open ins Angebot aufnehmen.

CES 2014: Firefox OS Referenz-Tablets von Foxconn für Entwickler (Spezifikationen)

Derzeit findet in Las Vegas die Consumer Electronics Show (CES) statt. Im Rahmen dieses Events gibt es auch neue Ankündigungen aus dem Hause Mozilla. So auch zu einem Referenz-Tablet von Foxconn, welches Entwickler, Übersetzer und Tester im Rahmen eines Beteiligungsprogramms erhalten können.

Mozilla wird in Kürze ein Beteiligungsprogramm starten, welches Entwicklern, Übersetzern und Testern, die zur Tablet-Version von Firefox OS beitragen, Zugang zu entsprechender Hardware geben wird. Dazu arbeitet Mozilla mit Foxconn zusammen, welche ein Referenz-Tablet gefertigt haben. Die Spezifikationen des Referenz-Gerätes sind ein 10” großer Bildschirm mit einer Auflösung von 1.280×800 Pixeln (24 Bit), 2 GB RAM, 16 GB Flash-Speicher und WLAN 802.11 b/g/n. Das Gerät misst 267x171x9.7 mm, das Gewicht beträgt 580 Gramm. Informationen zur CPU wurden nicht genannt.

CES 2014: VIA stellt zwei Einplatinenrechner mit Firefox OS vor

Derzeit findet in Las Vegas die Consumer Electronics Show (CES) statt. Im Rahmen dieses Events gibt es auch neue Ankündigungen aus dem Hause Mozilla. Eine Ankündigung kommt von VIA. Diese stellen zwei Einplatinenrechner vor.

Der vor allem durch die Produktion von Chipsätzen bekannte Hersteller VIA Technologies hat auf der CES 2014 zwei Einplatinen-Rechner mit Firefox OS vorgestellt. Während das APC Rock ein reines Mainboard ist, kommt das APC Paper in einem Gehäuse aus Recycling-Papier daher und sieht aus wie ein Buch. Ansonsten unterscheiden sich beide Modelle nicht stark voneinander.

Das APC Rock und das APC Paper besitzen eine ARM Cortex A9-CPU von VIA mit 800 MHz, 512 MB DDR3-RAM, 4 GB NAND-Flash-Speicher und Schnittstellen für Ethernet, HDMI, Micro-USB, USB 2.0 (2x), einen kombinierten Kopfhörer- und Mikrofonanschluss sowie einen Karteneinschub für MicroSD-Karten. Der interne Grafikchip unterstützt Auflösungen bis 720p. Das APC Rock bietet zusätzlich noch einen VGA-Ausgang und kostet 59 USD, das APC Paper kostet 99 USD. Wer eines der von VIA gelisteten Probleme löst, erhält das Gerät kostenlos. Tastatur und Bildschirm angeschlossen erhält man so einen vollwertigen Computer mit geringem Stromverbrauch für wenig Geld.

CES 2014: ZTE bringt zwei neue Smartphones mit Firefox OS auf den Markt

Derzeit findet in Las Vegas die Consumer Electronics Show (CES) statt. Im Rahmen dieses Events gibt es auch neue Ankündigungen aus dem Hause Mozilla. ZTE hat gleich zwei neue Smartphones mit Firefox OS angekündigt.

ZTE war der erste Hersteller neben TCE Alcatel mit einem Firefox OS-Smartphone im Portfolio. Das ZTE Open wird nicht nur über Telefónica in diversen Märkten vertrieben, sondern konnte eine Zeit lang auch über die offiziellen eBay-Shops von ZTE in Großbritannien und den USA erworben werden und hat nach Angaben von Mozilla die Erwartungen übertroffen.

Auf der CES 2014 hat ZTE nun gleich zwei weitere Smartphones mit Firefox OS angekündigt. Genaue Spezifikationen sind zu diesem Zeitpunkt noch nicht bekannt, lediglich die Namen ZTE Open C und ZTE Open II, außerdem dass es sich dabei um leistungsstärkere Geräte mit Dual Core-CPU handeln soll.

CES 2014: Panasonic bringt Firefox OS auf Smart TV

Derzeit findet in Las Vegas die Consumer Electronics Show (CES) statt. Im Rahmen dieses Events gibt es auch neue Ankündigungen aus dem Hause Mozilla. Panasonic will noch in diesem Jahr Smart TVs mit Firefox OS auf den Markt bringen.

Firefox OS zielt nicht nur auf Smartphones und Tablets ab. Im Rahmen der CES 2014 haben Panasonic und Mozilla Smart TVs mit Firefox OS angekündigt. Durch die Verwendung von Firefox OS kann auch auf TV-Geräten von Mozillas Web-APIs für Mobilgeräte Gebrauch gemacht werden. So werden die Menüs und Programmführer (EPG) beispielsweise in HTML5 entwickelt, was es für Entwickler einfach machen soll, Anwendungen für das Smartphone oder Tablet zu entwickeln, welche den Fernseher steuern. Über Web Services wird es möglich sein, die Benutzeroberfläche des Smart TVs zu personalisieren.

Firefox für Windows 8 Modern UI verpasst den Zug erneut

Mozilla arbeitet an einem speziellen Modus von Firefox für die Modern UI-Oberfläche von Windows 8, auch bekannt als Metro. Die Entwicklung hiervon zeigt sich als sehr zeitintensiv. Der angepeilte Release-Termin wurde erneut nach hinten verschoben.

Nach mehreren Verschiebungen hatte Mozilla zuletzt Firefox 27 als Version angestrebt, welche die Modern UI-Oberfläche für Windows 8 beinhaltet. Dass auch daraus nichts wird, dürfte Nutzern der Beta-Versionen von Firefox längst klar sein, denn diese beinhalten die Modern UI-Oberfläche nicht. Entsprechend wurde auch die angepeilte Version im Mozilla Wiki aktualisiert. Neues Ziel: Firefox 28, Erscheinungstermin: 18. März 2014. Wie bereits bei allen in der Vergangenheit genannten Zeitpunkten handelt es sich dabei um Zielsetzungen, einen offiziellen Termin gibt es nicht.

Einen guten Rutsch in das Jahr 2014

Das Jahr 2013 neigt sich mit großem Tempo dem Ende entgegen, in wenigen Stunden begrüßen wir bereits das Jahr 2014. An dieser Stelle ein großes Dankeschön an alle, welche dem Blog die Treue gehalten oder ihn auch erst neu entdeckt und für gut befunden haben.

Seit Gründung dieses Blogs im Sommer 2010 geht es stetig aufwärts. Gegenüber dem Vorjahr konnte die Anzahl der Besuche erneut um 39 Prozent gesteigert werden, wofür ich allen danken möchte, die daran Anteil haben, indem sie Artikel auf diesem Blog gelesen oder den Blog weiterempfohlen haben. Ich habe die vorher schon sehr positive Entwicklung über das vergangene Jahr versucht zurückzuzahlen, indem ich die Anzahl der veröffentlichten Artikel gesteigert habe – gab es 2012 noch 246 neue Artikel, wurden im Jahr 2013 ganze 302 Artikel veröffentlicht. Für einen Blog ohne bezahlte Autoren eine beachtliche Zahl, möchte ich meinen.

Für das Jahr 2014 wünsche ich mir eine Fortsetzung dieser Entwicklung und hoffe daher, dass möglichst alle Leser diesem Blog die Treue halten und ganz vielen anderen von diesem Blog erzählen und viele neue Leser dazukommen. Für einen Blog, der komplett werbefrei geführt wird, sind Besucher der einzige “Lohn” für die Mühen, die in dieses Projekt investiert werden.

Anbei noch einmal die Links zu den sozialen Kanälen dieses Blogs. Wer diesen folgt, verpasst keinen Artikel. Außerdem gibt es hier einige exklusive Zusatzinhalte, welche nicht auf dem Blog veröffentlicht werden:

soeren-hentzschel.at auf Facebook
soeren-hentzschel.at auf Twitter
soeren-hentzschel.at auf Google Plus

Wir lesen uns im Jahr 2014 wieder, ganz bestimmt.

Kommentar: Wieso ausnahmslos jedes Firefox-Update wichtig ist

Alle sechs Wochen veröffentlicht Mozilla ein Update für Firefox, manchmal wird sogar noch ein außerplanmäßiges dazwischengeschoben. Nicht jeder versteht die Notwendigkeit hierfür und so denkt mancher, es sei eine akzeptable Option, ein Update auszulassen oder gar auf eine ältere Version zurückzuwechseln, weil man keine für sich sinnvollen Neuerungen entdeckt oder gar Probleme mit einem Update hat. Mit diesem Kommentar möchte ich ausführen, wieso ich davon nur abraten kann und wieso ausnahmslos jedes Update wichtig ist.

Dieser Kommentar spricht zwar ausdrücklich von Firefox, geht aber über den Tellerrand von Firefox hinaus, denn nichts anderes gilt für Thunderbird, SeaMonkey und zumindest weitestgehend für so ziemlich jedes andere Produkt auch.

Mozilla veröffentlicht mindestens ein Update alle sechs Wochen, welches diverse Neuerungen bringt, mal sind ein paar Dinge mehr nennenswert, mal sind es ein paar Dinge weniger. Die Release Notes stellen in jedem Fall immer nur eine kleine Auswahl der Neuerungen dar. Zumindest Leser dieses Blogs sind immer besser informiert als andere.

Nach einem Update kann es durchaus vorkommen, dass Mozilla eine Option aus dem Produkt entfernt hat, welche man gerne weiter hätte, oder dass sich das Standardverhalten in einem Punkt geändert hat. Vielleicht sorgt auch eine Änderung dafür, dass die Lieblings-Erweiterung nicht mehr kompatibel ist. Einige Nutzer ziehen es dann in Betracht, einfach auf eine ältere Version wieder zurückzuwechseln und vielleicht sogar die Updates zu deaktivieren. Sinnvolle Neuerungen können diese Nutzer nach eigenen Angaben meistens sowieso nicht feststellen, sehen daher auch keinen Nachteil darin. Das ist aber eine furchtbar schlechte Idee.

Alleine aus Gründen der Sicherheit ist es jedem dringend anzuraten, immer die neuste Version zu benutzen. Schon die Idee, ein Produkt für die Kommunikation und Interaktion im Internet zu nutzen, welches bekannte Sicherheitslücken beinhaltet, grenzt an Wahnsinn. Ironischerweise sind das dann auch häufig Nutzer, welche eine Sicherheits-Software einsetzen. Da lautet meine persönliche Empfehlung immer: Deinstalliere die Sicherheits-Software, die frisst nur Ressourcen. Denn wozu benötigt jemand eine Sicherheits-Software, wenn er sowieso Sicherheitslücken in Kauf nimmt und damit Angreifern Tür und Tor öffnet? Mozilla hat eine eigene Seite für bekannte geschlossene Sicherheitslücken in Firefox und Thunderbird. Man muss gar nicht mal verstehen, was das bedeutet, was da steht. Das ist Englisch und sehr technisches Englisch dazu. Es reicht bereits, einfach mal die Einträge zu zählen und die Farben zu betrachten; Rot steht naheliegenderweise für die kritischste Form der Sicherheitslücke. Das sollte einem ein gutes Gefühl dafür geben, dass es eine reale Gefahr ist, eine veraltete Version einzusetzen. Fest steht: Das Internet ist kein Ponyhof und grundsätzlich als potentiell gefährlich zu betrachten. Und fest steht auch: Wo Sicherheitslücken existieren, da werden diese auch ausgenutzt. Die meisten Angriffe führen dann zum Erfolg, wenn das System nicht auf dem aktuellsten Stand ist. Und nichts wäre einfacher zu verhindern als das. Keine Sicherheits-Software kann die Sicherheits-Updates eines Produktes ersetzen. Und bei den Mozilla-Produkten ist bis auf ganz, ganz wenige Ausnahmen jedes Update ein Sicherheits-Update. Und Sicherheit hört nicht beim Schließen von Sicherheitslücken auf. So erhält manche neue Firefox-Version auch neue Sicherheits-Features.

Als nächstes möchte ich auf den Punkt eingehen, dass die neue Version X ja sowieso keine interessanten Neuerungen beinhaltet. Ich denke, die meisten wären erstaunt, wenn sie mal sehen würden, wie viel sich mit jedem Firefox-Update tut. Dass da nur wenig bis gar nichts dabei ist, was einen persönlich auf den ersten Blick interessiert, das mag natürlich sein. Aber dann frage ich: Welches sichtbare Feature wird denn überhaupt vermisst? Die wesentlichen Dinge, die kann Firefox doch. Wozu braucht Firefox unbedingt das Killer-Feature Y, um einen Versionssprung zu rechtfertigen? Ich sehe das so: Mir reicht bereits eine einzige Verbesserung und schon sehe ich einen Grund für die neue Version. So wurde beispielsweise in Firefox 24 der PDF-Betrachter um progressives Laden der PDF-Dateien erweitert – man kann seit dem also PDF-Dateien bereits anfangen zu lesen, bevor das gesamte Dokument geladen ist. Gemessen an der Gesamtheit aller Verbesserungen mag das wenig sein, aber doch genug, um bereits einen Mehrwert darzustellen.

Die Wahrheit ist allerdings viel mehr: Die wesentlichen, wichtigsten und besten Dinge, worauf es bei einem Browser wirklich ankommt, die stecken unter der Haube, die sind unsichtbar, die nimmt niemand aktiv wahr. Das ist zum einen die Performance. Ein Großteil der Anwendungen im Web wird immer komplexer. Wir betrachten es als selbstverständlich, dass das alles zügig abläuft, aber damit das so ist, wird ein unvorstellbar großer Aufwand in die Verbesserung der Performance gesteckt. Und man kann sagen, was man will: Ein schnellerer Browser ist besser, für jeden. Die wenigsten werden mit der Stoppuhr dasitzen oder Geschwindigkeitsunterschiede zweier aufeinanderfolgender Firefox-Versionen wirklich wahrnehmen. Vergleicht man aber einmal die Geschwindigkeit zweier Firefox-Versionen, die im Abstand eines Jahres oder gar zweier veröffentlicht wurden, dann macht das einen Unterschied. Und noch wichtiger: Die Unterstützung von Webstandards. Nein, das ist eben nichts, was nur Entwickler tangiert, sondern absolut jeden betrifft, der einen Browser benutzt. Webstandards sind die Grundlage aller Webseiten, die wir täglich besuchen. Kaum ein durchschnittlicher Anwender wird sich darüber ganz bewusst freuen, wenn Firefox einen neuen Webstandard unterstützt. Der Punkt ist: Wenn wir eine Webseite besuchen, welche auf diesen Webstandard setzt, dann setzen wir als Anwender voraus, dass Firefox diese Webseite auch in vollem Umfang unterstützt. Und in ausnahmslos jeder Firefox-Version gibt es weitere Verbesserungen an der Front der Webstandards. Und so rasant schnell, wie sich das Web entwickelt, ist das auch notwendig. Und damit sind wir auch wieder bei dem Punkt, wieso das Release-Modell mit sechswöchigen Veröffentlichungen ein Segen ist.

Lange Rede, kurzer Sinn: Ganz egal, ob wir viele sichtbare Veränderungen in einem Firefox-Update sehen oder auf den ersten Blick überhaupt kein Mehrwert für uns drin steckt, es gibt kein unwichtiges Firefox-Update und es ist eine schlechte und wenig durchdachte Entscheidung, eine veraltete Version einzusetzen. Wie es auch bei Menschen vor allem auf die inneren Werte ankommt, ist das bei einem Browser nicht viel anders. Am Ende geht es primär um die Darstellung von und Interaktion mit Webseiten und die Verbesserungen hierfür liegen nun einmal unter der Haube und ziehen keine große Aufmerksamkeit auf sich.

Was ist nun aber mit dem Punkt, dass das Update auf Version X die Lieblings-Erweiterung inkompatibel gemacht hat oder eine Einstellung vermisst wird? Das sollte niemals und unter gar keinen Umständen höher als die Sicherheit gewichtet werden. Hier lautet die Empfehlung: Ab ins Forum von camp-firefox.de, denn hier konnte bislang den allermeisten geholfen werden. Meistens gibt es nämlich tatsächlich Alternativen, man muss einfach nur seine Bequemlichkeit ablegen und bereit sein, diese zu finden.

Mozilla Tin Can: Video-Unterhaltung mit Mozilla Persona-Anmeldung

Mit Tin Can gibt es eine neue Beispielanwendung für WebRTC von Mozilla. Bei Tin Can handelt es sich um eine Webseite für Video-Unterhaltung, zu welcher man sich mittels Mozilla Persona anmeldet.

Tin Can (www.tincan.im) ist eine Webseite für Video-Unterhaltungen mittels WebRTC. Dazu meldet man sich via Mozilla Persona an und startet eine Video-Unterhaltung durch Eingabe der E-Mail-Adresse einer anderen Person (welche diese Einladung natürlich zunächst einmal annehmen muss). Selbstverständlich ist Tin Can Open Source, wie man es von Mozilla anders nicht kennt. Das Projekt hat ausdrücklich noch den Alpha-Status. Als Voraussetzung wird lediglich ein WebRTC-kompatibler Browser wie Firefox oder Chrome benötigt. Im Test funktionierte Tin Can ohne Probleme in der aktuellsten Firefox-Version, allerdings nicht in den Nightly-Builds von Firefox.

(die beiden farbigen Flächen zeigen jeweils das Bild der beiden Kameras)

Inhalt abgleichen