„Wenn Sie auf Probleme mit der Barrierefreiheit achten, erhalten Sie äußerst treue Benutzer.“ Interview mit John Fox (Netflix)



Es ist bekannt, dass die Barrierefreiheit wichtig ist, aber nicht jeder achtet ausreichend auf die Verfügbarkeit seiner Anwendung.

Es ist auch bekannt, dass das Erscheinen der Firma NeXT und der anschließende Kauf durch Apple eine wichtige Episode in der Karriere von Steve Jobs sind, aber nur wenige haben persönlich Software für NeXT-Computer geschrieben.

Der Netflix iOS-Entwickler John Fox kommt mit einem Bericht über Barrierefreiheit zu unserer Mobius-Konferenz. In Erwartung dessen haben wir beschlossen, ihm Fragen zu stellen: Wir haben mit seiner langen Karriere begonnen, in der NeXT vorgestellt wurde, und sind dann zum Thema Barrierefreiheit übergegangen. Der englischsprachige Originaltext des Interviews wurde auf Medium veröffentlicht und für Habr ins Russische übersetzt.

- Hallo John. Es ist interessant, mit einer Person zu sprechen, die seit 2010 mobile Anwendungen schreibt und bereits vor Jahrzehnten in der IT arbeitet. Erzählen Sie uns, wie Sie mit der IT angefangen haben.

- Als ich Student an der New York University war, hatte der Club, in dem ich war, die Verwaltung überredet, Ressourcen für den Kauf eines Mac, eines Laserdruckers und einer QuarkXPress-Seitenlayoutanwendung bereitzustellen. All dies war billiger als die Kosten für einen typografischen Satz einer Ausgabe der von uns veröffentlichten akademischen Zeitschrift, und für diesen Satz wurden bereits Mittel bereitgestellt. Nach meinem Abschluss bekam ich einen Job in einem in New York ansässigen Unternehmen, das sich mit Übersetzungen und Sprachtraining befasste. Zu unseren Kunden gehörten Finanzunternehmen und Anwaltskanzleien, die in extrem kurzer Zeit Übersetzungen benötigten - kürzer als jeder Live-Übersetzer.

In New Jersey gab es zu dieser Zeit eine Firma, die Zeit auf einem Mainframe zur Verfügung stellte, der maschinelle Übersetzung durchführte. In den USA beschäftigte sich IBM zunächst mit maschineller Übersetzung. Dies waren Verteidigungsbefehle während des Kalten Krieges, und dann wurde das Ergebnis der Bildsprache beraubt. Das biblische Zitat „Der Geist ist willig, aber das Fleisch ist schwach“ („Der Geist ist kräftig, das Fleisch ist schwach“), der Algorithmus, der direkt im Geist von „Wodka ist gut, aber das Fleisch ist schlecht“ übersetzt wird. Trotz dieser primitiven Ebene konnte der Algorithmus trainiert werden. Er gab nur die primäre Version des Textes heraus, die der Übersetzer dann bearbeitete. Das Einrichten dieses Systems war eine undankbare Aufgabe: Wir haben Dokumente über eine direkte Verbindung von einer proprietären Textverarbeitungsmaschine an unseren Mac gesendet, sie dann mehrmals an den Mainframe gesendet, das Ergebnis bearbeitet und schließlich das perfekt formatierte fertige Dokument an die Kunden zurückgegeben.

Ich kann mir vorstellen, wie jeder mit den Augen rollte, wenn er eine solche antidiluvianische Technologie beschrieb. Mein jugendlicher Sohn erstickt vor Lachen, als ich ihm erzähle, wie die Spiele ausgesehen haben, als ich in seinem Alter war. Aber das ist normal: Was heute die fortschrittlichste Technologie ist, wird morgen im Museum verstauben. Im Laufe der Zeit bleibt nur die Möglichkeit, neue Lösungen zu sammeln.

- Wie sind Sie zur Arbeit mit mobilen Anwendungen gekommen?

- Kurz nach meinem Umzug von New York nach San Francisco kam der erste NeXT-Computer heraus. Er war seiner Zeit um mindestens ein Jahrzehnt voraus. Hier muss über die Forschung von Xerox PARC gesprochen werden, die viele sehr wertvolle Früchte hervorgebracht hat - zum Beispiel die ersten GUIs, die dank des Mac populär wurden. NeXT verwendete zwei weitere Ergebnisse aus diesen Studien: Vernetzung und objektorientierte Programmierung. Das CERN feiert nun das 30-jährige Bestehen des World Wide Web - dieser Erfolg wurde dadurch ermöglicht, dass Menschen ohne Abschluss in Informatik Zugang zum Programm hatten. Ohne NeXT hätte ich kaum angefangen, Software zu schreiben. Zuerst habe ich gelernt, wie man Anwendungen mit Interface Builder entwirft und prototypisiert, dann habe ich angefangen, Webanwendungen mit WebObjects (einem anderen NeXT-Tool) zu schreiben. Als Apple NeXT erwarb, hatte ich bereits ein gutes Verständnis für die Technologien und Muster, die Cocoa und Cocoa Touch noch verwenden.

- Vor iOS haben Sie für Mac OS entwickelt, und dann war es weniger verbreitet als jetzt. Was waren deine Eindrücke?

- Cocoa (eine Reihe von APIs, die von NeXTSTEP geerbt wurden) gab Entwicklern dann viel mehr als die Windows-API. Dank Cocoa konnte der Programmierer sogar allein schöne und komplexe Software erstellen. Als OS X eintraf, gab es eine beträchtliche Anzahl von Indie-Entwicklern, von denen viele zuvor für NeXT entwickelt hatten - zum Beispiel Will Shipley, der Schöpfer der Delicious Library. Sie zogen es vor, die ersten im Dorf zu sein, anstatt die zweiten in der Stadt, und infolgedessen verwandelte sich ihr Dorf in eine Metropole. Ich bin den gleichen Weg gegangen - meine MemoryMiner-Anwendung erhielt hervorragende Bewertungen, verkaufte sich gut und ermöglichte mir, mehrere andere darauf basierende Produkte herzustellen. Außerdem arbeitete ich als Berater.

- Sie arbeiten seit 2015 bei Netflix. Was sind Ihre Aufgaben in diesem Unternehmen?

- Als ich zu Netflix kam, war ihre Anwendung hybride (Benutzeroberfläche in HTML / JavaScript / CSS, ein Player in kompiliertem Code) und sie haben sie vollständig in Cocoa Touch kopiert. Nachdem es basierend auf A / B-Tests neu geschrieben wurde, haben wir viele Verbesserungen vorgenommen, die mit einer modernen Kakaoanwendung viel einfacher zu bewerkstelligen waren.

- Auf LinkedIn wird Ihre Position als "produktorientierter Ingenieur" bezeichnet, was eine eher ungewöhnliche Formulierung ist. Was bedeutet das und was ist der Unterschied zu einem Softwareentwickler?

- Für eine Qualitätsanwendung ist es natürlich wichtig, dass der Code präzise ist, einfach zu warten ist und fehlerfrei kompiliert wird. Zusätzlich zu diesen Kriterien gibt es viele andere, nicht weniger wichtige Kriterien: Benutzerfreundlichkeit, schönes Erscheinungsbild, Klarheit der Anwendung beim ersten Start (insbesondere für benutzerdefinierte Anwendungen). Wenn Sie ein vollwertiges Produkt erstellen möchten, sind diese Aspekte ebenso wichtig wie das richtige Anwendungsdesign (gut geplante Klassen, Komponententests usw.).

Zu dieser Zeit habe ich viele Nerven aufgewendet, um dem hartnäckigen "bärtigen" Kollegen (der sein ganzes Leben lang mit Emacs an UNIX in der Kommandozeile gearbeitet hatte) zu erklären, warum elegante grafische Oberflächen wichtig sind. Aufgrund dieser Streitigkeiten begann ich mit der Entwicklung von Software, und es war eine angenehme Entdeckung für mich, dass das Erlernen einer Programmiersprache sich nicht allzu sehr vom Erlernen einer normalen Sprache unterscheidet. Die Vertrautheit mit Syntax und Grammatik ist jedoch immer nur der Anfang, ebenso wie die Vertrautheit mit Akkorden in der Musik.

- Sie haben auf Twitter geschrieben, dass Sie ein "UI Engineer" sind. Bedeutet dies, dass Sie ausschließlich mit der Benutzeroberfläche mobiler Anwendungen arbeiten - mit Animation, Visualisierung usw.?

- Ja, jetzt beschäftige ich mich fast ausschließlich mit der Benutzeroberfläche: Animation, Videowiedergabe, Lokalisierung, Barrierefreiheit. In der Vergangenheit habe ich viel mit Servercode gearbeitet, aber das ultimative Ziel war immer, eine hochwertige Benutzeroberfläche zu erstellen.

- Sagen Sie uns, welche alltäglichen Aufgaben ein mobiler Entwickler in Netflix lösen muss.

- Wir führen A / B-Tests durch, durch die wir neue Funktionen erstellen, vorhandene Funktionen unterstützen und verbessern, Wissen austauschen und unsere Arbeit verbessern (Qualitätskontrolle, Lokalisierung usw.). Da wir unsere Endpunkte steuern, kann unsere Anwendung bei Bedarf genau auf die richtigen Daten zugreifen.

- Wie ist Ihre Teamstruktur? Haben iOS-Entwickler beispielsweise Kontakt zu Android-Entwicklern?

- Unsere Teams - sowohl iOS als auch Android sowie mobile Entwicklung und Qualitätskontrolle - arbeiten zusammen. Wir sitzen alle zusammen und haben eine sehr freundliche Atmosphäre.

- Wie genau interagieren Tester mit mobilen Entwicklern?

- Die Verantwortung für die Qualität liegt bei jedem, daher liegt die Verantwortung des Entwicklers darin, gemeinsam mit den Testern Testpläne zu erstellen. Wir automatisieren alles Mögliche (z. B. das Erstellen von Screenshots), damit die Benutzer nur das tun können, was sie am besten können.

- Netflix hat einen Technologie-Blog auf Medium. Gibt es etwas Ähnliches speziell für mobile Entwickler?

- Wir haben einen ziemlich aktiven Twitter Netflix UI Engineers , der sich der Entwicklung der gesamten Benutzeroberfläche widmet. Manchmal machen wir Performances, deren Aufnahmen auf YouTube verfügbar sind. Es gibt eine Auswahl von vier speziell für die Entwicklung mobiler Anwendungen.

- Lassen Sie uns das Thema Ihres Vortrags bei Mobius diskutieren. Wenn es um die Zugänglichkeit von Anwendungen geht, denken Menschen oft an Blinde und Sehbehinderte, aber die Zugänglichkeit kann nicht nur ihnen helfen. Welche anderen Fälle müssen Entwickler von Mobilgeräten berücksichtigen?

- Im vergangenen Herbst haben wir und zwei andere Entwickler beim Hackathon ein Experiment durchgeführt, bei dem die iOS-Anwendung mit dem AR Kit ohne Hände gesteuert wurde. Dieses Experiment erregte die Aufmerksamkeit der Medien . Sein Ziel war es, Menschen mit Erkrankungen des Bewegungsapparates zu helfen.


- Was passiert, wenn Sie nicht an die Verfügbarkeit Ihrer iOS-Anwendung denken - wie sehr erschwert dies den Benutzern das Leben?

"Wir müssen Apple hier Tribut zollen: Sie bieten grundlegende Funktionen für die sofortige Erreichbarkeit." Wenn Sie Komponenten aus dem Standard-UIKit verwenden, funktioniert Ihre Anwendung im Allgemeinen. Wenn Sie jedoch Ihre eigenen Komponenten verwenden, liegt die Verantwortung bei Ihnen. Wenn Sie Webtechnologien verwenden, kann auf Ihre Anwendung höchstwahrscheinlich nicht zugegriffen werden. Standardmäßig verfügt UIView nicht über ein accessibilityLabel-Label, sodass es von VoiceOver, der am häufigsten verwendeten Accessibility-Technologie in iOS, nicht erkannt wird.

Barrierefreiheitsprobleme für Apple-Software haben eine sehr lebendige Community, es gibt eine Website namens AppleVis . Dort wird ständig diskutiert, welche Anwendungen gut zugänglich sind und welche nicht.

- Widersprechen Barrierefreiheitsprobleme anderen Aufgaben? Zum Beispiel möchte ein Designer eine schöne Schriftart verwenden, die jedoch schlechter liest als eine langweiligere. Wie können diese Konflikte gelöst werden?

- Bei Menschen mit Sehbehinderung und Farbenblindheit treten die Hauptschwierigkeiten nicht aufgrund der Schrift selbst auf, sondern aufgrund ihrer Größe und ihres Kontrasts. Es ist hilfreich, wenn Ihre Anwendung Dynamic Type verwendet .

Im Allgemeinen schließen sich schönes Design und Benutzerfreundlichkeit keineswegs aus. Selbst wenn Ihre Anwendung Dynamic Type nicht unterstützt, können die Einstellungen für Vergrößerung und Farbinversion die Arbeit mit der Anwendung erheblich erleichtern.

- Bei der Entwicklung einer neuen Anwendung können Probleme mit der Barrierefreiheit leicht auf einen späteren Zeitpunkt verschoben werden. Sie sagen, es sei zu früh, um darüber nachzudenken, wenn die Grundfunktionalität noch nicht implementiert ist. Wann ist die Zeit, darüber nachzudenken? Beeinflussen Überlegungen zur Barrierefreiheit Entscheidungen für die gesamte Anwendung, sodass Sie sofort darüber nachdenken müssen?

- Im Allgemeinen ist es am besten, Zugänglichkeitsprobleme von Anfang an zu berücksichtigen. Gleichzeitig erfordert die Bereitstellung eines „Mindestprogramms“ für die Barrierefreiheit ein wenig Arbeit. Wenn Sie sich also in einem frühen experimentellen Stadium befinden und nicht dazu in der Lage sind, erhalten Sie durch eine spätere Implementierung keine zusätzlichen Kosten. Nach meiner Erfahrung hilft es jedoch, Probleme mit der Barrierefreiheit zu lösen, um andere Probleme der Benutzerfreundlichkeit, einschließlich unerwarteter Probleme, neu zu betrachten.

- Egal wie wichtig Empathie ist, viele Entscheidungen werden auf der Grundlage von Wirtschaftsindikatoren getroffen. Es kann viel einfacher sein, den Manager davon zu überzeugen, Ressourcen in die Sicherstellung der Verfügbarkeit zu investieren. Wenn Daten vorliegen, wie viele neue Benutzer dies bringen wird. Gibt es dazu Statistiken?

- Es ist schwierig, solche Statistiken zu finden. Ich sehe diese Frage lieber anders. Jede Anwendung, auch die neueste, hat immer Wettbewerber auf dem Markt, die dieselben Funktionen ausführen. Um ein Bild für Ihre Anwendung zu erstellen, müssen Sie Benutzer mit etwas „einhaken“, damit sie allen anderen davon erzählen. Wenn Sie Ihr Produkt für Benutzer bequem machen, die auf Software mit Barrierefreiheit angewiesen sind, werden diese wiederum Ihre Anwendung mit Macht und Kraft loben, was von Menschen gehört wird.

- Einige Entwickler werden sagen: "Nun, Netflix hat einen Durchbruch bei den Ressourcen, und hier befinden wir uns in einem kleinen Team voller Aufgaben, sodass wir nicht an der Barrierefreiheit arbeiten müssen." Möchten Sie etwas beantworten?

- Wir haben wirklich mehr Ressourcen als ein kleines Unternehmen, aber wir betrachten diese Arbeit auch in anderer Hinsicht als nützlich. Beispielsweise wird ein wesentlicher Teil der Probleme bei der Testautomatisierung durch die Bereitstellung von AccessibilityIndentifiers für UI-Elemente gelöst. Der QS-Ingenieur aus unserem Team, der dies getan hat, hat dies ausreichend beachtet, um barrierefreie Labels hinzuzufügen, und dann ist alles daraus entstanden. Hier können Sie eine Analogie zur Lokalisierung ziehen: Es besteht die Versuchung, Zeichenfolgen in UI-Elementen fest zu codieren, dies wird jedoch den Markt, auf dem Sie Ihre Anwendung verkaufen können, erheblich einschränken. Indem Sie sich auf Probleme mit der Barrierefreiheit konzentrieren, erstellen Sie äußerst engagierte Benutzer.

- Sie haben auf vielen Konferenzen Präsentationen gehalten. Und wie war Ihr allererster Bericht?

- 1995 stellte ich auf der Seybold Publishing Conference in Boston einem Benutzer dieses Systems mein Routing- und Genehmigungssystem für NeXT vor. Ich war sehr besorgt über die Aufführung, aber die Aufführungsgötter waren auf meiner Seite und am Ende lief alles gut. Ich hatte auch katastrophale Fehler während des Berichts. Wenn ich mich also einer Live-Demo zuwende, behalte ich immer ein vorbereitetes Video für alle Fälle, damit es eine Backup-Version gibt.

- Waren Sie schon einmal in St. Petersburg und haben von den weißen Nächten gehört? Mobius wird im Mai stattfinden, wenn sie bereits beginnen.

- In Russland war ich nur einmal und in St. Petersburg - nicht einmal, und es wird für mich sehr interessant sein, Ihre Stadt zu betrachten. Und was die weißen Nächte betrifft, kann ich eine Geschichte erzählen, die mir schon vor dem College passiert ist, als ich im Frühsommer mit einem Freund in Schweden war. Dort beschlossen wir, das endlose Tageslicht für die Party zu nutzen. Das ist nur der Spaß, der mit dem frühen Erscheinen des Hauses eines Elternteils endete, der sehr glücklich war, eine Gesellschaft betrunkener Teenager in seiner Sauna zu finden. Seitdem bin ich in meiner Lebenseinstellung etwas verantwortungsbewusster geworden.

Mobius wird vom 22. bis 23. Mai in St. Petersburg stattfinden. John wird dort mit dem Thema „Barrierefreiheit für iOS: Gutes tun, indem man Gutes tut“ sprechen. Außerdem wird es Dutzende anderer Berichte über die mobile Entwicklung geben. Sie können das vollständige Programm auf der Konferenz-Website sehen und Tickets am selben Ort kaufen.

Source: https://habr.com/ru/post/de450680/


All Articles