Interview mit Simon Long von Raspberry Pi über den Raspberry Pi Desktop, UI-Design und vieles mehr!
Wichtige Hintergrundinformationen: Dieses Interview wurde Anfang Juli 2018 geführt, so dass einige Anwendungen, auf die sich Simon bezieht, bereits freigegeben sein könnten usw.
Max: Dies ist das Interview mit Simon Long von der Raspberry Pi Foundation, der hauptsächlich für Raspbian, das Desktop-Betriebssystem, verantwortlich ist.
Simon: Das ist richtig.
Max: Viele Anwendungen wie VeraCrypt veröffentlichen Binärdateien speziell für die Raspberry Pi-Plattform, aber in diesem Fall nicht einmal ARMv6-Binärdateien - nur ARMv7. Ich habe mich gefragt, ob es einen bestimmten technischen Grund dafür gibt, der speziell auf den Pi abzielt, warum nicht einfach generische ARMv7-Binärdateien.
Simon: Ich weiß also nichts über den speziellen Fall, den Sie dort erwähnt haben. Was die spezielle Ausrichtung auf den Pi angeht, ist mir bewusst, dass die Standard-ARM-Hardfloat-Versionen von Debian den Pi nicht optimal nutzen. Soweit ich weiß, sind sie nicht besonders für unsere Plattform optimiert. Ich habe nicht versucht, irgendetwas laufen zu lassen, das wir nicht speziell mit dedizierten Pi-Build-Systemen, die auf dem Pi gebaut wurden, oder mit Cross-Compile-Umgebungen, die für den Pi entwickelt wurden, erstellt haben. Aber ich habe den Eindruck, dass die Dinge speziell für den Pi gebaut werden müssen und nicht nur mit dem Standard-Debian-Hardfloat-Zeug. Ich bin nicht mit den technischen Details vertraut, warum das der Fall sein muss, aber ich vermute, es hat mit den Optimierungen für die Hardware zu tun. Im Falle von offensichtlichen Dingen, bei denen die Leute Teile von VideoCore verwenden wollen, wird ein Standard-Debian-ARM-Hardfloat-Build keinen Gebrauch davon machen. Man wird also nicht die beste Leistung erhalten, die man aus dem Gerät herausholen könnte.
Max: Sie meinen Dinge wie zum Beispiel diese NEON SIMD-Optimierungen?
Simon: Nein - das NEON-Zeug sollte funktionieren, weil es auf der ARM-Seite des Geräts liegt. Genauer gesagt ist es die VideoCore-Seite des Geräts, von der die Videobeschleunigung wahrscheinlich der wichtigste Teil ist. Es gibt auch Dinge wie die Pixelverarbeitungseinheiten im VideoCore IV, die es ermöglichen, parallele Operationen durchzuführen. Sie erhalten keine dieser Optimierungen, wenn Sie nicht speziell auf unsere Plattform ausgerichtet sind.
Max: Eine ARM-Plattform ist also im Grunde nicht dasselbe wie eine andere Plattform?
Simon: Der ARM-Kern selbst ist derselbe, aber die Peripheriegeräte sind unterschiedlich. Eine der Peripherien ist in unserem Fall der VideoCore, der Video- und Multimedia-Beschleunigung bietet. Wenn Sie also für eine generische ARM-Plattform schreiben, werden Sie das nicht optimal nutzen können. Um Ihnen ein gutes Beispiel zu geben: Chromium. Jedes Mal, wenn ein neues Chromium-Release erscheint, arbeiten wir daran, unsere Video-Hardware-Beschleunigung darin zu integrieren. Wenn Sie Chromium verwenden, um YouTube oder was auch immer auf der Plattform abzuspielen, kommen Sie in den Genuss der Beschleunigung. Nimmt man nur den Standard Chromium ARM-Build, ist das nicht der Fall. Es ist hauptsächlich für Dinge wie Videobeschleunigung.
Max: Haben Sie dafür ein automatisiertes Verfahren eingerichtet?
Simon: Nein - das ist schwer zu automatisieren. Der Code ändert sich erheblich, vor allem im Fall von Chromium. In den meisten Fällen geht es darum, die gleichen Patches wie bei der letzten Version zu nehmen und sie auf die neue Version anzuwenden. Aber wie Sie wissen, lassen sich Patches nicht immer sauber einfügen, wenn man versucht, sie zwischen verschiedenen Versionen zusammenzuführen. Es ist ein unterschiedlicher Arbeitsaufwand, der davon abhängt, wie sehr sich der Basiscode verändert hat, aber es ist leider kein automatisierter Prozess. Derjenige, der daran arbeitet, muss sich anschauen, was sich zwischen Chromium 65 und 67 geändert hat, und sehen, wie sich das auf die Patches auswirkt. Es ist eine riesige Codebasis, und sie wird sich ändern. Während die Patches relativ klein sind, können sich die Zeilen, auf die sie gepatcht werden, zwischen den Versionen auf der Chromium-Seite erheblich unterscheiden.
Max: Die Idee ist, da der Pi - relativ gesehen - immer noch weniger leistungsfähig ist als ein Desktop-PC, die Hardware so lange wie möglich zu nutzen und die Binärdateien dafür zu optimieren.
Simon: Ganz genau.
Max: Kommen wir nun zum Thema Raspberry Pi Desktop. Was sind die wichtigsten Ziele und Ideen dahinter?
Simon: Die Hauptziele und Ideen dahinter ... als ich anfing, an meinem ersten Tag bei Pi, setzten Eben und ich uns zusammen, mit Raspbian und LXDE, und er sagte: "Kannst du das noch besser machen? Ich habe ein bisschen damit gespielt und dachte - ja, man kann es sicher noch besser machen. Die Frage war, ob ich wüsste, wie man es besser machen könnte, denn zu diesem Zeitpunkt hatte ich noch nie mit Linux gearbeitet, so dass ich eine ziemlich lange Lernkurve hatte.
Max: Sie haben tatsächlich noch nie Linux benutzt?
Simon: Ich hatte Linux ein paar Mal experimentell gebootet, aber ich hatte nie Code für Linux geschrieben, ich habe es nie länger als zehn Minuten benutzt, [bevor ich mit der Arbeit am Raspberry Pi begann].
Max: War einer der Gründe, warum Sie Linux nicht verwendet haben, die Desktop-Umgebung? Die verwirrende Art und Weise, wie sie angeordnet ist?
Simon: Ich habe Ubuntu benutzt, ich habe Knoppix benutzt.
Max: Knoppix - eigentlich von einem deutschen Ingenieur.
Simon: Ja, ich habe beide verwendet, und ich fand die Desktop-Umgebung bei beiden nicht intuitiv. Ich finde die Desktop-Umgebung von Ubuntu immer noch nicht intuitiv. Ich brauche immer zehn Minuten, um mich zu erinnern, wo sie das Terminal versteckt haben. Solche Dinge. Ich habe das Gefühl, dass bei der Entwicklung vieler Linux-Anwendungen die Benutzerfreundlichkeit nicht im Vordergrund steht. Sie sind eher so geschrieben, dass sie einfach zu schreiben sind, als dass sie einfach zu benutzen sind. Das ist verständlich, wenn man bedenkt, dass niemand dafür bezahlt wird. Aber als ich mir LXDE damals ansah, hatte ich das Gefühl, dass es eine Menge Möglichkeiten gab, es viel benutzerfreundlicher zu machen, als es war, und ich denke, dass es bei den beiden Plattformen, mit denen ich die meiste Erfahrung hatte, nämlich Windows und Mac, eine große Lücke in der Benutzerfreundlichkeit zwischen LXDE und diesen beiden gab. Wenn man ein erklärtes Ziel hat, dann wäre es, den Raspberry Pi Desktop so benutzerfreundlich zu machen wie Windows oder Mac. Idealerweise als Mac, weil das meine bevorzugte Plattform ist. Um es einfach zu machen, denke ich, dass das Wichtigste ist, Konsistenz hinzuzufügen. Ich denke, das Problem mit LXDE ist, dass es eine Sammlung von Komponenten aus verschiedenen Problemen ist, die alle zusammengefügt wurden. Man hat also einen Fenstermanager von einem Ort, einen Dateimanager von einem anderen, und eine Taskleiste von einem anderen. Und das funktionierte für mich nicht wirklich als integrierter Satz von Dingen. Wenn ich die Systemschriftart ändern wollte, musste ich sie an drei Stellen ändern, damit sie überall wirksam wurde. Und das ist ein fortlaufender Prozess. In der neuen Version haben Sie wahrscheinlich schon den Startassistenten gesehen.
Max: Ja.
Simon: In Blog-Kommentaren wurde ich bereits von Leuten kritisiert, die meinten, man solle keinen Startassistenten verwenden, weil das die Leute davon abhalte, sich das Setup [die Konfigurationsdateien] anzusehen.
Max: Ich habe diesen Kommentar tatsächlich schon gesehen. Der Grund ist so etwas wie: "Wir haben es auf die harte Tour gemacht ...".
Simon: Ganz genau. Das ist meine ganze Frustration mit Leuten, die [so denken]. Nach dem Motto: "Ich musste leiden, also müssen die heutigen Nutzer leiden." Meiner Meinung nach wird dadurch der Zweck von Pi missverstanden. Der Zweck von Pi war es immer, eine Umgebung zu schaffen, in der Menschen etwas über Computer lernen können. Und wenn es darum geht, etwas über Computer zu lernen, dann bedeutet das für mich, zu lernen, wie man einen Computer programmiert. Es geht nicht darum zu lernen, wie man einen Linux-Desktop konfiguriert. Denn eines davon ist eine nützliche Fähigkeit, die man nutzen kann: Wenn man erst einmal gelernt hat, wie man programmiert, stehen einem ganze Karrieren offen. Und das ist es, wofür wir uns entschieden haben. Lernen, wie man einen Linux-Desktop konfiguriert - ja, das ist nützlich, wenn man Linux-Desktops konfigurieren muss. Das ist aber nicht das, was Pi den Leuten beibringen soll. Aus meiner Sicht möchte ich die Desktop-Umgebung aus dem Weg räumen, damit die Leute einfach mit dem Programmieren beginnen können. Das ist ein Hauptziel meiner Arbeit: Wenn die Leute ihren Desktop-Hintergrund ändern oder die Schrift größer machen wollen, damit sie etwas lesen können, sollten sie dafür nicht in zwölf Konfigurationsdateien herumwühlen müssen. Das sollte einfach zu machen sein.
Max: Auf jeden Fall. Der Grund, warum ich Windows auf meinem Desktop verwende, ist, dass ich mir einfach nicht die Mühe machen kann ... Ich habe zum Beispiel ein Multi-Monitor-Setup ... Ich habe eine ungefähre Vorstellung davon, wie man es unter Linux machen kann, aber ich müsste Konfigurationsdateien bearbeiten und viel Zeit investieren.
Simon: Je mehr ich darüber herausfand, wie man diese Konfigurationsänderungen vornehmen muss, desto entsetzter war ich über das Durcheinander, das den Leuten zugemutet wird, mit Linux umzugehen. Deshalb habe ich als erstes eine Anwendung geschrieben, die alle Systemeinstellungen für Sie ändert. Das schien mir die große Frage zu sein: Warum hatte das noch niemand gemacht? Warum war es immer noch akzeptabel, dass man vier verschiedene Konfigurationsdateien öffnen musste, damit das Ding richtig aussah? Es soll sich alles wie eine einzige Umgebung anfühlen. Das war schon immer mein Ziel mit dem Desktop: Es muss ein Punkt erreicht werden, an dem man wie bei einem Mac gar nicht mehr über den Desktop nachdenkt. Der Desktop funktioniert einfach. Und wenn man das Hintergrundbild ändern will, die Schrift größer machen will oder eine Anwendung starten will, ist es offensichtlich, wie man all diese Dinge macht. Für mich war LXDE zwar eine großartige Grundlage, auf der man arbeiten konnte - und ich will damit keineswegs die Arbeit der Macher von LXDE verunglimpfen, sie haben einige fantastische Dinge darunter getan -, aber es fehlte einfach noch ein bisschen Sorgfalt und Aufmerksamkeit oben drauf. Das ist es, was ich zur Verfügung gestellt habe, um es zu einer Erfahrung zu machen, die angenehm zu benutzen ist. Darauf habe ich mich immer konzentriert - auf die Benutzerfreundlichkeit, wobei ich mich, wann immer ich kann, darauf konzentriere, dass es für Leute, die noch nie einen Computer oder schon gar nicht ein Linux-System benutzt haben, angenehm zu bedienen ist. Es geht darum, es vertraut und intuitiv zu machen.
Max: Gibt es eigentlich irgendwelche Urheberrechts- oder Designprobleme, wie zum Beispiel die Menüleiste oben in MacOS? Wo man vorsichtig sein muss?
Simon: Mir ist nichts bekannt, nein. Das geht auf die Tage von Xerox PARC und den ursprünglichen Desktop zurück. Die Desktop-Metapher ist fest etabliert und niemand besitzt sie. Ich würde nicht im Traum daran denken, zum Beispiel die Icons von Apple zu übernehmen. Ich finde, Apples Icons sind etwas Schönes. Haben Sie schon einmal versucht, sie heranzuzoomen? Sie haben eine Menge versteckter Details, die man nie sieht. Wenn Sie z. B. das Mail-Symbol auf dem Mac vergrößern, können Sie sehen, dass es einen Poststempel mit der Aufschrift "Willkommen in Cupertino" und dergleichen enthält. Sie geben sich so viel Mühe mit solchen Dingen. Ich werde auf keinen Fall Apple-Symbole in unser System einbauen, das wäre eindeutig eine Urheberrechtsverletzung. Außerdem wollen wir unsere eigene visuelle Identität aufbauen, deshalb haben wir unsere eigenen Icons in Auftrag gegeben, deshalb habe ich das Aussehen unserer Fenster neu gestaltet, deshalb haben wir unsere Farbpalette gewählt. Und nichts davon ist von anderen abgekupfert. Das sind alles meine eigenen Ideen, wie das Design aussehen sollte. Ich denke, das allgemeine Konzept einer Windows-Umgebung mit Menüs und Taskleisten usw. - das ist so ziemlich in der öffentlichen Domäne. Die Urheberrechtsprobleme treten auf, wenn man anfängt, die Ressourcen anderer Leute zu stehlen. Und das werden wir nicht tun. Ich möchte keine Kopie von MacOS machen. Hinter MacOS stecken einige sehr gute Ideen. Aber es muss etwas sein, das eindeutig als Raspberry Pi erkennbar ist. Zumindest muss es sich erkennbar von MacOS unterscheiden. Genauso wie es erkennbar genauso benutzbar sein muss wie MacOS.
Als ich anfing, war das einzige Branding, das wir dem Betriebssystem verpasst hatten, dass wir einen Raspberry auf dem Desktop hatten. Abgesehen davon war es LXDE - wir hatten nichts weiter damit gemacht, weil wir keine Leute hatten, die daran arbeiten konnten. Es ist wie Steve Jobs zu sagen pflegte - Schriftarten sind wirklich wichtig, Typografie ist wichtig. Es sind solche Dinge, wenn man versucht, ein visuelles Bild zu schaffen, das die Marke repräsentiert. Um es ein wenig prätentiös auszudrücken. Es geht darum, etwas zu schaffen, auf das die Leute schauen und sagen: "Oh, das ist der Pi Desktop".
Max: Apropos Typografie: Welche Systemschriftart verwenden Sie als Standard?
Simon: Es handelt sich um eine gemeinfreie Schriftart von Google namens "Roboto". Ich musste sie ein wenig bearbeiten. Das ist eine interessante Frage, wenn man ein Schriftart-Freak ist. Es war fast das erste, was ich getan habe, buchstäblich am ersten Tag, weil die Standardschriftart von LXDE hässlich ist - und ich weiß, dass man einen großen Unterschied machen kann ...
Max: Wissen Sie, was es war?
Simon: Ich kann mich nicht mehr erinnern - es war sehr hässlich. Man kann die Art und Weise, wie etwas wahrgenommen wird, enorm verändern, indem man einfach die Schriftart ändert. Man braucht nur ein Dokument von einer Serifenschrift auf eine serifenlose Schrift umzustellen, und schon sieht das ganze Dokument ganz anders aus. Das ist eines der wichtigsten Dinge, die man tun kann - Steve Jobs hatte damit absolut Recht - wenn man die richtige Schriftart wählt, werden viele Dinge sofort besser. Das erste, was ich also tat, war, buchstäblich alle kostenlosen Schriftarten durchzugehen, die ich finden konnte - natürlich gibt es Millionen von Schriftarten auf der Welt - aber Sie wissen schon. Ich brauchte etwas, das frei [zu benutzen] ist, etwas, von dem ich verstehen konnte, wie ich es in Linux einsetzen kann. Ich bin Dutzende von Schriftarten durchgegangen, und als ich auf Roboto stieß, dachte ich: Ja, das ist sie, die sieht so aus, wie ich sie haben will. Glücklicherweise war sie gemeinfrei, so dass wir sie verwenden konnten. Das Problem war - wir installierten das Roboto-Paket, und ein paar Monate später machten wir ein System-Update, und die Schrift war immer noch Roboto, aber die Schrift hatte sich geändert. Und sie war nicht mehr annähernd so gut. Google hatte etwas an den Metriken der Schriftart verändert. Ich sah es mir an und sagte: "Igitt! - das ist nicht das, was ich wollte. Was wir also haben, ist eine alte Version von Roboto, die ein eigenes Paket hat. Ich nenne es Piboto, nur um es von Roboto zu unterscheiden. Ich kann dem Roboto-Paket nicht mehr folgen, weil es die Schriftart geändert hat und mir die neue nicht gefällt.
Max: Das ist eigentlich eine ziemlich unangenehme Überraschung, würde ich sagen. Denn man erwartet, dass die Schriftarten gleich bleiben.
Simon: Das ist nicht der Fall. Sie haben es geändert. Und zwar so weit, dass ich gesagt habe: "Nein, das machen wir nicht mit, wir nehmen jetzt unsere eigene Version davon und halten uns an meine Version".
Max: Besonders auf sehr kleinen Bildschirmen - wie z.B. Adafruit 2,8" Bildschirmen - muss man eine spezielle Schriftart verwenden.
Simon: Ja, die kleineren Punktgrößen - man braucht eine Schriftart, die für solche Situationen geeignet ist. Wir arbeiten also mit dieser alten Version von Piboto, wie sie genannt wird, und eines der anderen Dinge, die interessant sind - wenn man ein Schriftart-Freak ist - ist die Frage der Konsistenz. Schriftarten haben in Linux offensichtlich unterschiedliche Gewichte - leicht und dünn, mittel und schwer, fett usw. Und einige Anwendungen - das ist eigentlich eine GTK 2 vs. GTK 3 Sache ... ; ich bin sehr für GTK 2, ich bin wirklich ziemlich gegen GTK 3. Ich denke, sie haben einige wirklich schlechte Entscheidungen in GTK 3 getroffen. Dinge wie, wenn man eine GTK 3 Anwendung unter sudo laufen lässt, sieht sie anders aus, als wenn man es nicht tut, wegen der Art und Weise, wie sie Theming-Informationen in sie hineinziehen. Wenn Sie also unter sudo laufen, erhalten Sie nicht das ursprüngliche GTK 3-Theme des Benutzers, sondern das Root-GTK 3-Theme. Was nicht unbedingt dasselbe ist. Solche Dinge eben. Wenn Sie versuchen, konsistent zu sein, ist GTK 3 nicht so gut wie GTK 2. Und das ist der Punkt, den ich über GTK 3 gesagt habe - was das Schlechte an GTK 3 in Bezug auf Schriftarten angeht, ist, dass die Handhabung von Schriftschnitten nicht gut ist.
Die von uns verwendete Systemschriftart ist Piboto Light. Auch hier möchte ich die Light-Version, weil die Light-Version schöner aussieht als die normale Version. Es gibt einige Anwendungen - zum Beispiel Chromium, ich glaube, es ist eine GTK-3-Anwendung -, bei denen man die Schriftart auf Piboto Light einstellt und die Light-Version wegwirft, so dass man nur Piboto erhält. Ich glaube, das ist ein GTK-3-Problem, bei dem einige der Schriftgewichte nicht sehr gut gehandhabt werden. Und das wiederum hängt mit dem sudo und non-sudo-Zeug zusammen, da gibt es einige Dinge, die nicht richtig gemacht sind. Ich habe tatsächlich Bugs gegen [dies] gemeldet - und sie sagten: "Nein, es sollte so funktionieren, es ist in Ordnung". Ich muss das umgehen, weil es nicht das tut, was ich will.
Max: Wie gehen Sie damit um?
Simon: Ich habe das Problem mit der Schriftart so gelöst, dass unsere Schriftart, die normalerweise Piboto heißt, jetzt Piboto LT heißt, weil sie eine leichte Schriftart ist. Jetzt können die Leute sie nicht mehr kaputt machen, denn wenn man unsere Schriftart wählt, hat sie immer das richtige Gewicht.
Max: Mit Piboto LT gibt es nur ein Gewicht, nur das leichte Gewicht.
Simon: Sie können es fett drucken - es enthält immer noch die fette und die kursive Version. Aber die normale Version ist die helle Version. Nur so kann ich erreichen, dass alles einheitlich aussieht. Bei der Auswahl von Schriftarten ist die Schriftstärke genauso wichtig wie die Schrift selbst, denn eine Änderung der Schriftstärke kann das Erscheinungsbild der Schrift stark verändern. Ich habe viele glückliche Stunden damit verbracht, mit FontForge zu spielen und meine Version der Schriftart zu erstellen, was nun bedeutet, dass alles einheitlich aussieht. Das ist eine der Änderungen in der neuesten Version, die darin besteht, dass Chromium jetzt tatsächlich die gleiche Schriftart wie alles andere verwendet, während das vorher nicht der Fall war. Zuvor wurde Piboto in normaler Schriftart verwendet, im Gegensatz zur Schriftart Light.
Max: Ich glaube, das ist eines der Dinge, die den Leuten auffallen - es wirkt ein bisschen ungewohnt - zumindest unterschwellig.
Simon: Unterschwellig ist eine gute Art, es zu betrachten - ich dachte immer, dass mit Chromium etwas nicht stimmt. Aber wenn ich mir die Einstellungen anschaute, stand dort, dass sie die Schriftart Light haben. Und sobald ich diese Änderungen vornahm, war es das, was mit Chromium nicht in Ordnung war. Chromium sieht jetzt richtig aus. Chromium passt jetzt zu allem anderen. Das ist so eine Sache - wenn man es nicht gleich beim ersten Mal behebt, wenn man es bemerkt, gewöhnt man sich daran. Und dann denkt man, na ja, das ist halt so.
Chromium zum Laufen zu bringen, war zunächst ein großer Schritt. Es war schwierig, Chromium dazu zu bringen, richtig mit dem Fenstermanager zu arbeiten und im Fenstermanager gut auszusehen. Eine meiner größten Abneigungen sind Anwendungen, die so aussehen wollen, wie sie selbst aussehen wollen, und nicht so, wie das System sie haben will. Und Chromium ist eine davon, die versucht, ihre eigenen Farben für Fensterleisten und solche Dinge zu verwenden. Es verträgt sich nicht gut mit Fenstermanagern. Ich habe viel Zeit damit verbracht, es so einzurichten, dass es wirklich gut aussieht.
Dazu gibt es eine Anekdote. Wir haben Chromium im System. Und Eben benutzt Chrome auf anderen Systemen. Ich benutze Chrome nicht, weil ich ein Mac-Benutzer bin, ich benutze Safari.
Max: Gibt es Chrome für ...
Simon: Es gibt Chrome für Mac, aber ich würde es nicht empfehlen, weil es genau das tut, was ich gesagt habe - es sieht aus wie eine Google-Anwendung auf einem Mac, anstatt wie eine Apple-Anwendung auf dem Mac. Eben ist es gewohnt, Chrome zu verwenden. Und Chrome färbt seine Ränder ein, so dass man Registerkarten und einen bestimmten farbigen Hintergrund hat - und Eben war daran gewöhnt, weil er es auf einem Mac verwendet hat. Ich habe mir das angeschaut, und es passt nicht zum Rest unserer Anwendungen, es muss geändert werden. Ich habe mit verschiedenen Farbkombinationen herumgespielt und die Option zur Verwendung der Rahmen von Openbox - dem LXDE-Fenstermanager - mit Chromium aktiviert. Denn standardmäßig verliert man den Fensterrahmen. Mit einem Fensterrahmen, sagte Eben, "das sieht nicht richtig aus mit einem Fensterrahmen, das sieht nicht mehr wie Chrome aus". Ich sagte: "Vertrau mir, das wird schon richtig sein. Aber es muss den Rahmen haben. Weil es zu allem anderen passen muss." Und Eben murmelte: "Du machst einen großen Fehler - das darfst du nicht tun", und ich sagte: "Vertrau mir, das wird am Ende richtig sein". Das Problem war, dass Sie die Farben von Chromium in unserem Fensterrahmen hatten. Ich musste herausfinden, wie ich das Fenster, das Chromium zur Verfügung stellt, neu einfärben konnte - den Hintergrund hinter den Tabs. Ich musste ihn an die von uns verwendete Farbe anpassen. Ich brauchte ein paar Tage, um herauszufinden, wo die Einstellung war, und ich änderte sie. Nachdem ich das getan hatte, kam Eben zu meinem Schreibtisch und ich sagte: "Schauen Sie sich doch mal Chromium an. " Er schaute es sich an und sagte: "Das ist gut", sagte ich, "ich habe dir gesagt, es ist gut". Es geht um Konsistenz. Es geht darum, dass es so aussieht, wie man es erwartet. Was Eben gesehen hatte, war etwas, das nicht nach Chrome und nicht nach uns aussah.
Max: Also etwas ganz anderes?
Simon: Ja, das sah also falsch aus. Aber ich wusste, dass man die Farben und die Schriftarten richtig hinbekommen muss, um es richtig zu machen. Und sobald man die Farben richtig hinbekommen hatte und es passte, sagte Eben: "Oh, es ist gut." - "Ja, ich habe dir gesagt, dass es gut wird. Das liegt daran, dass es jetzt wie wir aussieht. Du bist daran gewöhnt, dass es wie Chrome aussieht, und was du gesehen hast, war dieses unbeholfene Stadium in der Mitte, in dem ich es noch nicht fertig hatte." Aber genau deshalb sind Dinge wie der Fenstermanager so wichtig. Er ist ein sehr wichtiges Mittel, um ein einheitliches Erscheinungsbild zu gewährleisten. Anwendungen, die nicht mit dem Fenstermanager harmonieren, ärgern mich, denn der Fenstermanager ist aus einem bestimmten Grund da.
Max: Das ist eines der Dinge, die mich am Linux-Desktop stören - die Konsistenz, wie Sie sagen. Es gibt, glaube ich, das GTK, dann gibt es die KDE-Desktop-Umgebung ...
Simon: Und die Sache mit dem GTK ist - wenn jemand sagt, dass er eine Anwendung für uns schreibt, worauf sie basieren soll, ist meine Antwort, dass sie auf GTK 2 basieren soll, weil ich viel Zeit damit verbracht habe, dass unser GTK 2-Thema gut funktioniert. Es sieht so aus, wie ich es haben möchte. Jedes Mal, wenn GNOME ein neues GTK 3 herausbrachte, wurde an dem GTK 3-Thema herumgepfuscht. Und ich habe Wochen damit verbracht, die Themen aufeinander abzustimmen. Damit eine GTK-3-Anwendung bei uns wie eine GTK-2-Anwendung aussieht. Und jedes Mal hat GNOME etwas geändert. Wie ich schon sagte, scheint GTK 3 das Theming nicht ganz so gut zu beherrschen wie GTK 2. GNOME scheint dazu übergegangen zu sein, ein fest verdrahtetes Thema zu haben, und man wird wirklich ermutigt, es nicht zu ändern, während man bei GTK 2 immer das Thema hatte, das man wollte. Ich habe praktisch ein GTK-3-Thema erstellt, das unser GTK-2-Thema in den Schatten stellt. Und hin und wieder macht GNOME in GTK 3 etwas, das ich in GTK 2 nicht nachbauen kann. Oder es kollidiert schlecht mit unserem Thema. Und dann muss ich versuchen, die beiden so ähnlich wie möglich aussehen zu lassen, weil die Leute merken, dass diese Anwendung etwas anders aussieht. Man merkt es nicht unbedingt explizit, aber unterschwellig und es fühlt sich nicht ganz richtig an.
Max: Das ist eine echte Herausforderung, nicht wahr. Das ist etwas, was man auf einem Mac oder Windows nicht tun müsste.
Simon: Nein, denn es gibt nur das eine Toolkit, richtig. Und die andere Sache, die kürzlich dazukam, ist Qt. Denn der neue PDF-Viewer - als wir ihn dieses Mal eingeführt haben - ich meine Xpdf ist so alt und veraltet, dass wir ihn loswerden mussten. Es war eines der Dinge, die vom ersten Tag an auf meiner Liste standen, wir brauchen einen neuen PDF-Viewer, und ich bin endlich dazu gekommen, es zu tun. Ich habe jeden PDF-Viewer ausprobiert, der sich auf dem Raspberry Pi installieren ließ. Die Oberfläche von Xpdf besteht aus einer Liste von Seiten an der Seite, anstatt dass man weiter durch die Seiten blättern kann, und so weiter und so fort. Und es sollte sich wie ein moderner PDF-Viewer anfühlen. Der beste Kandidat war der Qpdf-Viewer, der eine Qt-Anwendung ist. Es sah also nicht wie etwas anderes auf der Plattform aus. Meine nächste Herausforderung war also, das Qt-Thema so ähnlich wie unser GTK-Thema aussehen zu lassen wie nur möglich. Und das hat mehrere Wochen Arbeit gekostet. Auch hier habe ich eine Anwendung entwickelt, die Dinge wie die Fenstereinstellungen und die Einstellungen für das Erscheinungsbild des Fensters ändert. Das muss also angepasst werden, um sicherzustellen, dass es die [Qt-Konfigurationsdateien ebenfalls] ändert, wenn man dort etwas ändert. Ich bin immer noch frustriert - ich habe es geschafft, dass sie so gut wie identisch aussehen. Das Einzige, was ich nicht kann, sind Auto-Shortcuts. Wenn man also die Alt-Taste gedrückt hält, erscheinen die Unterstriche in den Menü-Shortcuts. Qt unterstützt das nicht. Ich habe tatsächlich ein paar Tage damit verbracht, den Qt-Code durchzugehen und herauszufinden, wie ich dies zu LibreOffice hinzufügen kann. LibreOffice verfügte nicht über diese Funktion, bis ich sie hinzufügte.
Max: Worauf basiert LibreOffice eigentlich?
Simon: LibreOffice ist ein eigenes, völlig anderes Toolkit. Und es unterstützte diese automatische Hervorhebung nicht, also wurde der LibreOffice-Code, der das tut, von mir geschrieben. Denn ich habe entschieden, dass wir das brauchen. Und ich habe es upstream gemacht. Und sie sagten: "Oh, das ist gegen eine alte Version - kannst du das auch gegen die neue Version machen." Und ich sagte: "Nein, dafür habe ich wirklich keine Zeit. Hier ist es, machen Sie damit, was Sie wollen - es ist eher für uns als für Sie." Und innerhalb von etwa einer Woche hatte jemand anderes in LibreOffice diesen Code genommen, auf den sie gewartet hatten, dass jemand ihn schreibt, und ihn in die [aktuelle] Version übernommen. Es schien, als hätte ich das getan, worauf die Leute schon lange gewartet hatten, und das ist ein sehr schönes Gefühl. Ich habe mir überlegt, dasselbe für Qt zu tun, aber es wäre ein Alptraum, es hinzuzufügen. Es gibt nicht die nötigen Hooks, um das zu tun - die Meldungen, die einem sagen, wo die Taste gedrückt wird. Ich habe ein paar Tage damit verbracht, mir das anzusehen und beschlossen, dass ich einfach ohne es leben muss. Das ist der Hauptunterschied zwischen dem Qpdf-Viewer und anderen Programmen auf der Plattform - er hat ständig Unterstriche unter allen Beschleunigern und man kann sie nicht abschalten. Irgendwann werden wir das Ganze vielleicht in GTK umwandeln, aber das ist eine große Aufgabe.
Max: Wie viel Arbeit wäre es eigentlich, den Qpdf-Viewer in GTK umzuschreiben?
Simon: Ich weiß es nicht, um ehrlich zu sein. Eben hat mich gebeten, das zu prüfen. Das eigentliche Rendern von PDFs wird von einer Bibliothek eines Drittanbieters durchgeführt. Das ist also in Ordnung - es geht nur darum, die gesamte Shell um sie herum neu zu erstellen. Und die Oberfläche ist nicht sonderlich kompliziert. Sie haben eine Symbolleiste, ein paar Schaltflächen, ein paar Menüs. Es hängt sehr davon ab, wie viele Einstellungsdialoge es gibt, denn man müsste jeden einzelnen davon neu erstellen.
Max: Im Grunde müssten Sie die gesamte Schnittstelle neu schreiben.
Simon: Ja, schreiben Sie das Ganze neu. Das kann man auf keinen Fall automatisiert machen, das muss man von Hand machen. Also ja, ich glaube, das wäre ein zu großer Aufwand. Aber es wäre schön, wenn man die Unterstriche einfach loswerden könnte. (lacht). Wollen wir drei Monate lang damit verbringen, die Unterstriche loszuwerden? Wahrscheinlich nicht, es gibt wahrscheinlich bessere Dinge, mit denen ich meine Zeit verbringen könnte.
Max: Gibt es tatsächlich eine Lesefunktion mit Registerkarten?
Simon: Ich glaube schon, aber ich bin mir nicht sicher - ich habe es nie eingeschaltet.
Max: Eine andere Sache - ich persönlich habe mit Linux-PDF-Viewern Probleme beim Ausfüllen von PDF-Formularen. Das ist eine Sache, die für die Büroarbeit wichtig ist, z.B. bei Behörden.
Simon: Ja, ich weiß. Ich muss es überprüfen, ich habe es nie ausprobiert.
Max: Diese Besonderheit scheint schwierig zu sein.
Simon: Ich werde mir das mal ansehen - das ist eine gute Frage.
Max: Zurück zum Raspbian Desktop. Welche anderen Probleme sind Sie planen, zu beheben?
Simon: Jetzt arbeite ich schon seit fast vier Jahren daran. Ich denke, ich habe das meiste schon so hinbekommen, wie ich es gerne hätte. Ich glaube, was wir jetzt in Erwägung ziehen, ist die Anpassung einiger weiterer Icons. Icons sind eine sehr große Aufgabe - ein einziges Icon erfordert eine Menge Arbeit. Man muss sicherstellen, dass es in allen verschiedenen Größen funktioniert, man muss all diese [Bearbeitung] auf individueller Pixelebene in jeder der zwölf Größen vornehmen. Alle Systemsymbole sind also fertig, ich denke, unser nächster Schritt werden die Symbolleistensymbole sein. Wir verwenden derzeit ein Fallback-Theme, das heißt, sie stammen aus einem - ich glaube, es ist ein GNOME-Fallback-Theme, das wir im Moment verwenden. Und wir werden uns die Symbolleisten in LibreOffice, im Texteditor und im PDF-Viewer ansehen, damit diese mit unserem Look and Feel übereinstimmen.
Max: Weil LibreOffice seine eigenen Symbole verwendet ...
Simon: Es gibt einen Standardsatz von Symbolen, die für Desktop-Umgebungen definiert sind. Dinge wie Ausschneiden und Einfügen, Datei und Kopieren sind alles Standards. Es gibt mehrere Symbolthemen, die alle ihre eigenen Interpretationen dieser Symbole haben, LibreOffice fügt dann noch einige eigene hinzu. Für viele dieser Symbole wird das Symbolthema verwendet. Sie haben also bereits das Problem, dass zwei Designer an den Symbolen arbeiten und sie unterschiedlich aussehen - und auch das ist etwas, was wir zu vermeiden versuchen. Wir versuchen, alle Icons so aussehen zu lassen, als kämen sie aus demselben Haus. Denn alle Apple-Symbole sehen aus, als kämen sie aus demselben Haus. Meistens. Es geht nur darum, visuelle Konsistenz zu erreichen. Die Symbolleistensymbole sind also der nächste Bereich, den wir uns ansehen werden. Was das allgemeine Erscheinungsbild angeht, so haben sich die Leute inzwischen an das Aussehen gewöhnt. Was ich für die Zukunft in Erwägung ziehen würde, ist das, was Apple getan hat, als sie von der jeweiligen MacOS-Version umgestiegen sind - Apple hatte eine ziemlich große Änderung der Benutzeroberfläche.
Max: Früher haben sie dieses natürliche Material gemacht, und dann sind sie weggegangen ...
Simon: Sie haben die Schriftart geändert. Ich glaube, als sie von Katzen auf Berge umgestiegen sind, haben sie die Schriftart geändert.
Max: Haben sie nicht Helvetica verwendet?
Simon: Nein, das ist nicht die Systemschriftart. Ich kann mich nicht erinnern. Sie haben die Schriftart geändert und einige Änderungen an der Benutzeroberfläche vorgenommen. Sie waren nicht groß, aber sie haben ein UI-Design, das zu diesem Zeitpunkt bereits zehn Jahre oder so alt war, ein wenig verändert, und es wurde plötzlich ein bisschen besser.
Max: Ein aufgefrischtes Design.
Simon: Ganz genau. Ich habe nicht die Absicht, unser gesamtes Erscheinungsbild zu ändern, weil ich denke, dass es ziemlich gut ist, wie es ist, aber wir denken darüber nach, vielleicht eine ähnliche Sache zu machen - um zu zeigen, dass wir eine neue Version gemacht haben, wenn wir zu Buster [Anmerkung des Übersetzers: nächste Version von Debian] wechseln. Eines der Dinge, die etwas frustrierend sind, ist, dass als wir von Jessie auf Stretch umgestiegen sind, es niemand wirklich bemerkt hat. (lacht) Weil es keinen visuellen Unterschied gibt - sie sehen genau gleich aus. "Oh, wir haben jetzt Stretch - toll. Wo ist da der Unterschied? Nun, es sieht genauso aus."
Max: Vielleicht könnten Sie ein paar andere Hintergrundbilder machen?
Simon: Die Hintergrundbilder sind wunderschön - sie wurden von einem Mann gemacht, der hier viel fotografiert. Und sie sind wunderschön. Als wir sie sahen, haben Eben und ich uns sofort hingesetzt und das Bild mit der Straße angeschaut - wir sagten, das wird der Hintergrund sein. Und so sehr ich das Bild auch liebe, ich habe es jetzt schon oft gesehen. Und es ist lustig - immer wenn ich ein Bild von einer Raspberry Pi Jam oder einem Code Club sehe, ist es einfach mein Desktop-Design - es ist wunderbar zu sehen, dass die Leute es benutzen. Aber sie haben immer das gleiche Desktop-Bild. Und dann heißt es: Wir haben viele andere Bilder reingestellt, probieren Sie doch mal die anderen aus ...! Das ist eine weitere Sache, die wir für die neue [Version] auffrischen könnten. Ich habe tatsächlich etwas geschrieben, um den Desktophintergrund beim Booten zufällig zu ändern, das war eine der Sachen, die jemand vorgeschlagen hat, aber ich wurde irgendwie von etwas anderem abgelenkt, nachdem ich es fertiggestellt hatte, also habe ich es nie wirklich aktiviert. Das ist ein guter Punkt - ich werde es einschalten, falls die Leute es wollen. Einige der anderen Bilder sind sehr schön.
Was das allgemeine Erscheinungsbild betrifft, so bin ich damit zufrieden. Die andere Sache, die wir in Betracht ziehen, ist, dass ich vom ersten Tag an eine Liste von Anwendungen hatte, die ich als Standard im Image haben wollte. Und jetzt sind wir an dem Punkt angelangt - Dinge wie eine Office-Suite, E-Mail, ein schöner PDF-Viewer, natürlich alle Programmier-Tools, die wir haben, ein schöner Text-Editor, aber eine der Anwendungen, die noch fehlt, ist ein Multimedia-Player in der GUI. Der Grund, warum wir so etwas noch nicht auf den Markt gebracht haben, ist, dass wir die gleiche Hardware-Beschleunigung wie bei der Videowiedergabe in Chromium usw. haben wollten. Das steht buchstäblich seit dem ersten Tag auf meiner Liste. Wir arbeiten jetzt tatsächlich daran - ich kann kein Datum versprechen, an dem es erscheinen wird, aber es ist tatsächlich in Arbeit und ich hoffe, dass wir es recht bald sehen können. Das ist das Einzige, was uns meiner Meinung nach noch fehlt. Es basiert auf VLC.
Max: Das wäre absolut fantastisch. Es ist einer der besten Player. Es ist keine Werbung drin.
Simon: Es ist ein gutes Produkt. Es spielt alles ab. Ich benutze es zu Hause, ich benutze es auf meinem Mac. Es war das Naheliegendste, es zu benutzen. Sie haben [bereits damit begonnen, die Hardware-Beschleunigung im Code zu aktivieren].
Das ist, glaube ich, die letzte Anwendung, die ich wirklich sehen wollte und die wir nicht eingebaut haben. Mit dem aktualisierten PDF-Viewer haben wir einen Funktionsumfang, der mit dem vergleichbar ist, den man unter Windows oder Mac erhält. Das ist der Punkt, zu dem ich kommen wollte. Also die Dinge, die man heutzutage von einem Computer erwartet. Ich wollte sicherstellen, dass wir das alles haben. Und natürlich ist die andere Sache, die wir mit der letzten Version eingeführt haben, die empfohlene Softwareanwendung, was wiederum etwas ist, das ich ziemlich früh machen wollte. Denn das Hinzufügen und Entfernen von Software ist für erfahrene Benutzer, die wissen, wie man apt benutzt, kein Problem. Ich habe ziemlich früh ein GUI-Programm zum Hinzufügen und Entfernen von Software hinzugefügt, was ziemlich viel Arbeit war, um es aufzuräumen, ich weiß nicht mehr, wie es heißt. Die Benutzeroberfläche war ein ziemlicher Albtraum, als ich sie mir zum ersten Mal ansah. Ich habe mir alle Pakete angeschaut, die es gibt, um dasjenige zu finden, das vom Aussehen her am besten zu uns passt, aber [kaum jemand] benutzt es. Weil es einfach so viele Programme gibt, und es gibt keine Informationen darüber, welches die guten sind, und es gibt keine Informationen darüber, was sie eigentlich tun. Und tatsächlich kann man damit Systemaktualisierungen und andere Dinge durchführen. Aber wie gesagt, niemand benutzt es dafür, jeder benutzt die Kommandozeile. Was auch in Ordnung ist. Aber ich hatte das Gefühl, dass - vor vielen Jahren, bevor ich anfing, hatten wir den Pi Store und solche Sachen, und der ist irgendwie gestorben.
Max: Was war eigentlich der Grund für das Sterben des Pi Stores?
Simon: Ich glaube, die Leute haben einfach aufgehört, es zu unterstützen. Ich weiß nicht, ob es jemals viel davon gab. Ich glaube, es wurde von einer dritten Partei bereitgestellt, und es wurde einfach nicht mehr unterstützt. Ich glaube nicht, dass es eine bewusste Entscheidung war ...
Max: Es ist nie richtig losgegangen ...?
Simon: Nein, denke ich. Die Leute sind an App-Stores auf Plattformen wie Mobilgeräten und heutzutage auch auf dem Mac und Windows gewöhnt - und eines der Dinge, die Eben immer gesagt hat, ist, dass es bei dem ganzen Download-Paket teilweise um den Desktop und teilweise um die Kuratierung von Software geht. Es geht darum, Software anzubieten, die wir für gut halten. Und bis jetzt konnten wir das nur tun, indem wir alles in das Image packten, weil die Leute es sonst nicht finden würden. Und so wurde das Image immer größer und größer, je mehr Leute uns Software zur Verfügung stellten. Und es ist großartig, dass die Leute uns diese Software zur Verfügung stellen - ich möchte die Leute nicht davon abhalten, das zu tun - einige der Dinge, die wir haben, sind für unsere Nutzer kostenlos, während andere dafür bezahlen müssen. Das ist fantastisch.
Max: Das Wolfram-Zeug ...?
Simon: Die Wolfram-Sachen. RealVNC. Dies ist kommerzielle Software, die Pi-Benutzer kostenlos erhalten. Und wir sind den betreffenden Unternehmen sehr dankbar dafür, dass sie das tun. Aber der einzige Weg, wie wir diese Software an die Leute bringen konnten, war: "OK, wir fügen sie dem Image hinzu". Und das Image wird jetzt immer größer - das Image ist jetzt 1,75 GB groß. Das ist groß. Ich weiß, dass viele Leute denken: "Ja, wir haben jetzt eine schnelle Breitbandverbindung. Wen kümmert's also?" Aber ich kann mich daran erinnern, dass ich für das Herunterladen eines Gigabytes drei oder vier Stunden gebraucht habe.
Max: Außerdem haben einige der Länder, in die die Raspberry Pi Foundation gehen möchte, nicht diese Art von Breitbandanschluss.
Simon: Ganz genau. Ich denke also, dass das zu groß ist. Die empfohlene Software sollte die Größe des heruntergeladenen Bildes verringern, die Anzahl der Menüs reduzieren und versuchen, die Dinge ein wenig zu entrümpeln. Warum sollen die Leute immer noch wissen: "Hey, es gibt diese großartigen Anwendungen - sie sind kostenlos, es ist einfach, sie zu installieren. Probieren Sie sie doch einfach mal aus". Aber ohne jeden zu zwingen, sie ständig herunterzuladen, was ich immer als etwas unfair empfunden habe: "Du musst alles herunterladen, was wir dir vorschreiben."
Ja, ich denke, das ist eine gute Ausgangsposition - wir haben quasi unseren eigenen kleinen App-Store mit dem Vorteil, dass alle Apps kostenlos sind.
Max: Das ist eigentlich auch sehr wichtig für Leute, die neu sind. Linux - das funktioniert ein bisschen anders als unter Windows. Unter Windows laden Sie das Installationsprogramm herunter und führen es aus. Ich denke, dass die Art und Weise, wie Linux das macht, viel cleverer ist, mit dem Paketmanager.
Simon: Es ist viel einfacher. apt ist großartig, aber auch hier ist eines meiner Ziele, dass die Leute kein Terminal benutzen müssen. Wieder [gehen die alten Linux-Benutzer]: "Warum bringst du den Leuten nicht bei, wie man das Terminal benutzt?" - Nun, sie sollten kein Terminal benutzen müssen, sie sind es nicht gewohnt, ein Terminal zu benutzen. Das Terminal ist da, wenn man es benutzen will, deshalb ist es in der Taskleiste, weil es eine nützliche Sache ist. Aber für jemanden, der nur einen Mac oder einen Windows-PC kennt, ist die Vorstellung, dass er plötzlich anfangen muss, etwas einzutippen, um Programme zu installieren - nein. Damit können sie sich später beschäftigen. Eines der Designziele war immer - die Leute sollten nicht sehen müssen, was in einem Terminal passiert. Es sollte alles einfach per Mausklick gehen.
Max: Sie wollen einfach nur ein einfaches Onboarding.
Simon: Ganz genau. Es ist alles da und unter der Haube, wenn sie damit spielen wollen. Wenn Sie verstehen wollen, wie ein Linux-System konfiguriert ist oder der X-Desktop konfiguriert ist, schauen Sie sich meine Anwendung an, die die Konfigurationsdateien ändert. Denn das zeigt Ihnen, wo die Dateien sind, was Sie dafür tun müssen und welche Zeilen in den Dateien wichtig sind. Ich denke, dass mein C wahrscheinlich nicht das beste Lernwerkzeug der Welt ist, aber wenn Sie mein C lesen können, können Sie sehen - das ist ein guter Ausgangspunkt. Wie ändert man also die Systemschriftart - "oh, hier gibt es eine Funktion, mit der man die Systemschriftart ändern kann - was macht man damit"?
Wenn Sie an dem Punkt angelangt sind, an dem Sie programmieren lernen, sollten Sie einige Beispielcodes lesen. Ich versuche, Code zu schreiben, der einigermaßen lesbar ist. Den kann man sich ansehen und dann daraus lernen. Es ist fast ein Werkzeug, das den Leuten hilft, zu lernen, wie man einen Linux-Desktop konfiguriert - zusätzlich zu einer Möglichkeit, es selbst zu tun.
Max: Eines der Dinge, die Sie zuvor erwähnten, war Buster, die kommende Debian-Veröffentlichung. Welche Art von Änderungen erwarten Sie davon im Allgemeinen und für den Raspberry Pi im Speziellen?
Simon: Ich habe mir Buster noch nicht sehr oft angesehen. Wir hatten eine große Änderung, als wir von Wheezy zu Jessie wechselten, wegen systemd.
Max: Ich glaube, das war sehr wichtig für die Startgeschwindigkeit.
Simon: Ja, die Boot-Geschwindigkeit hat einen großen Unterschied gemacht. Ich habe mich mit Buster noch nicht eingehend beschäftigt, aber ich weiß nicht, ob es ähnlich große Änderungen gibt. Buster scheint unter der Haube eher evolutionär als revolutionär zu sein. Ich denke, bei all diesen Dingen - [wie ich schon sagte] haben die meisten Leute die Veränderung zwischen Jessie und Stretch nicht bemerkt. Ich glaube nicht, dass es in Buster große Änderungen aus Sicht der Benutzer geben wird. Ich denke, die Änderungen werden hauptsächlich evolutionär zwischen den Anwendungen sein. Aber ich habe mich noch nicht eingehend damit beschäftigt. Nur um Ihnen eine Vorstellung zu geben - Buster wird wahrscheinlich nicht vor dem ersten Quartal nächsten Jahres eingefroren, sondern wird wahrscheinlich etwa im zweiten Quartal nächsten Jahres zur stabilen Version. Als wir Jessie entwickelt haben, lagen wir ziemlich weit zurück. Ich glaube, unsere Jessie-Veröffentlichung war etwa 6 Monate nach der von Debian. Stretch waren wir viel näher dran, ich glaube, wir waren zwei Monate nach Debian. Und ich möchte dieses Mal in der gleichen [Zeitspanne] sein. Ich werde also in der ersten Hälfte des nächsten Jahres anfangen, mir Buster anzuschauen. Ich werde mir ansehen, was wir auf Buster portieren müssen. Aus meiner Sicht geht es vor allem darum, sicherzustellen, dass das Theming noch funktioniert, dass alles noch richtig aussieht und dass sich die Konfiguration nicht geändert hat. Auch wenn LXDE nicht so stark verändert wird, weil es nicht aktiv weiterentwickelt wird, wird es dennoch Änderungen geben. Und es wird ein neues GTK 3 geben, und ich kann jetzt schon sagen, ohne es mir anzusehen, dass ich wahrscheinlich einen Monat damit verbringen werde, alles unter GTK 3 zum Laufen zu bringen. Die Hälfte der Funktionen wird sich geändert haben, und es wird andere Dinge geben ... Das habe ich schon einmal erlebt. Ich möchte in einer Position sein, in der wir in der Lage sein werden, mit unserer eigenen Version von Buster ziemlich bald nach Debian live zu gehen, innerhalb eines Monats oder so. Wir haben jetzt die Erfahrung, das ein paar Mal zu tun, also wissen wir, wie es läuft. Also ja, wir werden Buster hoffentlich relativ bald nach Debian im nächsten Jahr einführen.
Max: Wir sprachen über Konsistenz, wir sprachen über eine einfache Möglichkeit, auf Pakete zuzugreifen, kuratierte Pakete, um einen guten Satz von Standardpaketen zu liefern. Was fehlt Ihrer Meinung nach noch in einer modernen Linux-Desktop-Umgebung?
Simon: Eine andere Sache, die ich erwähnen möchte, ist natürlich der Startup Wizard. Das war etwas, was wir tun wollten, um den Leuten die Einrichtung beim ersten Einschalten ein wenig zu erleichtern.
Max: Ich glaube, Sie haben einen Link zum Starten der empfohlenen Anwendungen am Ende des Startassistenten?
Simon: Wir haben es derzeit nicht, aber wir haben darüber nachgedacht, es zu tun. Der Startup-Assistent war eine interessante Sache, denn er entstand aus der Anforderung, ein Land für WiFi festzulegen. Für 5 GHz. Ohne dies konnten wir unsere drahtlose Hardware nicht zertifizieren - man muss den Benutzer zwingen, ein WiFi-Land auszuwählen, wenn man eine WiFi-Zertifizierung erhalten will. Und wir haben mit verschiedenen Möglichkeiten gespielt, dies zu tun. Keine davon war aus der Sicht des Benutzers besonders ideal. Außerdem gibt es Dinge wie - viele Pi-Benutzer ändern ihr Passwort nie. Wir haben in den letzten Jahren verschiedene Dinge getan, um die Sicherheit zu erhöhen - damit es keine klaffende Lücke im Pi gibt, damit sich Leute nicht mit einem Standardpasswort per SSH einloggen können usw. Es ärgert mich, dass wir das tun müssen. Es ärgert mich, dass Menschen kriminelle Dinge tun wollen, aber so ist das Leben. In einer idealen Welt hätten wir das nicht tun müssen. Es ist eine Schande, dass wir es tun mussten. Wir haben immer versucht, ein Gleichgewicht zu finden, um die Nutzer nicht zu sehr zu verärgern, indem wir die Sicherheit zu unangenehm machen, und um zu verhindern, dass die Pis der Nutzer übernommen und für böswillige Zwecke verwendet werden können. Ich denke, dass ich bei jeder Änderung, die wir vorgenommen haben, die anschließenden Kommentare in den Foren genau verfolgt habe. Und solange die Hälfte von ihnen sagt: "Ihr seid zu weit gegangen", und die andere Hälfte sagt: "Ihr seid nicht weit genug gegangen", haben wir das Richtige getan. Denn sie werden nie alle sagen: "Hey, ihr habt genau das Richtige getan." Man wird nie alle zufrieden stellen können, schon gar nicht mit Dingen wie Sicherheit. Also wollten wir versuchen, einen Weg zu finden - wiederum ohne es den Leuten aufzudrängen - "Möchten Sie Ihr Passwort ändern". Das hatte jemand anderes vorgeschlagen.
Ich habe mit dem Linux-Lokalisierungscode herumgespielt - wie man die Tastatur einstellt und solche Dinge einrichtet. Auch das ist enorm kompliziert für einen Benutzer, der so etwas noch nie gesehen hat. Und ich habe mir überlegt, dass wir vielleicht eine Menge dieser Dinge an einem Ort zusammenfassen können. Daraus ist dann der Startup Wizard entstanden. Der erste Teil davon bestand darin, dass ich mir überlegte: "OK, was ist das Minimum an Dingen, die ich von einem Benutzer verlangen kann, damit er am Ende des Tages ein funktionierendes WiFi hat, die richtige Sprache, die richtige Tastatur und so weiter. Und wie viele Bedienelemente kann ich ihm dafür mindestens zur Verfügung stellen? Daraus ist etwas entstanden, das in mancher Hinsicht ziemlich restriktiv ist - und ich wusste, dass wir Beschwerden darüber bekommen würden - [zum Beispiel, wenn] ich in Japan bin, aber meinen Pi auf Englisch benutzen will und das nicht kann. Ich weiß, dass das nicht geht, aber ich habe von vornherein gesagt, dass wir die alten Konfigurationstools nicht entfernt haben, sie sind immer noch da - aber noch einmal, dies ist für die Mehrheit der Benutzer, die einen einfachen Anwendungsfall haben, sie sagen jetzt einfach: "Ich bin in diesem Land, ich verwende meinen Pi in dieser Sprache, die in diesem Land verwendet wird, und meine Zeitzone ist diese Stadt in diesem Land." Und sie müssen sich nicht durch den riesigen Morast von anderen Dingen wühlen, durch den sie sich sonst durchwühlen müssten.
Darin habe ich einige Dinge falsch verstanden - eine amüsante Sache, die mir passiert ist: Es gibt in Linux keine automatische Zuordnung zwischen Land und Tastaturcode. Viele Tastaturen verwenden einfach den Ländercode als Namen, viele aber auch nicht. Und ich habe nicht bemerkt, wie weit verbreitet das Problem ist, dass es keine Eins-zu-Eins-Zuordnung gibt. Als wir das Programm auf den Markt brachten, erfuhr ich zum ersten Mal davon, als sich jemand in Argentinien darüber beschwerte, dass er auf seiner Tastatur tippte und das Ergebnis in Arabisch erschien. Ich sah mir das an und stellte fest: "OK, du hast Recht - weil Argentinien den Ländercode AR hat, gibt es keine AR-Tastatur, sondern eine ARA-Tastatur, die von allen Ländern im Nahen Osten verwendet wird. OK, das müssen wir ändern." Jemand hat mich darauf hingewiesen, dass es keine Datenbank in Debian selbst gibt, der einzige Ort, an dem es eine Datenbank dafür gibt, ist im Debian-Installer. Jemand hat mich hilfsbereit darauf hingewiesen. Damit habe ich die letzte Woche verbracht, um diese Datenbank zu besorgen [und sie hinzuzufügen]. Die Tastaturen in der nächsten Veröffentlichung sollten also genauer sein. Das ist die Art von Dingen, die man erst dann wirklich herausfindet, wenn man das Produkt herausbringt und Zehntausende von Menschen auf der ganzen Welt es benutzen und über ihre Probleme berichten. Bei all dem wusste ich, dass es keine Möglichkeit gibt, es auf Anhieb perfekt hinzubekommen. In solchen Fällen ist es wirklich hilfreich, die Fehlerberichte zurückzubekommen. Sie helfen einem, die Stellen zu erkennen, die man übersehen hat.
Offensichtlich sind wir im Vereinigten Königreich. Ich kann die deutschen Übersetzungen nicht testen. Denn ich kann kein Deutsch lesen, wohl aber Französisch und etwas Deutsch. Die Lokalisierung in Linux ist tatsächlich ein großes Problem - da Sie nach Problemen gefragt haben. Ich glaube nicht, dass ich es lösen kann, aber ich denke, ich kann es besser machen. Die Unterstützung für die Lokalisierung ist nicht so gut, wie sie sein sollte. Ich gebe Ihnen ein weiteres Beispiel. Es gibt eine Anwendung namens Zenity. Und Zenity wird verwendet, um GTK-Dialoge aus Shell-Skripten zu erstellen. Sie können dazu sagen: "Erstelle mir einen Passwortdialog oder ein Listenfeld oder so etwas." Und Zenity erstellt dann ein Steuerelement, mit dem der Benutzer in GTK interagieren kann, so dass es zu den Dingen passt. Und das nutzen wir für ein paar Dinge. Mir ist aufgefallen, dass in einigen dieser Zenity-Dialoge, wenn ich das System auf Deutsch umgestellt habe, die Hälfte des Textes in der Zenity-Dialogbox auf Deutsch umgestellt wurde und die andere Hälfte auf Englisch blieb. Ich habe die Lokalisierungsdatenbanken von Zenity durchsucht, und es gab deutsche und französische Übersetzungen für alle Strings darin. Ich konnte mir nicht erklären, warum etwas nicht übersetzt wurde, also habe ich ein paar Stunden damit verbracht, den Code durchzugehen. Und es stellte sich heraus, dass in der Version von Zenity, die mit Stretch ausgeliefert wird, die Hälfte der Übersetzungsstrings defekt ist. Der Code wird die Strings also nie richtig übersetzen.
Max: Wie kommt es, dass sie kaputt sind?
Simon: Ich glaube, was passiert war, war, dass die Menschen versucht hatten, von einem System, in dem sie Dinge taten, zu einem anderen System, in dem sie Dinge taten, überzugehen, und dabei auf halbem Weg stecken geblieben waren. Aber niemand hatte es bemerkt. Es kommt mir seltsam vor, dass zu keinem Zeitpunkt ein deutscher Pi-Nutzer zu mir kam und sagte: "Moment mal, warum ist nur die Hälfte der Sachen in der Schachtel auf Englisch und die andere Hälfte auf Deutsch?"
Max: Ich glaube, die Benutzer sind daran gewöhnt, dass der Computer nicht funktioniert.
Simon: Das ist genau der Punkt. Ich habe einen Kollegen neben mir sitzen, der ein eingefleischter Linux-Enthusiast ist. Er würde keinen Mac oder Windows-Rechner anfassen, selbst wenn man ihn dazu zwingen würde - er ist zum Teil Ukrainer und testet oft in verschiedenen Sprachen. Ich fragte ihn: "Ist Ihnen schon einmal aufgefallen, dass in diesen Dialogfeldern der Text zur Hälfte auf Ukrainisch und zur Hälfte auf Englisch steht?" Und er sagte: "Nun, das ist einfach so." Und ich sagte: "Nein, das sollte es nicht sein!" Das ist jetzt behoben. In der neuesten Version von Zenity hat jemand bemerkt, dass dies nicht funktioniert. Deshalb liefern wir jetzt die Buster-Version von Zenity zusätzlich zu Stretch aus. Wir haben einen Backport gemacht, damit es funktioniert. Aber es sind solche Dinge. Bei der Lokalisierung kann man sehr leicht etwas falsch machen. Manchmal reichen Leute Pull Requests für unseren Code ein. Wenn Leute Pull-Requests für Fehlerbehebungen und solche Dinge einreichen, nehme ich sie sehr gerne an. Wenn Leute kreativ sind und beschließen, dass ich diese neue Sache für dich schreibe - dann [finde ich] unweigerlich, dass sie die Lokalisierungsunterstützung nicht eingebaut haben, und solche Dinge. Weil sie nicht daran denken, es zu tun. Sie machen es einfach in ihrer eigenen Sprache. Die Leute, die über die Lokalisierungsunterstützung in Linux nachgedacht haben - es ist eigentlich ein ziemlich gutes System, es funktioniert sehr gut. Und es gibt viele Tools, die einem helfen, es richtig zu machen. Aber wie Sie schon sagten - die Leute neigen nicht dazu, sich zu beschweren, wenn es nicht klappt. Sie akzeptieren einfach: "Das funktioniert nicht". Es gibt keinen Grund, warum das nicht sehr gut funktionieren sollte - weil [Linux] einen Weg hat, es zu tun. Das ist also eines der Dinge, die ich in Zukunft gerne besser gemacht sehen würde. Wir versuchen, [hier] Verbesserungen vorzunehmen. Ich denke, Pi funktioniert bereits sehr gut auf Englisch. Es ärgert mich, wenn ich mir unser Menü ansehe - ich schalte es manchmal zum Testen auf andere Sprachen um -, dass drei Viertel davon ins Deutsche oder Französische übersetzt wurden, und es gibt Dinge - vier oder fünf Dinge -, die offensichtlich nicht übersetzt wurden. Das finde ich einfach nur ärgerlich und ich würde es gerne besser machen. Es gibt einige automatisierte Websites, die einem bei der Übersetzung helfen, und man hat mich darauf hingewiesen, dass man dort einfach seinen Code eingibt, und dann kommen Leute vorbei und übersetzen ihn kostenlos. So etwas würde ich gerne einrichten. Das steht auf der Liste der zu erledigenden Dinge ....
Max... aber man muss seine Prioritäten abwägen.
Simon: Ganz genau. Aber ich denke, in Bezug auf den Linux-Desktop, die Unterstützung der Internationalisierung, wäre es schön, wenn sie besser wäre. Wir als Unternehmen können nicht losziehen und all diese Dinge übersetzen lassen. Wir sind darauf angewiesen, dass die Benutzer uns mit Übersetzungen versorgen. Und der Mechanismus, mit dem die Benutzer uns Übersetzungen zur Verfügung stellen können, ist im Moment sehr umständlich - es geht um Pull-Requests auf GitHub. Eine vergleichsweise kleine Anzahl von Leuten ist in der Lage, das zu tun, während eine vergleichsweise große Anzahl von Leuten in der Lage ist, eine unserer Anwendungen in eine andere Sprache zu übersetzen. Das ist also etwas, das wir in Zukunft gerne besser machen würden.
Insgesamt halte ich den Linux-Desktop, den wir ausliefern, für ziemlich gut, ich denke, wir sind in etwa da, wo ich sein möchte. Es gibt keine großen Änderungen, die ich in diesem Stadium vornehmen möchte. Ich denke, die meisten Dinge, die ich am ersten Tag gesehen und [als] schlecht notiert habe, [sind jetzt behoben].
Max: Sie haben das Gefühl, etwas erreicht zu haben, ...
Simon: Eines der Dinge, die ich gerne mache, ist eine Karte mit Wheezy, wie es am ersten Tag war, und eine, wie wir es jetzt haben - und - das ist ein anderer Computer. Und, ja, ich bin sehr stolz darauf. Was meine Karriere angeht, ist der Desktop das, worauf ich am meisten stolz bin, weil 95 % davon meine eigene Arbeit ist. Ich kann ihn mir ansehen und sagen: Ich habe den Entwurf gemacht, ich habe die Implementierung gemacht, ich habe den Code geschrieben, ich habe die Pakete erstellt. Ich arbeite mit einem Kollegen zusammen, der einen großen Teil der Bilderstellung und einige der zugrundeliegenden Linux-Sachen übernimmt, und ich arbeite mit einem Grafikdesigner zusammen, der einige Icons entworfen hat. Aber ich habe das Gefühl, dass der Desktop mein Baby ist, das ist das Ding, das ich geschaffen habe. Und ich bin wirklich stolz darauf - ich denke, ich habe das Recht dazu - ich denke, die Erfahrung bei der Verwendung eines Pi ist jetzt vergleichbar mit der Verwendung eines Windows-Rechners oder eines Macs, und das ist der Punkt, an dem wir sein wollen.
Max: Das ist wichtig, um den Pi freundlicher und zugänglicher zu machen, als eine Plattform für alle.
Simon: Ganz genau. Eben hat immer gesagt, er möchte, dass der Pi ein Allzweckcomputer ist. Und der Desktop ist ein wichtiger Teil davon. Wir sind jetzt an einem Punkt angelangt, an dem der Desktop ihn nicht mehr davon abhält, ein Allzweckcomputer zu sein. Und ich denke, dass LXDE vor vier Jahren für einige Leute eine Einstiegshürde gewesen wäre. Der Desktop ist das, worauf ich am meisten stolz bin - und das ist ein guter Punkt.
Max: Woher nehmen Sie eigentlich die Inspiration für die Arbeit, die Sie tun? Gefühle, Ideen, ...
Simon: Die Inspiration kommt meistens daher, dass ich mir etwas ansehe und denke: "Gott, das ist wirklich ärgerlich. Ich muss das besser machen können. "Es ist nicht so sehr die positive Inspiration, sondern die Frustration über Dinge, die nicht so gut funktionieren, wie sie es könnten. Das klingt nach einer sehr negativen Sichtweise. Aber: Ich sitze da und denke: "Oh Gott, ist das wirklich die beste Art, das zu tun?" Dann sitze ich da und denke: "Ich könnte dies tun, ich könnte das tun.
Ich neige nicht dazu, mir anzuschauen, wie andere Dinge tun. Ich neige dazu, mir zu überlegen: Was ist die kürzeste Abfolge von Schritten, die ich tun kann, um an den Punkt zu gelangen, an dem ich sein möchte? Was ist die geringste Anzahl von Dingen, die ich den Benutzer tun lassen will, um das zu erreichen, was er tun will. Und genau das ist es, was Sie tun wollen.
Max: Ausschneiden statt hinzufügen ...
Simon: Ja, es geht eher darum, etwas wegzulassen, als Schritte hinzuzufügen. Vor vielen Jahren habe ich mich mit der Gestaltung von Benutzeroberflächen für Telefone beschäftigt. Das war damals bei Microsoft. Ich arbeitete für ein Auftragsunternehmen im Bereich Forschung und Entwicklung, und wir arbeiteten an dem ersten Videotelefon, das auf den Markt kommen sollte. Ich traf mich mit dem GUI-Designteam von Microsoft in Seattle - das war ungefähr 1999, und Microsoft galt nicht gerade als Vorreiter in Sachen UI-Design. Wenn Sie ein Beispiel für schlechtes Design suchen, nehmen Sie eines von Microsoft und nicht eines von Apple, das gut war. Natürlich sind sie heute viel besser. Und sie hatten eine Liste mit Richtlinien für das UI-Design. Das hat mich verblüfft - denn es waren so gute Richtlinien für die Gestaltung einer Benutzeroberfläche - und Microsoft produzierte so schlechte Benutzeroberflächen. "Ihr habt diese brillanten Richtlinien, was zum Teufel läuft zwischen diesen Richtlinien und dem Endprodukt schief?"
Aber eines der wichtigsten Dinge, die mir im Gedächtnis geblieben sind und an die ich mich auch heute noch halte, ist, dass - damit ich das richtig verstehe - "das Anbieten von Optionen für den Nutzer kein Ersatz dafür ist, im Vorfeld die richtige Entscheidung zu treffen".
Es ist sehr einfach zu sagen: "Ich weiß nicht, ob wir das so oder so machen sollen, also setzen wir ein Kästchen und lassen den Benutzer wählen." In meiner früheren Laufbahn im UI-Design, als ich für die Auftragsforschung und -entwicklung tätig war, gab es immer diese Tendenz: "Wir wissen nicht, was der Benutzer hier tun will, also lassen wir ihm die Wahl. Machen wir es hier anpassbar, damit sie tun können, was sie wollen." Mein Beispiel ist immer der Compact Disc Player. Als die ersten CD-Player auf den Markt kamen, konnte man programmieren, welche Titel man abspielen wollte. Zum Beispiel zuerst Track 1, dann Track 5 und dann Track 3 und dann Track 4. Und das hat jeder in den ersten zwanzig Minuten gemacht, in denen er einen CD-Player besaß. Und sie haben ihn nie wieder angefasst. Wenn man [heute] einen CD-Player kauft - bei den letzten drei bis vier CD-Playern, die ich besessen habe, kann man sie nicht mehr programmieren, weil sie gemerkt haben, dass das niemand machen wollte. Sie haben den Nutzern diese Funktion zur Verfügung gestellt, die nur eine winzige Anzahl von Nutzern jemals verwendet hat, aber sie war für alle da. Das ist das Gleiche - wenn ich es im Vorfeld richtig mache, muss ich die Entscheidung nicht auf die Benutzer verschieben, weil ich die Entscheidung nicht treffen kann. Einer der wichtigsten Aspekte des UI-Designs ist der Mut, etwas zu wagen: Ich glaube, so sollte man es machen. Ich glaube, das ist der Weg, der für alle am besten ist. Und man wird nicht immer richtig liegen. Und man muss akzeptieren, dass man manchmal so schlechtes Feedback von den Nutzern bekommt, dass man denkt: OK, das war falsch, ich hätte es anders machen sollen.
Und es ist schon ein paar Mal auf dem Pi passiert. Ich habe die Uhreinstellungen entfernt. "Du hast die Uhreinstellungen weggenommen!!!" "OK, ich stelle sie wieder ein." Es geht darum, sich in die Denkweise hineinzuversetzen, OK, wofür benutzt eine durchschnittliche Person das, was will sie eigentlich tun, was will sie eigentlich erreichen, wo will sie hin. Wie kann ich ihnen helfen, dorthin zu gelangen, ohne ihnen viele Entscheidungen in den Weg zu legen. Wie wollen Sie das machen? Möchten Sie dieses oder jenes tun? Dieses Zwischenziel ist ihnen egal, sie wollen hier drüben sein. Und es geht darum, wie sie dorthin kommen. Wie kann ich sie so schnell wie möglich dorthin bringen? Das ist sozusagen die Priorität, um die es geht - es geht darum, dass wir die richtige Entscheidung für Sie treffen, anstatt dass die Benutzer die Entscheidung selbst treffen müssen. Das hört sich ein bisschen diktatorisch an, nach "Ich weiß, was das Beste für dich ist", aber andererseits ist es genau das, worum es beim Usability Design geht - es geht darum, ein Gefühl dafür zu haben, was das Beste für die Menschen ist.
Max: Damit die Dinge intuitiv funktionieren, ohne dass der Benutzer viel Zeit investieren muss, um zu lernen, wie die Dinge funktionieren.
Simon: Ja. Um ein wenig über die Theorie des UI-Designs zu sprechen, es gibt verschiedene Lehrbücher über UI-Design, aber das beste heißt "Die Psychologie der alltäglichen Dinge", das jetzt, glaube ich, umbenannt worden ist. Wenn jemand UI-Design lernen will, ist "Die Psychologie der alltäglichen Dinge" das einzige Buch, das man lesen muss.
Max: Es hat eine Teekanne mit einem verkehrten Henkel auf dem Deckel?
Simon: Das ist es, das ist das Buch. Eines der Dinge, die darin erklärt werden, ist, dass man in seinem Gehirn eine Karte davon erstellt, wie etwas funktioniert. Und solange die mentale Karte mit der Sache übereinstimmt, die man vor sich hat, und sie sich gleich verhält, kann man sie intuitiv benutzen. Und in manchen Fällen ist es so einfach wie eine tatsächliche Karte. Wenn ich von hier aus nach links gehe, möchte ich, dass sich der Bildschirm nach links verschiebt. Ich möchte nicht die linke Taste drücken, damit der Bildschirm plötzlich nach oben rollt. Solche Dinge sind es. Es geht darum, dass die Dinge in Ihrem Kopf so funktionieren wie der Computer, und dass die Dinge auf dem Computer so funktionieren wie die Dinge in der realen Welt. Und wenn man das kann, dann werden die Dinge intuitiv. Man sorgt dafür, dass die Dinge so funktionieren, wie die Benutzer es erwarten. Und heutzutage verstehen die Benutzer das Paradigma von Computern. Sie verstehen: Ich bewege die Maus, um den Cursor zu bewegen, ich drücke eine Taste. Das muss man den Leuten nicht mehr beibringen, während vor dreißig Jahren niemand etwas davon gewusst hätte. Das hat sich eingebürgert, also machen Sie das nicht unnötig kompliziert, denn es hilft nicht. Versuchen Sie einfach, konsequent zu sein. Wenn Sie eine Schaltfläche im Fenster haben, dann lassen Sie sie wie eine Schaltfläche aussehen. Hier hat Apple meiner Meinung nach bei einem der letzten iOS-Redesigns einen schrecklichen Fehler gemacht: Sie haben versucht, den Bildschirm schöner aussehen zu lassen, und haben dabei alle Schaltflächen entfernt. Jetzt gibt es also nur noch Wörter. Inzwischen hat jeder gelernt, dass eine Schaltfläche genau wie ein Wort aussieht. Aber als sie das zum ersten Mal gemacht haben, haben die Leute gedacht: "Wo sind denn die ganzen Knöpfe hin?". Man kann die Einfachheit des Designs schätzen, weil sie schön aussehen, aber vom Standpunkt der Benutzerfreundlichkeit war es keine gute Idee.
Max: Es gibt keinen Hinweis mehr darauf, dass es sich um Knöpfe handelt.
Simon: Ganz genau. Wenn etwas ein Knopf ist, muss es wie ein Knopf aussehen. Lassen Sie es nicht wie etwas anderes aussehen. Man tut das, was die Leute erwarten. Und natürlich kann man auch das Gegenteil tun. Man kann Dinge tun, die die Leute nicht erwarten. Und wenn du Dinge tust, die die Leute nicht erwarten, dann bemerken sie sie. Wenn Sie also die Aufmerksamkeit der Leute auf etwas lenken wollen, tun Sie etwas, was sie nicht erwartet haben. Ein offensichtliches Beispiel dafür ist das Aufrufen eines Dialogfelds - Sie haben den Bildschirm verändert, das muss dem Benutzer auffallen. Es geht darum, mit den Erwartungen des Benutzers zu arbeiten, was passieren wird, und das kann man entweder nutzen, damit er sich wohl und vertraut fühlt, oder man kann es nutzen, um seine Aufmerksamkeit auf etwas zu lenken, was er wissen sollte. Die Psychologie dahinter finde ich sehr interessant. Ich glaube, dass viele Linux-Programmierer nicht in diesem Sinne denken.
Max: Ich denke, es geht vor allem darum, etwas zu tun, das funktioniert.
Simon: Ganz genau, ja. Es ist fast so, dass es nach der mentalen Landkarte funktioniert, die sie haben. Aber die mentale Landkarte, die sie haben, ist nicht in den Köpfen der Nutzer. Die Tatsache, dass es für sie Sinn macht, weil die Datenbank dahinter so funktioniert - das ist das Problem. Die Verwaltung der Datenbank ist mein Problem, das muss ich machen. Die Benutzer sollten sich darüber keine Gedanken machen müssen. Ich muss den Benutzern die Datenbank auf eine Weise präsentieren, die ihrem Realitätsmodell entspricht und nicht dem Modell des Computers.
Max: Ich weiß, was Sie meinen, genau. Manchmal gibt es Anwendungen, bei denen man mehrere Schritte nacheinander machen muss, aber alle Schritte werden in einem Dialog zusammengefasst. Da kommt man durcheinander.
Simon: Wenn man Software entwickelt, wirft man zu Beginn alles auf den Bildschirm - ich muss dies tun, ich muss [das] tun, ich muss [das] tun. Man wirft alles auf den Bildschirm. Und dann sollte man sich das Ganze noch einmal ansehen und sagen: "OK, ist das der beste Weg, wie ich das machen kann? Ist das der einfachste Weg, es zu tun? Nein, natürlich ist es das nicht - du musst das nicht benutzen, ich kann diese Schaltfläche ausblenden, denn niemand muss das jemals sehen." Und ich glaube, bei vielen Linux-Entwicklern ist man an dem Punkt angelangt, an dem alles auf dem Bildschirm funktioniert und fertig ist. Und sie machen nicht den letzten Schritt - wie poliere ich das so auf, dass es für die Benutzer schön aussieht.
Max: Das ist es, was den Leuten an Linux auffällt - es ist rauer.
Simon: Ganz genau. Es bekommt nicht die Politur. Und ich poliere es. Das ist im Grunde mein Job - es gibt einige Dinge, die ich von Grund auf neu geschrieben habe. Aber, wie ich schon sagte, ohne die Autoren von LXDE hätte ich nichts, womit ich arbeiten könnte, also alle Anerkennung für das, was sie getan haben, und ihre Arbeit ist fantastisch. Aber manches davon hatte einfach nicht den 5 %-Schliff. Das ist es, was es braucht, um von einem guten Stück Software zu einer großartigen Benutzererfahrung zu werden.
Max: Nach dem Pareto-Prinzip benötigen diese 5 % tatsächlich 80 % der Zeit ...
Simon: Es kann eine Menge Zeit in Anspruch nehmen, aber ja ...
Max: Was ist eigentlich das überraschendste Feedback, das Sie je von Nutzern erhalten haben?
Simon: Überraschendes Feedback ... Ich glaube, was mich überrascht, ist, wenn die Leute unglaublich lobende Worte finden. Ich denke, weil hin und wieder jemand etwas sagt wie, Sie wissen schon - es gibt im Moment ein paar Blog-Kommentare darüber, wie fantastisch der Desktop [geworden ist], wie er ein echter Computer geworden ist, der der Standard für Computer sein sollte, ... es ist, wenn die Leute solche Dinge sagen, die mich überraschen. Denn ich denke, dass das, was ich tue, gut ist, aber am Ende des Tages bin ich ein Typ, der im Büro mit einem Computer sitzt und vor vier Jahren noch nie Linux benutzt hat.
Max: Das ist vielleicht ein Vorteil.
Simon: Ja! Ich habe nicht akzeptiert, dass alles kaputt ist. Es muss einen Weg geben, es besser zu machen. Und ich glaube, diese Art von Feedback ist für mich immer noch ziemlich überraschend. Das Feedback, das mich nicht überrascht, ist, wenn ich etwas ändere und die Leute sagen: "Nein, das hättest du nicht tun sollen". Die Menschen sind sehr resistent gegen Veränderungen. Und manchmal denke ich, dass das richtig ist. Manchmal - auch hier ist es wieder diese Erfahrung, dass ich nicht weiß, wie Linux das macht, aber ich sage dann: "Eigentlich ist es nicht richtig, was wir machen, wir sollten es so machen, ganz sicher." Und dann stellt man fest, dass sich jeder an die Art und Weise, wie Linux es macht, gewöhnt hat, und es deshalb nicht richtig ist, es zu ändern, auch wenn es so vielleicht besser ist.
Max: Es gibt eine Verzerrung, wenn man in den Foren Feedback bekommt - es sind eher die engagierten Benutzer, nicht die normalen Kinder.
Simon: Ganz genau. Wenn das Feedback sehr, sehr positiv ist, dann kommt es in der Regel von den neuen Nutzern, denke ich.
Man hat mich schon hässliche Dinge genannt, aber nicht in unseren Foren. Als wir das Pixel auf den Markt brachten - als wir es zum ersten Mal Pixel nannten [der Übersetzer: der Raspbian Desktop], war das in den Foren des Registers (das ist eine Tech-Website). Die Kommentare dort waren ziemlich unverblümt. Und einer von ihnen legte sich brutal mit mir an, in Form von - ich glaube, er nannte mich ein halbes Stück.
Max: Ein halbes Bit?
Simon: Halbwissen ist ein ziemlich übliches Schimpfwort, er machte es noch rechnerischer, indem er mich als Halbbiss bezeichnete. Er erklärte, dass "einen ganzen Namen auf etwas zu setzen, das eine Neuentwicklung von LXDE ist, meine Rolle über Gebühr aufbläht. Es hat so lange gedauert, so wenig zu tun." Sie wissen schon. Bis zu einem gewissen Grad kann ich seinen Standpunkt verstehen - wenn man sich LXDE und Pixel anschaut, ist die grundlegende Funktionalität genau dieselbe. Aber was ich getan habe, ist, dass ich den Feinschliff vorgenommen habe. Und der Feinschliff macht einen großen Unterschied. Aber nicht für ihn, denn - ich glaube, er sagte: "Der einzige Zweck des Desktops ist es, etwas zu haben, das man auf seine Terminalfenster legen kann." Sie sind wirklich nicht meine Zielgruppe, sagt er: "Warum haben Sie eine große Taskleiste am oberen Rand angebracht? Das nimmt etwas von dem Platz weg, den ich für Terminalfenster hätte nutzen können." Sie sind wirklich nicht mein Zielpublikum. Das ist nichts für Sie. Wenn Sie einen großen Bildschirm mit Terminalfenstern wollen, gibt es viele andere Orte in der Linux-Welt, wo Sie das bekommen können, kommen Sie nicht hierher. Sie werden nicht jeden mit dem, was Sie tun, glücklich machen können. Aber es ist schön, wenn du Feedback von Leuten bekommst, die wirklich verstehen, was du versuchst zu tun, und es wirklich zu schätzen wissen [es]. Das ist der Moment, in dem man Dankbarkeit und ein gewisses Verständnis für das, was man tut, sieht. Im Gegensatz zu Leuten, die eindeutig nicht verstehen, was man zu tun versucht. In manchen Fällen verstehen sie nicht, wie viel Arbeit dahinter steckt. Weil du nicht das tust, was sie wollen. Es sind diese Nachrichten, die man bekommt, wenn die Leute sagen: "Ihr habt es so viel benutzerfreundlicher gemacht, als es vorher war. Und alle Änderungen sind positiv." Wenn man solche Rückmeldungen erhält, hat man das Gefühl, dass sich das, was man tut, lohnt. Und noch einmal - ich bin nicht perfekt, ich mache Fehler. Es gibt Bugs, es gibt Entscheidungen zur Benutzerfreundlichkeit, die vielleicht nicht perfekt sind. Aber wir versuchen alle, das Produkt so gut wie möglich zu machen. Der Desktop ist mein Baby, ich will, dass er so gut wie möglich ist, dafür lebe ich im Moment. Es ist der lohnendste Job, den ich in meinen 25 Jahren als Ingenieur hatte.
Max: Es ist wirklich wunderbar, an einem Ort zu sein, an dem man sich glücklich fühlt, das zu tun, was man tut.
Simon: Bevor ich hierher kam, hatte ich neun Jahre lang einen Job, für den ich mich jeden Morgen aus dem Bett quälen musste, weil ich die Arbeit verabscheute, die ich tat. Und hier stehe ich jeden Morgen auf und freue mich darauf, ins Büro zu gehen und das zu tun, was ich tun werde. Ich habe fast vergessen, dass man so einen Job haben kann. Ich dachte, so etwas gäbe es nicht. Ich komme wirklich jeden Morgen ins Büro und habe Spaß an dem, was ich tue. Und ich glaube, das hilft mir sehr, weil mir das Produkt am Herzen liegt. Dieses Produkt ist fast eine Erweiterung von mir. Es ist das Betriebssystem, das ich - auch aus rein egoistischen Gründen - verwenden möchte. Als ich bei Pi anfing, habe ich meine ganze Arbeit auf dem Mac gemacht. Ich schrieb Code auf dem Mac und lud ihn auf den Pi herunter. Jetzt mache ich meine ganze Arbeit auf dem Pi. Ich benutze meinen Mac für E-Mails und zum Surfen im Internet, das war's. Ich benutze Geany auf dem Pi für die gesamte Code-Entwicklung, ich sitze tippend an meinem Pi ...
Max: Sie verwenden Model 3 B+?
Simon: Oh ja, es ist die schnellste Version. Aber ja, und ähnlich verhält es sich mit der x86-Version - das ist das Betriebssystem, das Eben auf seinem Mac einsetzt, und diese Art der Einbindung ist wirklich nett.
Es geht nicht so sehr um das Feedback ... es ist, wenn ich Fotos oder Videos von Leuten in Afrika sehe, die ein Klassenzimmer mit Pi's eingerichtet haben und alle meinen Desktop benutzen. Zu sehen, dass das, was ich entworfen habe, an all diesen Orten eingesetzt wird, ist erstaunlich.
In meinen ersten zehn Berufsjahren in der Auftragsforschung und -entwicklung habe ich eine Menge UI-Design gemacht, aber das war alles für ziemlich spezielle Produkte. Man hat also nie wirklich gesehen, wie sie in der realen Welt eingesetzt werden. Aber damit ... Eben geht zu CNN oder so, und die haben Pi's auf den Bildschirmen an der Wand. Er macht einfach gerne Fotos von Orten, an denen er gesehen hat, dass der Desktop verwendet wird. Er bringt sie mit und sagt: "Sieh dir das an, hier wird er benutzt".
Es ist immer noch aufregend, das zu sehen. Ich frage mich, ob ich träume, dass diese Leute etwas benutzen, das ich entworfen habe. Es ist ein unglaubliches Gefühl. Das macht es lohnenswert, auch wenn ich es nicht gerne gemacht habe - was ich aber tue.
Max: Wo wir gerade von der x86-Version sprechen, was sind die Pläne für sie? Planen Sie, eine Art alternative Linux-Distribution für alle zu erstellen?
Simon: Wir werden weiterhin x86-Versionen so weit wie möglich synchron mit Raspbian-Versionen veröffentlichen. Wir werden die beiden Produkte aus Sicht der Benutzer so ähnlich wie möglich halten. Der Hauptunterschied zwischen den beiden ist, dass es einige freie Anwendungen gibt, die wir auf dem Pi haben, die wir auf x86 nicht haben können. Ich glaube nicht, dass es eine Frage der Pläne als solche ist. Wiederum gibt es Leute, die sagen, dass es ihrer Meinung nach der beste Desktop / die beste Linux-Distribution ist. Ich habe nicht die Absicht, es mit Ubuntu oder Debian oder was auch immer aufzunehmen. Es geht darum, die Dinge schöner zu machen, und wenn die Leute auch auf ihrem Laptop ein schöneres Erlebnis haben wollen wie auf ihrem Pi, dann ist das absolut großartig. Wir beabsichtigen, es weiterhin zu produzieren, es ist jetzt ein ziemlich automatisierter Prozess, um x86-Builds neben den ARM-Builds zu produzieren, also ja, wir werden es weiterhin herausbringen. Seine Absicht war es, Leuten mit weniger leistungsfähigen - weil es auf Debian basiert - war es die Absicht, Leute mit weniger leistungsfähigen alten Computern in die Lage zu versetzen, es zu benutzen. Ich denke, es ist heutzutage eine ziemlich anständige Linux-Distribution für sich selbst. Nochmals, es ist Debian mit unserem Skin oben drauf - verstehen Sie mich nicht falsch, es ist nicht alles unsere Arbeit, es ist hauptsächlich Debian, mit dem Schliff oben drauf.
Max: Haben Sie Zahlen darüber, wie weit sich die Krankheit ausgebreitet hat?
Simon: Wir haben wahrscheinlich Download-Zahlen für wie viele Kopien heruntergeladen wurden. Ich denke, in Bezug auf die Pi-Desktop-Nutzer ist es wahrscheinlich 95 % Raspbian. Was die x86-Versionen angeht - wir haben sie als Experiment veröffentlicht. Es war fast ein Scherz, weil Eben und ich im Büro saßen und uns unterhielten. Wir kamen an einen Punkt, an dem wir mit der Entwicklung des Desktops recht zufrieden waren. Und dann sagte er: "Wäre es nicht toll, wenn ich das auf meinen Laptop bekommen könnte? Ich hätte das gerne auf meinem Laptop." Und ich fing an, darüber nachzudenken. Ich ging nach Hause und langweilte mich an einem Samstag zu Hause. Und ich dachte - ich frage mich, ob wir das machen können. Es muss eine LXDE-Version von Debian geben, und ich lud die LXDE-Version von Debian herunter. Ich habe dann etwa zwei Stunden damit verbracht, Persistence zum Laufen zu bringen. Ich habe ein Image erstellt, das auf meinem Mac zu Hause mit Persistence auf der Grundlage des LXDE-Images bootet. Das funktionierte, und ich dachte, mal sehen, was ich tun kann. Ich glaube, an diesem Abend hatte ich den Raspberry Pi-Desktop auf dem USB-Stick zum Laufen gebracht. Ich brachte ihn mit, Eben war über das Wochenende auf einer Konferenz, und er kam am Montag zu mir, und ich sagte ihm: "Schau dir das mal an". Ich schloss den USB-Stick an meinen Mac an und startete ihn auf dem Desktop. Und er sagte: "Wow, Sie haben es geschafft. Wirst du ihn dann verschicken?" Ich sagte: "Wenn Sie meinen, wir sollten es tun."
Die Idee entstand buchstäblich aus einer spontanen Bemerkung von Eben, als ich mich zu Hause langweilte und dachte: Das kann doch nicht so schwer sein, ich probiere es einfach mal aus. Es stellte sich heraus, dass es eigentlich gar nicht so schwierig war.
Max: Es ist eigentlich interessant, dass eine so große Sache - man denkt, dass es eine Menge Zeit in Anspruch nimmt, aber das tut es nicht, aber andere Dinge - wie das qPDF ...
Simon: Ja, das dauert ewig. Das Einzige, was beim x86-Image so lange gedauert hat, war der Versuch, ein Image zu erstellen, das auf so vielen Plattformen wie möglich bootet, denn wir haben viele Probleme mit bestimmten Mac-Modellen. Wir hatten zwei schwierige Plattformen, nämlich meinen Mac mini zu Hause und Ebens MacBook. Und wir wollten, dass es auf beiden funktioniert. Auf meinem Mac im Büro, einem MacBook einer anderen Generation, funktionierte alles, jedes Image ließ sich darauf starten. Aber es hat ewig gedauert, bis wir mit dem Low-Level-Debian-BIOS-Zeug und dem Imaging herumgespielt haben, und wir haben ein paar Wochen damit verbracht. Vieles davon habe ich an den Wochenenden zu Hause gemacht, indem ich verschiedene Dinge in Bezug auf die Erstellung des Debian-Images ausprobiert habe. Um es zum Booten zu bringen. Schließlich haben wir einen Weg gefunden, ein Image zu erstellen, das sowohl auf meinem Mac zu Hause als auch auf Ebens Macbook bootet. Das ist das Image, das wir ausliefern, weil es auf den beiden Referenzgeräten funktioniert. Ich glaube, wir hatten Probleme, weil Debian tatsächlich das Live-Image und das installierbare Image getrennt hat - das waren zwei verschiedene Dinge. Und das installierbare Image funktionierte auf viel mehr Plattformen als das Live-Image. Aber wir basierten zu der Zeit auf dem Live-Image. Wir mussten also beide zusammenbringen, um etwas zu haben, das sowohl installierbar war als auch auf so vielen Geräten wie möglich gebootet werden konnte. Und das war das Schwierige daran, theoretisch hätten wir das nicht tun müssen - Debian hätte das bereits für uns tun sollen. Aber unseren Desktop darauf zu bringen war ein relativ schneller Prozess. Der Prozess war innerhalb eines Tages einsatzbereit.
Max: Du hast alles drin, auch den Zauberer?
Simon: Die Version, die wir gerade veröffentlicht haben, enthält alles - den Startassistenten, die bevorzugten Anwendungen, der einzige Unterschied sind, wie ich schon sagte, Dinge wie Mathematica, die wir nicht ausliefern können. Alles andere sollte sein - jede GUI-Änderung, die wir an der ARM-Version vornehmen ...
Max: Auch das geschieht automatisch. Eine Frage, die ich Ihnen stellen wollte, betrifft die Paketaktualisierungen, da einige Benutzer nicht wissen, wie sie diese durchführen können. Gibt es Pläne für automatische Paketaktualisierungen? Speziell zur Sicherheit.
Simon: Es gibt einen automatischen Updater im Assistenten. Wenn Sie den Startassistenten zum ersten Mal starten, wird [Raspbian aktualisiert], so dass Sie wissen, dass Sie zu diesem Zeitpunkt das Neueste und Beste haben. Die automatische Aktualisierung ist eine schwierige Sache, denn für jede Person, die ihr System nicht aktualisiert, weil sie nicht weiß, dass sie es tun sollte - und der Sie wahrscheinlich helfen wollen - gibt es eine andere Person, die ihr System nicht aktualisiert, weil sie weiß, dass dieses Paket hier kaputt geht, wenn sie ihr System aktualisiert. Und diese Anwendung wird dann nicht mehr funktionieren. Und das ist einer der Bereiche, in denen ich bei Änderungen ziemlich vorsichtig bin, weil - wenn ich die Sicherheit erwähne: Es ist wie bei diesen Sicherheitsänderungen. Das, wovor ich mich am meisten fürchte, ist, etwas kaputt zu machen. Wenn jemand feststellt, dass sein Pi gestern noch funktionierte und heute nicht mehr, und es ist meine Schuld, dass er sich geändert hat, weil er ein Update heruntergeladen hat - das ist mein Albtraumszenario. Es ist schon ein paar Mal vorgekommen, dass wir fehlerhafte Pakete in das Repo gestellt haben, die ich nicht ausreichend getestet hatte - und das passiert immer, wenn ich in Urlaub fahre. Ich fahre in den Urlaub. Und ich stelle fest, dass am zweiten Tag meines Urlaubs Fehlerberichte eingehen - für ein Paket, das wir ausgeliefert haben.
Max: Setzen Sie sich tatsächlich hin und beheben diese Fehler? Sie können nicht mit dem schlechten Gewissen leben?
Simon: Ich bin sowieso meistens zu Hause. Ich habe die erste Woche der verschiedenen Feiertage damit verbracht, von zu Hause aus Fehler zu beheben und zu versuchen, das System in Ordnung zu bringen, denn - ja, ich habe ein schlechtes Gewissen deswegen. Ich mache nicht gerne Sachen für andere kaputt. Meine Sorge bei automatischen Aktualisierungen ist, dass in einigen Fällen ohne unser Verschulden etwas kaputt geht. Denn - die ganzen Debian-Abhängigkeitsprobleme, es ist sehr einfach für ein Paket auf eine neue Version zu kommen, und wir haben nicht den entsprechenden Backport, um es zu starten, und so funktioniert das Paket, das gestern noch funktionierte, heute nicht mehr.
Ich würde es nicht automatisch tun wollen. Solange ich nicht sicher sein kann, dass es niemandem schadet, würde ich es nicht automatisch machen wollen.
Max: Und für sicherheitskritische Dinge?
Simon: Auch bei sicherheitskritischen Dingen. Es ist eine schwierige Entscheidung. Microsoft hat sein Creator's Update für Windows 10 durchgeführt, wann auch immer das war - letztes Jahr? Mein Ethernet funktioniert nicht mehr auf meinem Windows-PC. Das ist unentschuldbar. Vor dem Update hat mein Netzwerk funktioniert, und jetzt nicht mehr. Als einigermaßen technisch versierter Benutzer habe ich zwei Stunden gebraucht, um meinen Computer [wieder] zum Laufen zu bringen.
Max: Vor allem, wenn man nicht vernetzt ist.
Simon: Genau, es ist ziemlich schwierig, eine Diagnose ohne die Ratschläge des Internets zu stellen. Deshalb bin ich da sehr zurückhaltend. Das ist eines der Dinge, die wir untersucht haben - eine Art GUI-Tool, um Updates durchzuführen. Tatsächlich können Sie Systemaktualisierungen über das vorhandene Tool zum Hinzufügen/Entfernen von Programmen durchführen. Wenn man sich das Design dieses Tools anschaut, wird es tatsächlich als separate Anwendung ausgeführt. Es gibt keinen Grund, warum ich das nicht als separate Anwendung ausführen könnte. Und vielleicht auch die Suche nach Updates beim Booten und solche Dinge. Das ist alles machbar, und wir kommen an einen Punkt, an dem wir anfangen werden, uns mit solchen Dingen zu beschäftigen.
Max: Das ist eigentlich etwas, was an Linux im Vergleich zu Windows wirklich toll ist. Ihr Computer zwingt Sie nicht dazu, diese Updates durchzuführen. Das ist etwas, was ich an Windows wirklich hasse. Und er schaltet sich ab - stellen Sie sich vor, Sie halten eine Präsentation, und er schaltet sich ab. Hier muss man die Grenze ziehen. Wie wir bereits besprochen haben, müssen Sie Entscheidungen für die Benutzer treffen, aber Sie können den Benutzer nicht dazu zwingen, die Arbeit am Computer einzustellen, wenn er das nicht will.
Simon: Es verärgert die Nutzer immer, wenn man etwas für sie kaputt macht. Selbst wenn man es mit den besten Absichten tut. Es gibt auch einige iOS-Anwendungen, die ich schreibe - es gibt eine Kreuzworträtsel-Anwendung. Ab und zu veröffentliche ich Updates, und ich erinnere mich, dass ich eines herausgegeben habe, das auf einer bestimmten iOS-Version, die ich nicht getestet hatte, nicht funktionierte. Und dann gibt es einen Ansturm von Benutzern, die wütend sind, dass es nicht funktioniert, und einen Ansturm von anderen Benutzern, die wahrscheinlich technisch versierter sind, die sagen: "Nur damit Sie wissen, dass es nicht funktioniert." Vor ein paar Jahren habe ich zu Weihnachten eine Woche damit verbracht, meine iOS-Anwendung zu reparieren. Es war Apple, der die Dinge kaputt gemacht hatte, nicht ich, aber ich musste eine Umgehung dafür finden. Man fühlt sich fast mehr schuldig gegenüber den Benutzern, die nett sind und sagen: "Ja, ich verstehe, dass das schwierig ist." - "Nein, ich werde Ihnen bis morgen eine Lösung anbieten!". - Es ist immer schwierig. Updates sind eine heikle Sache, und es ist sehr leicht, etwas kaputt zu machen.
Eines der Dinge, die Apple tut und die ich für unentschuldbar halte, ist, dass sie bei iOS ein Bild-Update im Wert von anderthalb GByte herunterladen, wenn ich von iOS 10 auf iOS 11 wechsle. Sie laden es automatisch herunter, sobald man mit dem WiFi verbunden ist, im Hintergrund, ohne einen zu fragen. Wenn Sie anderthalb GByte meiner Bandbreite nutzen wollen, fragen Sie mich vorher. Das ist unentschuldbar. Ich habe sogar einen Fehler gemeldet und gesagt: Hier werden Daten von enormer Größe heruntergeladen. Sie sagten: Nein - das ist ein Sicherheitsupdate, das müssen Sie haben, deshalb müssen wir alles tun, um Sie auf die Plattform zu bringen. Ich sagte: Nein, das müsst ihr nicht, die Leute müssen für ihre Daten bezahlen. Es gibt Leute, die eine monatliche Datenobergrenze haben. Sie haben fünf iPhones im Haus, die sie alle herunterladen. Bei solchen Dingen muss man ein vernünftiges Gleichgewicht finden. Im Moment erzwingen wir keine Updates und raten auch nicht zu Updates. Es wäre wahrscheinlich gut, wenn wir das täten, aber ich habe noch keine neue Entscheidung darüber getroffen, was wir in dieser Hinsicht tun werden.
Max: Haben Sie schon einmal daran gedacht, eine Art Benachrichtigungsbereich einzurichten?
Simon: Wir haben eine Benachrichtigungsfunktion. Die LXDE-Benachrichtigungssoftware ist eigentlich nicht so toll, sie platziert Fenster in den Ecken des Bildschirms. Aber jedes Mal, wenn wir eine Anwendung haben, die diese verwendet, neige ich dazu, die Anwendung neu zu schreiben, weil sie nicht gut aussieht. Aber es ist sicherlich möglich, etwas beim Start auszuführen, um zu sehen, ob es Aktualisierungen gibt, und ein Dialogfeld auf dem Bildschirm anzuzeigen. Es gibt einiges, was wir tun könnten, aber das ist wahrscheinlich ein Bereich, mit dem wir uns befassen werden, weil wir den offensichtlicheren Dingen, die zu tun sind, auf den Grund gegangen sind.
Max: Was macht die Entwicklung für Sie einfacher und was schwieriger? Die Art der Tools, die Sie verwenden.
Simon: Geany ist großartig. Wie ich schon sagte, entwickle ich heutzutage die meisten meiner Programme auf dem Pi.
Max: Kann es auch Code-Hinweise geben?
Simon: Ja. Geany kann so ziemlich alles. Dinge wie die Art und Weise, wie es Funktionsnamen für dich herauszieht und dich solche Dinge einfach finden lässt, sind wirklich gut. Das vermisse ich jetzt, wenn ich andere Editoren benutze. [Andere Tools, die ich benutze:] Glade - das ist das Tool für das Design von GTK-Fenstern. Ich benutze es sehr oft, obwohl ich die alte Version aus den Quellen bauen musste, weil sie jetzt nur noch die neue Version unterstützen, die nur GTK 3 unterstützt, "nein, ich will die alte Version, bitte, denn ich kann für GTK 2 mit der alten Version entwickeln!"
Es gibt eine Reihe von Tools, die für meine Arbeit nützlich sind. Es gibt ein Werkzeug namens "A Widget Factory". AWF. Das ist im Grunde nur ein Bildschirm mit allen GTK-Widgets darauf. Und ich habe zwei Versionen davon, eine GTK 3 Version und eine GTK 2 Version. Ich versuche also, mein Thema zwischen den beiden Versionen zu synchronisieren, und benutze diese. Das ist ein wirklich guter Weg, um zu sehen - sie sehen nicht gleich aus.
Max: Haben Sie tatsächlich zwei Pi's nebeneinander, auf einem läuft GTK ...
Simon: Nein, denn ich kann diese Anwendung in zwei oder drei Modi ausführen, so dass ich nur zwei Fenster auf dem Bildschirm habe. Mein Ziel mit dem Thema ist es, dass die Fenster gleich aussehen. So kann man es auf derselben Plattform machen. Das ist ziemlich nützlich. Git und GitHub sind großartig. Ohne GitHub wäre ich völlig aufgeschmissen. Ich denke, GitHub ist großartig.
Max: Interne Dokumentation, machen Sie das in Übereinstimmung mit dem Quelltext?
Simon: Meistens ja. Ich kommentiere nur den Code. Ich mache keine große Menge an externer Dokumentation. Wir haben Leute, die unabhängig von mir an der Dokumentation arbeiten. Meine Absicht ist es, Dinge zu schreiben, die so offensichtlich sind, dass sie auch ohne meine Anleitung funktionieren. Ich versuche, hilfreiche Variablennamen, hilfreiche Funktionsnamen und Kommentare dort zu verwenden, wo es nicht offensichtlich ist, was der Code tut, und zwar hauptsächlich als Hinweise für mich.
Andere Dinge, die nützlich sind - eines der Dinge, die mich frustrieren, ist, dass Linux kein wirklich gutes Diff-Tool hat, im Sinne eines schönen grafischen Diff-Tools. Das, was ich benutze, ist meld, das beste, das ich gefunden habe, aber es ist nicht so gut wie Dinge wie "Beyond Compare" auf dem PC, das wirklich gut ist. Ich habe Pi-Code auf den Mac übertragen, damit ich das Diff-Tool in Xcode verwenden kann. Es gibt einige Funktionen von Xcode, die ich sehr oft benutze. Ich denke, das sind die meisten der Tools, die ich für die Entwicklung verwende, Dinge, die ich täglich nutze. Das war's dann auch schon, denke ich. Und was die Dinge angeht, die das Leben leichter machen - gut strukturierter Code ist immer gut. Ich versuche immer, den Code unter dem Gesichtspunkt zu schreiben, dass ich vielleicht zurückgehen und etwas anderes damit machen muss. Es beim ersten Mal richtig zu machen, hilft immer.
Max: Kennen Sie die Theorie der zwei Systeme, die besagt, dass man das erste System besser wegwirft, wenn man es gebaut hat?
Simon: Ja. Das habe ich in der Vergangenheit auch schon getan. Vor allem, wenn man weniger erfahren ist. Wenn ich mir jetzt einige Bewerbungen ansehe, die ich im ersten Jahr für den Pi geschrieben habe, dann denke ich: "Oh, warum habe ich das getan? Oh, das war schlecht." Wenn ich diese Fehler finde, korrigiere ich sie heutzutage. Wenn ich in vier Jahren auf das zurückblicke, was ich jetzt schreibe, werde ich wahrscheinlich dasselbe Gefühl haben. Jede Softwareentwicklung ist ein Lernprozess. Man wird besser, je weiter man kommt, man wird besser, je mehr man tut. Je mehr man seine Kunst versteht.
GTK ist eines der Dinge, die man umso besser beherrscht, je mehr man die kleinen Macken lernt und je mehr man sie benutzt. GTK selbst ist ein sehr nützliches Werkzeug. Als UI-Designer ist es sehr hilfreich, Beschränkungen zu haben. Unter diesem Gesichtspunkt ist GTK großartig. Jedes UI-Toolkit ist irgendwie großartig - ich habe keinen leeren Bildschirm und muss entscheiden, wie dieses Fenster aussehen soll. Ich weiß, wie dieses Fenster aussehen wird, weil es wie alle anderen Fenster aussehen wird. Ich weiß, wie die Schaltflächen aussehen werden, weil sie wie alle anderen Schaltflächen aussehen werden.
Max: Sie konzentrieren sich also auf die Bewerbung selbst?
Simon: Ja. Eher als Schaufensterdekoration. Es ist gut, dass es separat ist. Denn all diese Dinge kann ich im Thema machen. Wenn ich möchte, dass alle meine Anwendungen schöner aussehen, kann ich das Thema ändern. Wenn ich möchte, dass die Anwendung besser funktioniert, muss ich mich nicht darum kümmern, dass sie hübscher aussieht.
Max: Als Benutzer ziehe ich es vor, dass die Anwendungen vorhersehbar sind, dass sie gleich aussehen. Kennen Sie WinAMP? Es sieht nicht wie eine Windows-Anwendung aus.
Simon: Oh ja, es sieht nicht wie eine Windows-Anwendung aus. Diese winzig kleinen ... Ja. Und wir haben ein paar Entwickler, die Anwendungen für uns geschrieben haben, die ihr eigenes Ding machen wollen, das anders aussieht als alles andere. Und [ich sage immer, wenn sie es tun]: "Tu es nicht". Ich verstehe den Wunsch, es zu tun. Ich verstehe den Wunsch, die Sache so aussehen zu lassen, als wäre es meine". Das ist Branding, das ist die gleiche Art und Weise, wie wir den Desktop brandmarken. Aber für die Benutzer ist es oft nicht hilfreich. Das ist auch mein Argument, denn man will eine einheitliche Umgebung. Und jemand, der sein eigenes Ding machen will, ist nicht hilfreich, wenn es darum geht, Konsistenz zu schaffen.
Max: Ich glaube, das ist der eigentliche Sinn dahinter, dass man seinen eigenen Namen darauf setzen will.
Simon: Ja, genau. Ein paar andere, die Sachen für Pi produzieren, tun das auch. Das ist in Ordnung, ich versuche, sie davon abzubringen, aber wenn sie für uns entwickeln, kann ich schließlich nicht sagen: "Nein, du sollst das machen!"
Max: "Das zehnte Gebot".
Simon: Ganz genau.
Max: Was inspiriert Sie zur Entwicklung?
Simon: Was inspiriert mich? Wir machen es besser. Ist es so gut, wie es sein kann? Und wenn nicht, wie kann ich es besser machen? Es geht darum, die Benutzererfahrung so zu gestalten, dass sie mir als Benutzer Spaß macht. Ich möchte, dass es für mich eine angenehme Erfahrung ist. Wenn es für mich eine angenehme Erfahrung ist, hoffe ich, dass es auch für andere Menschen eine angenehme Erfahrung ist. Das ist es, was Design ausmacht. Wenn Sie mit einem Industriedesigner sprechen, sagen Sie ihm, dass Design bedeutet, Dinge für Menschen besser zu machen.
Max: Es geht darum, die Reibung zu beseitigen. Ich erinnere mich an das Beispiel des Kühlschranks in dem Buch "Das Design der alltäglichen Dinge", bei dem der Benutzer dachte, es gäbe zwei Knöpfe oder so etwas, einer sei für das Tiefkühlfach und einer für das normale Fach. Und tatsächlich war es eine seltsame Mischung ... Oder wie diese Wasserhähne in Großbritannien - da steht "Vorsicht, extrem heißes Wasser". Aber was soll man machen?
Simon: Lichtschalter, die nicht auf die gleiche Weise funktionieren. Solche Dinge. Ich glaube, ich habe einen Dokumentarfilm mit Seymourpowell gesehen, den Industriedesignern in London. Sie sagten: Ein Designer will die Dinge besser machen.
Max: Was hat Sie dazu inspiriert, sich mit UI-Design zu beschäftigen?
Simon: Das ist viele Jahre her. Ich habe an der Universität Ingenieurwesen studiert. Und ich habe mich auf Software spezialisiert. Aber ich schätzte schon immer gutes Design. [Zum Beispiel] hatte ich eine Canon-Kamera, und es war so befriedigend, sie zu benutzen, weil alles schön gemacht worden war. Und ich habe nicht geraucht. Ich habe nie geraucht. Aber ich hatte ein Zippo-Feuerzeug, weil es so ein schönes Ding war. Ich habe meine Zeit damit verbracht, zu denken - ich habe überhaupt kein künstlerisches Talent. Ich kann nicht zeichnen, ich kann nicht malen, ich kann nichts skizzieren. Ich weiß nicht, wie man so etwas Schönes macht. Aber ich wünschte wirklich, ich könnte es. Wie kann ich meinen Wunsch, schöne Dinge zu schaffen, mit der Arbeit an Software verbinden? Und der logische Ort, an dem sich diese Dinge trafen, war das Design von Benutzeroberflächen. Ich habe mich bei Cambridge Consultants, meinem ersten Arbeitgeber, beworben. Sie zeigten mir, dass sie damals gerade mit dem UI-Design anfingen und Technologien für die Simulation von Benutzeroberflächen entwickelten. So konnten sie mir zeigen, dass sie eine Stereoanlage entworfen hatten, und sie hatten einen Bildschirm, der wie diese Anlage aussah. Man konnte auf Knöpfe auf dem Bildschirm klicken und alles reagierte. Und man konnte die gesamte Benutzeroberfläche in dieser virtuellen Welt entwickeln. Ich sah diese Demonstration und sagte: "Ich möchte für Sie arbeiten und das machen." Ich glaube, das war der Grund, warum ich den Job bekommen habe, denn ich war so begeistert von dem, was sie gemacht haben. Das ist es, was ich tun möchte. Ich sah einen Weg, wie ich das tun könnte - wenn ich das tun könnte, wäre ich glücklich. Denn das bedeutet, dass ich schöne Dinge machen kann, aber ich muss nicht zeichnen, malen und entwerfen können. Ich kann auch so schöne Dinge machen. Und das war, glaube ich, der Ursprung von allem für mich.
Max: Es ist also wahrscheinlich wie bei den Hardware-Ingenieuren, die zum Raspberry Pi kommen...
Simon: Ich war immer sehr frustriert, wenn ich mir Industriedesigner anschaute, und ich wünschte mir wirklich, ich könnte tun, was sie tun. Aber wie gesagt, man braucht Talente, die ich dafür nicht habe.
Max: Produktdesign wie Koffer usw.?
Simon: Ganz genau. Als ich bei Cambridge Consultants arbeitete, wechselte ich schließlich von einer Softwaregruppe zu einer Industriedesigngruppe. Denn ich wollte zu diesem Zeitpunkt eher als Designer denn als Ingenieur angesehen werden. Ich erinnere mich, dass dieser Schritt bei meinem Chef in der Softwareentwicklung sehr unpopulär war. Er sagte: "Sie machen einen großen Fehler. Damit werden Sie niemals durchkommen." Und ich sagte: "Ich habe das Gefühl, dass ich das tun muss." Ich war ein Software-Ingenieur, der sehr eng mit Industriedesignern zusammenarbeitete, und ich arbeitete mit ihnen an der Schnittstellengestaltung. Ich fand es sehr anregend, in einem Büro mit Leuten zu sein, die all diese Dinge taten, die ich gerne tun würde, die das Gehäusedesign, das Design des Erscheinungsbildes, die Gestaltung der Grafiken und all diese Dinge machten. Und es war das Nächstbeste, mit ihnen zusammenzuarbeiten und zu dem Produkt beizutragen, das sie schufen. Das war auch der Grund, warum ich mich für das UI-Design entschieden habe. Ich wollte etwas tun, was ich nicht tun konnte, und fand die nächstbeste Möglichkeit, nämlich GUI-Design in Software.
Max: Was sind einige der Funktionen oder Änderungen, die Sie persönlich gerne in Raspbian sehen würden, Dinge, die Sie noch nicht gemacht haben, die wir noch nicht diskutiert haben. Vielleicht Dinge, die wirklich ausgefallen sind, die wirklich sehr schwer zu machen sind?
Simon: Um ehrlich zu sein, habe ich am ersten Tag angefangen, ich habe eine Liste mit all den Dingen gemacht, die ich machen wollte. Und ich glaube, ich bin jetzt tatsächlich am Ende der Liste der Dinge angekommen, die ich tun wollte.
Max: Erstellen Sie besser eine neue Liste.
Simon: Ich glaube, ich muss eine neue Liste erstellen. Ich bin mir noch nicht ganz sicher, was auf dieser Liste stehen wird. Das ist eine schwer zu beantwortende Frage. Wenn Sie mich das vor einem Jahr oder vor zwei oder drei Jahren gefragt hätten, hätte ich eine viel klarere Vorstellung davon gehabt, wie die Antwort lautet. Ich bin jetzt sozusagen am Ende meiner Liste der ursprünglichen Dinge angelangt. Bei all diesen Dingen gibt es eine ständige Wartungsaufgabe. Alle zwei Jahre werden wir eine neue Version von Debian unterstützen müssen.
Max: Ich hoffe, dass das Team wachsen kann.
Simon: In mancher Hinsicht will ich das nicht - weil es mir Spaß macht.
Max: Macht es Ihnen wirklich Spaß, an GTK 3 herumzufummeln, damit es sich benimmt?
Simon: Ich sitze da und fluche und schimpfe, aber ich würde es nicht zulassen, dass es jemand anderes tut, weil ...
Max... weil es dein Baby ist.
Simon... weil es mein Baby ist, und ich will, dass es richtig ist. Es wird mit mir in Verbindung gebracht. Es gibt Leute, die wissen, dass Simon Long GUI-Design für den Raspberry Pi macht. Es geht nicht darum, dass ich es keinem anderen zutraue, es zu tun. Es geht darum, dass ich so viel Zeit damit verbracht habe, die Feinheiten zu lernen, dass ich sowieso die beste Person bin, um es zu tun.
In meinem vorherigen Job war ich neun Jahre lang Führungskraft, und ich habe es gehasst.
Max: Es hat Ihnen tatsächlich Spaß gemacht, die Aufgaben zu erledigen, anstatt sie zu delegieren?
Simon: Ich habe es gerne gemacht. Mein Albtraum ist, dass Eben daherkommt und sagt: "Ach Simon, wir haben dir ein paar Mitarbeiter besorgt, die Dinge erledigen. Du wirst da oben sitzen und Entscheidungen treffen." Und ich würde sagen: "Nein, nehmt mir das nicht weg." Denn ich genieße es, meine Hände auf dem Code zu haben. Und ich würde es wirklich nicht genießen, wenn man mir das wegnehmen würde. In gewisser Weise bin ich froh, dass ich das weiter machen kann, denn ich finde es lohnend. Ich finde es befriedigend, [sagen zu können]: "Sieh mal, das habe ich gemacht." Als Manager hatte ich nie das Gefühl, sagen zu können: "Ich habe das getan." - Meine Leute haben es getan, ich habe es nicht getan. Jetzt hingegen sitze ich da und sage: "Ich habe es getan."
Max: Eine eher technische Frage: Was gewinnen wir mit dem OpenGL-Treiber? Vorteile / Nachteile?
Simon: Im Grunde wird es schnellere und flüssigere Animationen in allen OpenGL-Anwendungen ermöglichen. OpenGL-Anwendungen, natürlich. Die Absicht ist, denke ich, dass alles effektiv durch OpenGL gerendert wird, der Desktop usw. wird durch sie gehen, was bedeutet, dass Sie die Vorteile der Hardware-Beschleunigung auf all das bekommen werden. Theoretisch wird es also für alle ein schnelleres, reibungsloseres Erlebnis sein. Ich glaube nicht, dass es darüber hinaus irgendwelche Vorteile gibt.
Max: Verstehe ich das richtig, müssen Sie tatsächlich Tweaks auf dem Desktop tun? Oder wird er automatisch davon profitieren?
Simon: Ja. Aber um wie viel - das ist kein Gebiet, auf dem ich überhaupt ein technischer Experte bin. OpenGL ist eine dieser schwarzen Künste. Nach meinem Verständnis geht es im Grunde darum, eine bessere Hardware-Beschleunigung unter dem System zu erreichen, für alles, was auf den Bildschirm kommt.
Max: Also wird der Pi 1 im Idealfall besser abschneiden?
Simon: Potenziell ja, obwohl ich denke, dass eines der Probleme mit dem OpenGL-Treiber darin besteht, wie viel Speicher er benötigt. Auf dem Pi 1 könnte es also zu Problemen kommen. Ich denke, dass wir diese weitgehend in den Griff bekommen haben, aber - die offensichtlichen Verbesserungen werden in Dingen wie OpenGL-Spielen liegen. Sie werden natürlich alle direkt in die Hardware einfließen. Man sollte eine generelle Verbesserung der allgemeinen Videoleistung sehen.
Max: Wayland, Weston. Vollständig aufgegeben?
Simon: Es liegt größtenteils in den Regalen, ja. Ich glaube nicht, dass es komplett aufgegeben ist. Vielleicht kommt es irgendwann wieder zu seinem Recht. Aber im Moment haben wir schon seit ein paar Jahren keine aktive Entwicklungsarbeit mehr daran geleistet.
Max: Wie vertreiben Sie sich am liebsten die Zeit auf einem Pi?
Simon: (lacht) Ich bin langweilig, ich programmiere gerne, um Sachen besser zu machen, muss ich sagen. Ich gehe abends oft nach Hause und wenn es ein technisches Problem gibt, das ich nicht ganz verstanden habe, denke ich: Das wird interessant. Ich lade dann oft Code von GitHub herunter und hacke ihn zu Hause auf meinem Pi.
Max: Nur weil Sie nicht widerstehen können?
Simon: Ja. Ich will es besser machen, ich kann es nicht allein lassen. Wenn ich einen Computer zur reinen Freizeitgestaltung benutze, dann verwende ich keinen Pi. Ich benutze einen Pi als Entwicklungsplattform, aber ich genieße die Entwicklung [so sehr]. Ich benutze Pis nicht für Dinge wie das Surfen im Internet, denn selbst mit Chromium ist das Erlebnis auf einem Windows-Rechner oder Mac viel besser, weil das Surfen im Internet so viel Leistung erfordert. Aber das, wofür ich meinen Pi verwende, ist dasselbe, was ich auch bei der Arbeit mache.
Max: Es ist eher wie Urlaub, wenn man bei der Arbeit ist.
Simon: Mein Partner zu Hause weiß genau, dass ich, wenn ich oben in meinem Arbeitszimmer sitze, wahrscheinlich etwas für den Pi tippe. Das ist es, was ich gerne mache.
Max: Ich habe Martin auf der Raspberry Pi Fields Veranstaltung getroffen, und er hat mir von der neuen Hilfe erzählt. Sie planen, eine Hilfe für die neue Ausgabe zu veröffentlichen, die mit Raspbian ausgeliefert werden soll.
Simon: Martin hat großartige Arbeit geleistet, indem er unsere Webressourcen aufgeräumt hat. Seine Web-Seiten sind sehr gut. Und im Ernst, Sie sollten sich die Links im Menü ansehen, denn er hat viel Arbeit in sie gesteckt, und ich finde sie großartig. Und ja - die Absicht ist, dass wir das auf irgendeine Art und Weise offline nehmen, sei es mit statischen Webseiten auf dem Pi oder als Electron-Anwendung, obwohl Electron-Anwendungen nicht sehr platzsparend sind, weil man am Ende den ganzen Chromium-Browser in jede von ihnen eingebaut hat. Wir haben bereits einen auf dem System für Scratch 2.
Seine Hilfsressourcen sind großartig, und ja, sie offline zur Verfügung zu stellen, ist eine großartige Sache, also werden wir das irgendwann in der Zukunft tun.
Max: Noch keine konkreten Pläne.
Simon: Bislang nicht.
Max: Das wäre natürlich eine Sache, bei der man Updates ziehen könnte. Die Hilfe wird besser ...
Simon: Auch das ist einer der Vorteile von Hilfe, die sich nicht auf der Plattform befindet, da sie automatisch aktualisiert wird - Sie haben also eine Entscheidung zu treffen.
Eines der Dinge, die ich mit den empfohlenen Anwendungen gemacht habe, ist, dass sie sich selbst aktualisieren, wenn sie ausgeführt werden. Ich habe also eine Anwendung erstellt, die sich beim Start automatisch aktualisiert. Ich wollte nämlich sicherstellen, dass die Leute immer die neueste und beste Liste der empfohlenen Anwendungen haben. Damit habe ich bewiesen, dass es möglich ist, eine Anwendung so zu gestalten, dass sie sich als erstes selbst aktualisiert. Mit der Hilfe könnten wir etwas Ähnliches machen.
Max: Vielleicht sollten Sie den Benutzern eine "Rückgängig"-Schaltfläche geben. Wenn etwas nicht funktioniert, können sie es rückgängig machen. Das Problem ist natürlich herauszufinden, was das System kaputt gemacht hat.
Simon: Das ist gar nicht so einfach. Sie sollten in der Lage sein, dies mit apt zu tun. Und leider ist es mit apt nicht immer einfach, es rückgängig zu machen.
Max: Ich aktualisiere einfach die Pakete, weil ich der Raspberry Pi Foundation vertraue, dass sie das Richtige tut. Ich mache mir eigentlich keine Sorgen, dass einige Dinge kaputt gehen könnten.
Simon: Wir versuchen, das Richtige zu tun, aber wie ich schon sagte, sind wir nicht unfehlbar. Deshalb bringen wir hin und wieder Dinge heraus, die nicht richtig gewesen wären. Aber wir versuchen, das auf ein Minimum zu beschränken.
Max: Mit der SD-Korruption Probleme, ich dachte, es gibt eine Menge von Logging in Raspbian geht ...
Simon: Was die Beschädigung der SD-Karte angeht, so haben wir unter anderem erwogen, das zu tun, was wir in Zukunft mit dem x86-Image tun werden. Das heißt, wir liefern ein festes Image mit einer persistenten Partition darüber aus. In diesem Fall könnte man jederzeit zu einem guten Zustand zurückkehren. Das ist eines der Dinge, die wir in Erwägung gezogen haben. Sie haben eine Basispartition und legen dann eine persistente Partition darauf.
Max: Im Grunde ein Overlay.
Simon: Ganz genau. Das ist etwas, woran wir gedacht haben. Ich habe nicht die Zeit [dafür], aber es ist wahrscheinlich der Weg, den wir in Zukunft gehen werden.
Max: Eines der ersten Dinge, die ich sah, als ich in Großbritannien ankam, war ein Shuttle - wenn man am Flughafen Stansted aussteigt, gibt es ein Shuttle, das zum Terminal fährt. Und da war ein Raspbian [beim Start eingefroren].
Simon: Ja, das kommt vor. Wir werden ziemlich oft in Anzeigen eingesetzt. Und die Fähigkeit, sich von so etwas zu erholen, ist natürlich eine gute Sache. Aber ja, SD-Karten sind keine perfekte Technologie. Dinge, die sie robuster machen, sind gut. Ich vermute, wir werden zu einem Overlay-Dateisystem auf einer Basispartition übergehen. Das bedeutet zumindest, dass man zu etwas zurückkehren kann, von dem man weiß, dass es funktioniert, wenn auch nicht unbedingt mit der gesamten [vorhandenen] Arbeit darauf.
Max: Haben Sie irgendwelche Pläne für industrielle Nutzer, die das System nicht berühren, für ein Nur-Lese-Image?
Simon: Man hat sich mit schreibgeschützten Bildern beschäftigt. Wir haben uns intern noch nicht damit befasst - es wird zwar gelegentlich diskutiert, aber wir haben noch nicht daran gearbeitet. Es ist auf jeden Fall möglich, das zu tun.
Max: Die letzte Frage, die ich habe, bezieht sich auf ARMv6-Binärdateien und ARMv7-Binärdateien. Im Grunde genommen unterstützen Sie alle Raspberry Pi's.
Simon: Wir wollen die Leute, die einen Pi 1 gekauft haben, nicht verwaisen lassen, weil sie per definitionem über ein begrenztes Budget verfügen. Es kostet nur 35 $ für einen neuen Pi, aber sie haben vielleicht keine 35 $. Wir versuchen also, alle alten Plattformen zu unterstützen, wo immer es möglich ist. Die einzige Stelle, an der wir das im Moment nicht tun, ist der Flash-Player. Der Flash-Player ist nur als ARMv7-Binary verfügbar, das ist alles, was Adobe anbietet. Daran können wir also nur wenig ändern. Wir wollen nicht absichtlich alte Plattformen mit neuen Softwareversionen verwaisen lassen.
Max: Der Grund, warum ich frage, ist die Leistung. Offensichtlich verwenden ARMv6-Binärdateien nicht alle Funktionen, die ARMv7-Binärdateien verwenden würden.
Simon: In einigen Fällen haben wir tatsächlich hybride Bibliotheken, z. B. einige unserer Speicherzugriffsbibliotheken. Sie prüfen, ob sie auf einem ARM 6 oder einem ARM 7 laufen und führen entsprechend anderen Code aus. Das ist etwas, das wir in Betracht ziehen könnten.
Max: Der Kernel ist ebenfalls optimiert ... Kernbibliotheken [wo die größten Auswirkungen auftreten würden]
Simon: Ja. Das sind Dinge wie Speicherkopien, Speichervergleiche. Dinge, die allgemeiner System-Overhead sind, die für verschiedene Plattformen optimiert sind. Es ist eine komplizierte Sache, das zum Laufen zu bringen. Aber es funktioniert. Wir würden es wahrscheinlich nicht für alles tun - aber wenn wir Stellen finden, an denen wir einen Vorteil erzielen können. Wir würden wahrscheinlich nicht eine einzelne Anwendung optimieren. Aber wenn wir für mehrere Anwendungen optimieren können - und wir haben einen Mann, der darin sehr gut ist -, dann können wir zu diesem Zweck auf Low-Level-Bits von Code atmen. Wir haben ein fortlaufendes Programm, in dem wir nach Dingen suchen, mit denen wir uns durch Optimierung einen Leistungsvorteil verschaffen können.
Max: Im Vergleich zu anderen Plattformen, bei denen es im Wesentlichen um billige Hardware geht, erhält man mit dem Raspberry Pi einen Computer, der immer besser wird, weil die Software immer besser wird.
Simon: Das hoffen wir, ja.
Max: Gibt es Dinge, die Sie erwähnen möchten, irgendwelche coolen Dinge, Ideen?
Simon: Ich denke, wir haben das meiste abgedeckt, was mir im Moment im Kopf herumschwirrt, also finde ich es großartig.
Max: Danke, dass Sie sich die Zeit genommen haben.
Simon: Kein Problem, es war sehr schön, Sie wiederzusehen.