Mozilla-Evangelist Christian Heilmann im Interview: Wie Firefox OS das Web befreit
t3n Magazin: Web-Apps sind meist weniger performant als native Apps. Wie will Firefox OS das lösen?
Christian Heilmann: Ein direkter 1:1-Vergleich zwischen Web-Applikationen und nativen Applikationen ist Unsinn. Das wäre in etwa so, als ob man sich wundert, warum ein Familientransporter langsamer ist als ein Formel-1-Wagen. Wenn man also einen fairen Direktvergleich zwischen nativen und Web-Applikationen anstellen will, dann müsste man schon eine Web-App bauen, die nur auf einer Hardware, in einem Browser und einer Konfiguration läuft.
t3n Magazin: Und das ist bei Web-Apps anders?
Christian Heilmann: Ja. Native Apps sind mit Filmen vergleichbar, die in verschiedenen Ländern zu verschiedenen Zeiten vertrieben werden. Web-Apps sind eher wie Video-on-Demand oder Fernsehen – der Konsument hat eine größere Auswahl und kann auch mal schnell umschalten und muss nicht Monate warten, bis der Film endlich auch bei uns erhältlich ist. Web-Applikationen haben in der Vergangenheit darunter gelitten, dass iOS und Android Entwicklern nicht erlaubt haben, per HTML5, JavaScript und CSS auf die Hardware zuzugreifen. Eine native App durfte auf den Grafikchip zugreifen, um nicht den Hauptprozessor zu nutzen. Webentwickler durften das nicht.
t3n Magazin: Und das soll Firefox OS ändern.
Christian Heilmann: Richtig. Mit Firefox OS haben Webentwickler vollen Zugriff auf die Hardware und können Apps schreiben, die schnell laufen, ohne das Handy in einen Taschenwärmer zu verwandeln. Die Entwicklung von Firefox OS hat dabei einen wichtigen Nebeneffekt: Wir haben nun Standardvorschläge, wie die Webtechnologie sicher und schnell auf mobile Hardware zugreifen kann. Diese Web-APIs sind auch anderen Browserherstellern zugänglich und erlauben es damit auch, das Web für alle zu verbessern. Da Firefox OS auf günstige Hardware zielt, mussten wir jedoch einige Tricks anwenden. Wir mussten einen kreativen Code erstellen, um auf Handys, die im Vergleich zu einem iPhone 5 sehr langsam sind, dem Endnutzer ein sehr schnelles Interface auszuliefern. Andere Browserhersteller und viele Entwickler profitieren davon.
t3n Magazin: Wie genau können Entwickler bei Firefox OS auf die Hardware zugreifen?
Christian Heilmann: Im Gegensatz zu herkömmlichen Plattformen wie iOS und Android haben Entwickler durch JavaScript direkten Zugang zu den Komponenten des Handys. So ist es beispielsweise mit window.navigator.battery.level möglich, den Ladestand des Akkus auszulesen. Diese Funktionalität ist als Web-API-Standard definiert. Alle Arten von Apps können auch tiefer in das System vordringen, allerdings nicht automatisch, sondern durch Freigabe des Endnutzers.
t3n Magazin: Offene Ökosysteme bergen meist auch ein erhöhtes Sicherheitsrisiko. Was unternimmt Mozilla, um dieses bei Firefox OS zu minimieren?
Christian Heilmann: Wir arbeiten beim Thema Sicherheit eng mit unseren Partnern zusammen, um im Falle von Sicherheitsschwächen schnell ein Update ausliefern zu können. Auf dem Desktop ist das völlig normal. Aus irgendwelchen Gründen haben wir uns damit abgefunden, dass beispielsweise ein Android-Gerät nur ein Update erhält und im Zweifelsfall komplett unsicher ist. Die Sicherheits-Updates sind bei Firefox OS jedoch vorgeschrieben. Wir gehen davon aus, dass Telefone mit Firefox OS länger genutzt werden als andere Smartphones. Daher ist es sinnvoll, Updates für einen längeren Zeitraum bereitzustellen.
t3n Magazin: Konkret: Wie genau sehen die Sicherheitsvorkehrungen aus?
Christian Heilmann: Bezüglich der Sicherheit definiert der Entwickler in einem Open-Web-App-Manifest, wie die App heißen soll, welche Icons verwendet werden und auf welche Funktionalität des Handys die App Zugriff hat. Bei den Apps gibt es generell drei Sicherheitsstufen, die definieren, was die App alles „darf“. Dies ist nötig, um zum Beispiel nicht jeder App zu erlauben, Textnachrichten zu verschicken oder Telefonate zu führen. Die drei verschiedenen Sicherheitsstufen sind „hosted“, „privileged“ und „certified“.
t3n Magazin: Wie genau unterscheiden sich diese Sicherheitsstufen?
Christian Heilmann: Eine Hosted-App kann auf dem eigenen Server liegen und ist damit auch einfach zu verändern und auf dem neuesten Stand zu halten. Da Mozilla aber nicht den Server verwaltet und dessen Sicherheit gewährleisten kann, darf die App nur auf einen Bruchteil der Hardware zugreifen. Beantragt der Entwickler im App-Manifest mehr Zugang für seine App, wird aus dieser eine Privileged-App. Diese muss von dem Mozilla-Marketplace-Team zertifiziert werden und eine Content-Security-Policy haben. Weiterhin müssen Privileged-Apps eine Signatur besitzen und über den Firefox Marketplace installiert werden. Certified-Apps definieren die Funktionalität des Betriebssystems und können damit auf alles zugreifen. Diese können nur von Mozilla und dessen Partnern erstellt werden. Detaillierte Informationen dazu, was Apps alles dürfen und welche Sicherheitsstufen nötig sind, findet man im Mozilla-Developer-Network.
t3n Magazin: Welche Hilfsmittel stehen Entwicklern generell zur Verfügung?
Christian Heilmann: Alle Informationen über Firefox OS sind im Mozilla-Developer-Network (MDN) erreichbar, einer Datenquelle, die sich schon seit Jahren für JavaScript-Entwickler als nützlich herausgestellt hat. Entwickler brauchen kein SDK herunterzuladen oder einen bestimmten Editor verwenden und können bestehende Bibliotheken wie Sencha Touch, jQuery Mobile, oder Enyo einsetzen. App-Entwickler, die von iOS oder Android kommen, kann das im ersten Moment verwirren. Wir arbeiten daher auch an einem Quasi-SDK, das es Nicht-Webentwicklern erlaubt, schnell eine HTML5-App aus bestehenden Bauteilen zusammenzuschrauben.
t3n Magazin: Was gilt es zu beachten, damit sich eine Website als App auf einem Smartphone installiert lässt?
Christian Heilmann: Um eine mobile Website in eine Firefox-OS-App zu verwandeln, müssen Entwickler lediglich die Offlinedaten mittels AppCache und LocalStorage oder IndexedDB definieren sowie den Namen und die Zugriffsrechte der App in einem Manifest beschreiben. Die Offlinedefinitionen sind ohnehin notwendig, um die App auch auf iOS und Android zum Laufen zu bringen. Eine bereits bestehende HTML5-App im Web lässt sich in nur zwei Schritten für Firefox OS aufbereiten. Zuerst erstellt man ein Open-Web-App-Manifest und meldet dann die App im Mozilla Marketplace an oder stellt sie zum Download auf dem eigenen Server zur Verfügung.
t3n Magazin: Wie können Entwickler ihre Firefox-OS-Apps testen?
Christian Heilmann: Für Entwickler gibt es mehrere Möglichkeiten, die Apps zu testen. Um die richtige Darstellung der App zu gewährleisten, genügt es, die App in einem Browser auszuprobieren. Mit dem Firefox-Add-on Firefox-OS-Simulator erhält man ein simuliertes Handy mit Firefox OS, eine Konsole mit Fehlern und Informationen und die Möglichkeit, Apps von der Festplatte in Firefox OS zu testen. Will man eine neue App starten, bietet es sich an, die Boilerplate-App von Robert Nyman als Grundlage zu nehmen. Diese App passt sich automatisch dem Bildschirm an und zeigt alle möglichen Web Activities bereits als Knöpfe im Interface an.
t3n Magazin: Wann erscheinen die ersten Geräte in Deutschland?
Christian Heilmann: Wir konzentrieren uns vorerst auf Schwellenländer. Ziel ist es, jene zwei Milliarden Menschen online zu bringen, die noch keinen mobilen Internetzugang haben. Die ersten Handys werden von unseren Partnern in Brasilien, Kolumbien, Ungarn, Mexiko, Montenegro, Polen, Serbien, Spanien und Venezuela noch dieses Jahr angeboten. Ein genaues Datum für Deutschland können wir noch nicht nennen, eine spätere Veröffentlichung ist aber geplant. Entwickler können sich allerdings schon jetzt ein Handy bei Geeksphone.com bestellen, um Applikationen zu testen.
t3n Magazin: In dem von Firefox OS angepeilten Marktsegment gibt es durchaus Android-Konkurrenzprodukte. Welche Rolle wird Firefox OS langfristig auf dem Weltmarkt spielen können?
Christian Heilmann: Natürlich sind viele günstige Android-Geräte erhältlich, nur sind diese auch mit einer veralteten Version des Betriebssystems ausgestattet und nicht alle neuen Apps sind für diese Versionen vorhanden. Weiterhin fehlen Sicherheitsupdates und der Browser, der mit älteren Android-Versionen ausgeliefert wird, hat nur rudimentäre HTML5-Unterstützung. Firefox OS richtet sich an Märkte, in denen Smartphones nicht erschwinglich sind oder sogar nicht angeboten werden. Unser Ziel ist es nicht, Smartphones zu ersetzen, sondern Handys, die keinerlei Webzugang haben. Im Mobilbereich ist dieser Markt nicht interessant für Firmen, die mit Hardware mehrere hundert Dollar pro Verkauf machen wollen.
t3n Magazin: Auch eine gemeinnützige Stiftung muss Geld verdienen. Gibt es bei Firefox OS ein Geschäftsmodell für Mozilla?
Christian Heilmann: Als gemeinnützige Stiftung ist Geld für uns nicht das Endziel, sondern ein Nebenprodukt unserer Partnerschaften mit kommerziellen Partnern. Wir lehnen uns da an anderen Plattformen an und planen, den Löwenanteil der Einnahmen an die Entwickler weiterzugeben. Weiterhin können Entwickler ihre Apps auch selbst vertreiben und müssen nicht über den Marketplace gehen. Firefox OS eröffnet einen komplett neuen Markt, daher analysieren wir derzeit verschiedene Wege, wie wir in diesen Ländern Apps anbieten können.
t3n Magazin: Abschließend ein kurzes Statement in zwei Sätzen: Was will Mozilla mit Firefox OS erreichen?
Christian Heilmann: Die Idee ist es, das Web in einer offenen, freien und erschwinglichen Art und Weise auf Handys zu bringen. Der Endnutzer soll das Web mit seinen eigenen Regeln nutzen und sich nicht den Vorgaben eines geschlossenen Systems beugen müssen.
Den Mehrwert habt Ihr wunderschön beredet aber so richtig rüber kam er nicht. Was IST denn jetzt der Vorteil gegenüber iOS? Mit Android werdet ihr Euch hoffentlich gar nicht mehr vergleichen, denn dieses OS ist mein er Meinung nach so tot wie Michael Jackson. Es wird wohl nur noch verwendet weil es keine massentaugliche Alternative gibt.
Was ist der Unterschied zu HTML5-Apps die ja noch mehr Menschen erreichen würden ?
Audio geht m.W. damit ja schon. Sobald auch Kamera geht, wird es interessant und viele iOS/Dalvik/.NET-Apps für Enduser (vermutlich weniger für technische Dinge) können und werden in HTML5.x realisiert werden.
Früher gabs Assembler vs. Hochsprach-Programmierer (Assembler vs. C)
Dann C vs. C++.
Dann Javascript vs. C++/ObjectiveC/.NET/C. Die Optimizer sind inzwischen so gut das man Emulatoren damit laufen lassen kann. Und viele Apps müssen ja keine Wetterberechnungen machen sondern nur ein paar Daten anzeigen. Bandbreite und Latenz sind dort oft die relevanteren Nerv-Faktoren bei der Nutzung.