⬆️ ⬇️

“Paying attention to issues of accessibility, you get extremely loyal users”: interview with John Fox (Netflix)





It is known that accessibility is important, but not everyone pays enough attention to the availability of its application.



It is also known that the emergence of the company NeXT and its subsequent purchase of Apple is an important episode in the career of Steve Jobs, but few people personally wrote software for NeXT computers.

')

IOS developer John Fox from Netflix comes to the Mobius conference with a report on accessibility, and on the threshold of this, we decided to ask him: we started with his long career in which NeXT appeared, and then turned to the topic of accessibility. On Medium published published the original English-language text of the interview, and for Habr translated into Russian.



- Hello, John. It is interesting to talk with a person who has been writing mobile applications since 2010, and started working in IT a decade ago. Tell us how you started IT.



- When I was a student at New York University, the circle in which I was a member persuaded the administration to allocate resources to buy a Mac, a laser printer, and QuarkXPress page layout applications. All this came out cheaper than the cost of typographical typing of one issue of an academic journal, which we issued, and funds for this set were already allocated. After graduation, I got a job at a New York company that was engaged in translation and language learning. Our clients included financial firms and law firms that required translations in an extremely short time — shorter than is feasible for any living translator.



In New Jersey at that time there was a company that provided time on the mainframe that performed machine translation. Initially, in the US, IBM was engaged in machine translation, these were defense orders during the Cold War, and then the result was devoid of imagery. The biblical quotation “the spirit is willing, but the flesh is weak” (“the spirit is willing, the flesh is weak”) the algorithm straightforwardly translated in the spirit of “vodka is good, but the meat is rotten”. Despite this primitive level, the algorithm could be trained. He gave out only the primary version of the text, which the translator then edited. Establishing this system was a thankless job: we sent documents directly from a proprietary word processing machine to our Mac, then sent them to the mainframe many times and edited the result, and finally returned the perfectly formatted finished document to customers.



I can imagine how everyone rolled their eyes when describing such antediluvian technology. My teenage son chokes on laughter when I tell him what the games looked like when I was his age. But this is normal: what is today the most advanced technology, tomorrow it will gather dust in the museum. Over time, only the ability to assemble new solutions is retained.



- How did you get to work with mobile applications?



- Shortly after my move from New York to San Francisco, the first NeXT computer came out. He was ahead of his time at least a decade. Here you need to say about the research Xerox PARC, which gave a lot of very valuable fruits - for example, the first GUI, which became widespread thanks to Mac. NeXT used two other results from these studies: network technologies and object-oriented programming. CERN is now celebrating the 30th anniversary of the World Wide Web - this achievement was made possible by the fact that access to programming was open to people who do not have a degree in computer science. If it were not for NeXT, I would hardly have started writing software. First, I learned how to design and prototype applications using Interface Builder, then began writing web applications with WebObjects (another NeXT tool). By the time Apple acquired NeXT, I was already well-versed in the technologies and patterns that are still used by the developers of Cocoa and Cocoa Touch.



- Before iOS, you developed for Mac OS, and then it was less common than it is now. What were your impressions?



- Cocoa (a set of API inherited from NeXTSTEP) then gave developers a lot more than the Windows API. Thanks to Cocoa, the programmer could even alone create beautiful and complex software. By the time OS X appeared, there were a significant number of indie developers, many of whom had previously developed for NeXT — for example, Will Shipley, the creator of the Delicious Library. They preferred to be the first in the village, rather than the second in the city, and as a result, their village turned into a metropolis. I went the same way - my MemoryMiner application received excellent reviews, sold well, and allowed me to make several other products based on it, and also gave me a job as a consultant.



- You have been working in Netflix since 2015. What are your responsibilities in this company?



- When I came to Netflix, their application was hybrid (UI on HTML / JavaScript / CSS, player on compiled code), and they copied it entirely on Cocoa Touch. After it was rewritten, we made many improvements on the basis of A / B testing, which were much easier to do with the modern Cocoa application.



- In LinkedIn, your job title is labeled “product-focused engineer”; this is a rather unusual wording. What does it mean, and what is the difference from software engineer?



- Of course, for a quality application, it is important that its code is concise, that it is easy to maintain and that it compiles without errors. But besides these criteria, there are many other equally important ones: usability, beautiful appearance, clarity of the application when it is first started (especially for user applications). If you want to create a full-fledged product, then these aspects are just as important as the correct design of the application (well-planned classes, unit testing, etc.)



At one time, I spent a lot of nerves trying to explain to a stubborn "bearded" colleague (who had worked all his life under UNIX on the command line with Emacs) why elegant graphical interfaces are important. Because of these disputes, I started developing software, and for me it was a pleasant discovery that the learning of a programming language is not too different from learning a regular language. But familiarity with syntax and grammar is always only the beginning, like familiarity with chords in music.



- You have written on Twitter that you are “UI Engineer”. Does this mean that you work exclusively with mobile application UI - with animation, visualization, etc.?



- Yes, now I do almost exclusively UI: animation, video playback, localization, accessibility. In the past, I worked quite a bit with the code for servers, but the ultimate goal was always to create a quality UI.



- Tell us what everyday tasks the mobile developer has to solve in Netflix.



- We perform A / B testing, by the results of which we create new features, support and improve existing features, share knowledge, and improve our work (quality control, localization, etc.). Because we control our endpoints, our application can access the data you need exactly when you need it.



- What is your team structure - for example, do iOS developers contact Android developers?



- Our teams - and iOS, and Android, and mobile development, and quality control - work together. We all sit together, and we have a very friendly atmosphere.



- How exactly do testers interact with mobile developers?



“The responsibility for quality lies with everyone, so the responsibility of the developer is to help create test plans in conjunction with testers. We automate everything that is possible (for example, creating screenshots) so that people can only do what they do best.



- Netflix has a technology blog on Medium. Is there something like this specifically for mobile developers?



- We have a rather active Twitter Netflix UI Engineers , dedicated to the development of the UI as a whole. Sometimes we have shows that are available on YouTube. There is a selection of four dedicated to the development of mobile applications.



- Let's discuss the topic of your speech at Mobius. When it comes to the availability of applications, people often think about the blind and visually impaired, but accessibility can help not only them. What other cases need to keep in mind the mobile developer?



“Last fall, we conducted an experiment with two other developers on the hackathon in which the management of an iOS application was done without hands using the AR Kit. This experiment attracted media attention . His goal was to help people with diseases of the musculoskeletal system.





- What happens if you don’t think about the availability of your iOS application - how much does it make life difficult for users?



“I’ll pay tribute to Apple here: they provide basic functions for out-of-box availability.” If you use components from the standard UIKit, then in general your application will work. But if you use your own components, then the responsibility lies with you. If you use web technologies, then most likely your application will be inaccessible. By default, UIView does not have an accessibilityLabel, so it will not be recognized by VoiceOver, the most commonly used accessibility technology in iOS.



The availability issues of Apple-software are a very lively community, it has a website - AppleVis . There all the time there are stormy discussions about which applications are well accessible and which are not.



- Are accessibility considerations in conflict with other tasks? For example, a designer wants to use a beautiful font, but it reads worse than a more boring one. How to resolve these conflicts?



- For people with visual impairment and color blindness, the main difficulties arise not because of the font itself, but because of its size and contrast. It helps if your application uses Dynamic Type .



But generally speaking, beautiful design and user-friendliness are not at all mutually exclusive characteristics. Even if your application does not support Dynamic Type, the zoom and invert settings can make working with the application much easier.



- When developing a new application, accessibility issues are easy to postpone until later: that it’s too early to think about it when the main functionality has not yet been implemented. When is it time to think about it? Do accessibility considerations affect solutions for the entire application, so you need to think about them right away?



“Generally speaking, it’s best to take into account accessibility issues right from the start.” But at the same time, the provision of a “minimum program” for accessibility requires a bit of work, so if you have an early experimental stage and you are not up to it, you will not receive any additional costs from a later implementation. However, judging by my experience, addressing accessibility issues helps to take a fresh look at other user-friendliness issues, including unexpected ones.



- No matter how important empathy is, many decisions are made on the basis of economic indicators. It may be much easier to convince a manager to invest resources in ensuring accessibility, if there is data, how many new users this will bring. Are there any statistics on this issue?



- It is difficult to find such statistics. I prefer to look at this question differently. Any application, even the newest one, always has competitors on the market that perform the same functions. To create an image of your application, you need to “hook” users with something, then they will start telling everyone else about it. If you make your product convenient for users who depend on software with accessibility, then they, in turn, will begin to praise your application with might and main, it will be heard by people.



“Some developers will say:“ Well, Netflix has a damning resource, and here we are in a small team are overwhelmed with tasks, so we have no time for working on accessibility. ” Do you want to answer something?



- We really have more resources than a small company, but we also look at this work as useful in other respects. For example, much of the testing automation problems are solved by providing accessibilityIndentifier identifiers for UI elements. The QA engineer from our team who did this paid enough attention to adding accessibilityLabels, and then everything grew out of it. Here you can draw an analogy with localization: there is a temptation to hard-code lines in UI elements, but this will significantly limit the market in which you can sell your application. Paying attention to issues of accessibility, you create extremely loyal users.



- You have already made presentations at many conferences. And how was your very first report?



“It was in 1995 that I presented my routing and approval system for NeXT with one user of this system at the Seybold Publishing Conference in Boston. I was very worried about the speech, but the gods of the speeches were on my side, and in the end everything went well. I also had catastrophic failures in the course of the report, so when I turn to a live demo, I always keep a pre-prepared video just in case, so that there is a backup option.



- Have you ever been to St. Petersburg and heard about the white nights? Mobius will be held in May, when they begin.



- In Russia, I was only once, and in St. Petersburg - even once, and it will be very interesting for me to look at your city. And as for the white nights, I can tell a story that happened to me before going to college, when I was with a friend in Sweden in the early summer. There we decided to use the endless light day for a party. But the fun ended with the early appearance of a parent who was very unhappy to find a company of drunk teenagers in his sauna. Since then, I have become somewhat more responsible approach to life.



Mobius will be held in St. Petersburg on May 22-23 . John will speak on the theme “Accessibility for iOS: Doing well by doing good”, and besides that, there will be dozens of other reports on mobile development. You can see the full program on the conference website , buy tickets there.

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



All Articles