
Diketahui bahwa aksesibilitas itu penting, tetapi tidak semua orang cukup memperhatikan ketersediaan aplikasi mereka.
Diketahui juga bahwa penampilan perusahaan NeXT dan pembelian berikutnya oleh Apple merupakan episode penting dalam karier Steve Jobs, tetapi hanya sedikit yang secara pribadi menulis perangkat lunak untuk komputer NeXT.
Pengembang Netflix iOS
John Fox akan datang ke konferensi Mobius kami dengan laporan tentang aksesibilitas, dan untuk mengantisipasi hal ini, kami memutuskan untuk mengajukan pertanyaan kepadanya: kami memulai dengan karir panjangnya, yang menampilkan NeXT, dan kemudian beralih ke topik aksesibilitas. Teks wawancara berbahasa Inggris asli
diterbitkan di Medium, dan untuk Habr diterjemahkan ke dalam bahasa Rusia.
- Halo, John. Sangat menarik untuk berbicara dengan seseorang yang telah menulis aplikasi seluler sejak 2010, dan mulai bekerja di bidang TI bahkan beberapa dekade yang lalu. Beri tahu kami bagaimana Anda mulai melakukannya.- Ketika saya masih mahasiswa di New York University, klub tempat saya berada telah membujuk administrasi untuk mengalokasikan sumber daya untuk pembelian Mac, printer laser, dan aplikasi tata letak halaman QuarkXPress. Semua ini keluar lebih murah daripada biaya satu set tipografi dari satu edisi jurnal akademik yang kami terbitkan, dan dana sudah dialokasikan untuk set ini. Setelah lulus, saya mendapat pekerjaan di sebuah perusahaan yang berbasis di New York yang terlibat dalam penerjemahan dan pelatihan bahasa. Di antara klien kami adalah firma keuangan dan firma hukum yang membutuhkan terjemahan dalam waktu yang sangat singkat - lebih pendek dari apa yang bisa dilakukan penerjemah langsung.
Di New Jersey, pada waktu itu, ada perusahaan yang menyediakan waktu pada mainframe yang melakukan terjemahan mesin. Awalnya, di AS, IBM terlibat dalam terjemahan mesin, ini adalah perintah pertahanan selama Perang Dingin, dan kemudian hasilnya dicabut dari citra. Kutipan Alkitab "roh mau, tetapi daging lemah" ("roh kuat, daging lemah"), algoritma langsung diterjemahkan dalam semangat "vodka baik, tetapi daging buruk". Meskipun tingkat primitif ini, algoritma dapat dilatih. Ia hanya memberikan teks versi utama, yang kemudian diedit oleh penerjemah. Menyiapkan sistem ini adalah tugas tanpa pamrih: kami mengirim dokumen melalui koneksi langsung dari mesin pengolah kata berpemilik ke Mac kami, kemudian mengirimnya ke mainframe berkali-kali dan mengedit hasilnya, dan akhirnya mengembalikan dokumen jadi yang diformat sempurna kepada klien.
Saya bisa membayangkan bagaimana semua orang memutar mata mereka ketika menggambarkan teknologi kuno seperti itu. Putra remaja saya tertawa terbahak-bahak ketika saya memberi tahu dia seperti apa permainan itu ketika saya seusia dengannya. Tapi ini normal: apa yang saat ini adalah teknologi paling maju akan mengumpulkan debu di museum besok. Seiring waktu, hanya kemampuan untuk mengumpulkan solusi baru yang tersisa.
- Bagaimana Anda bisa bekerja dengan aplikasi seluler?- Segera setelah saya pindah dari New York ke San Francisco, komputer NeXT pertama keluar. Dia mendahului waktunya setidaknya satu dekade. Di sini perlu dikatakan tentang penelitian Xerox PARC, yang menghasilkan banyak buah yang sangat berharga - misalnya, GUI pertama yang menjadi populer berkat Mac. NeXT menggunakan dua hasil lain dari studi ini: jaringan dan pemrograman berorientasi objek. CERN sekarang merayakan peringatan 30 tahun World Wide Web - pencapaian ini dimungkinkan karena fakta bahwa akses ke pemrograman terbuka untuk orang-orang tanpa gelar dalam ilmu komputer. Jika tidak ada NeXT, saya hampir tidak akan mulai menulis perangkat lunak. Pada awalnya, saya belajar bagaimana merancang dan membuat prototipe aplikasi menggunakan Interface Builder, kemudian saya mulai menulis aplikasi web dengan WebObjects (alat NeXT lain). Pada saat Apple mengakuisisi NeXT, saya sudah memiliki pemahaman yang baik tentang teknologi dan pola yang masih digunakan oleh Cocoa dan Cocoa Touch.
- Sebelum iOS, Anda mengembangkan untuk Mac OS, dan kemudian itu kurang umum dari sekarang. Apa kesan Anda?- Cocoa (satu set API yang diwarisi dari NeXTSTEP) kemudian memberi pengembang lebih dari Windows API. Berkat Cocoa, programmer bahkan dapat membuat perangkat lunak yang cantik dan kompleks. Pada saat OS X tiba, ada sejumlah besar pengembang indie, banyak di antaranya yang sebelumnya dikembangkan untuk NeXT - misalnya, Will Shipley, pencipta Delicious Library. Mereka lebih suka menjadi yang pertama di desa, daripada yang kedua di kota, dan sebagai hasilnya, desa mereka berubah menjadi kota metropolis. Saya mengikuti jalur yang sama - aplikasi MemoryMiner saya menerima ulasan yang sangat baik, terjual dengan baik, dan memungkinkan saya untuk membuat beberapa produk lain berdasarkan itu, dan juga memberi saya pekerjaan sebagai konsultan.
- Anda telah bekerja di Netflix sejak 2015. Apa tanggung jawab Anda di perusahaan ini?- Ketika saya datang ke Netflix, aplikasi mereka adalah hybrid (UI dalam HTML / JavaScript / CSS, pemain dalam kode yang dikompilasi), dan mereka menyalinnya sepenuhnya ke Cocoa Touch. Setelah ditulis ulang, berdasarkan pengujian A / B, kami membuat banyak perbaikan, yang jauh lebih mudah dilakukan dengan aplikasi Kakao modern.
- Di LinkedIn, posisi Anda ditetapkan sebagai "insinyur yang berfokus pada produk", yang merupakan kata-kata yang agak tidak biasa. Apa artinya itu, dan apa perbedaan dari seorang insinyur perangkat lunak?- Tentu saja, untuk aplikasi yang berkualitas, penting bahwa kodenya ringkas, mudah dipelihara, dan dikompilasi tanpa kesalahan. Namun selain kriteria ini, ada banyak lainnya, yang tidak kalah penting: kegunaan, penampilan cantik, kejelasan aplikasi pada peluncuran pertama (terutama untuk aplikasi khusus). Jika Anda ingin membuat produk lengkap, maka aspek-aspek ini sama pentingnya dengan desain aplikasi yang tepat (kelas yang terencana dengan baik, pengujian unit, dll.)
Pada saat itu, saya menghabiskan banyak keberanian mencoba menjelaskan kepada rekan "berjanggut" keras kepala (yang telah bekerja pada UNIX pada baris perintah dengan Emacs sepanjang hidupnya) mengapa antarmuka grafis yang elegan penting. Karena perselisihan ini, saya mulai mengembangkan perangkat lunak, dan merupakan penemuan yang menyenangkan bagi saya bahwa belajar bahasa pemrograman tidak terlalu berbeda dengan belajar bahasa biasa. Tapi keakraban dengan sintaks dan tata bahasa selalu hanya permulaan, seperti keakraban dengan akord dalam musik.
- Anda telah menulis di Twitter bahwa Anda adalah "Insinyur UI". Apakah ini berarti Anda bekerja secara eksklusif dengan UI aplikasi seluler - dengan animasi, visualisasi, dll.?- Ya, sekarang saya berurusan hampir secara eksklusif dengan UI: animasi, pemutaran video, pelokalan, aksesibilitas. Di masa lalu, saya bekerja sedikit dengan kode server, tetapi tujuan utamanya adalah untuk selalu menciptakan UI yang berkualitas.
- Beri tahu kami tugas apa yang harus dipecahkan oleh pengembang seluler di Netflix.- Kami melakukan pengujian A / B, sebagai hasilnya kami membuat fitur baru, mendukung dan meningkatkan fitur yang ada, berbagi pengetahuan, dan meningkatkan pekerjaan kami (kontrol kualitas, lokalisasi, dll.). Karena kami mengontrol titik akhir kami, aplikasi kami dapat mengakses data yang tepat kapan pun diperlukan.
- Apa struktur tim Anda - misalnya, apakah pengembang iOS melakukan kontak dengan pengembang Android?- Tim kami - iOS, dan Android, dan pengembangan ponsel, dan kontrol kualitas - bekerja bersama. Kami semua duduk bersama dan kami memiliki suasana yang sangat ramah.
- Bagaimana tepatnya penguji berinteraksi dengan pengembang seluler?- Tanggung jawab atas kualitas terletak pada semua orang, sehingga tanggung jawab pengembang adalah membantu membuat rencana pengujian bersama dengan penguji. Kami mengotomatiskan semua yang mungkin (misalnya, membuat tangkapan layar) sehingga orang hanya dapat melakukan yang terbaik.
- Netflix memiliki blog teknologi di Medium. Apakah ada yang serupa secara khusus untuk pengembang seluler?- Kami memiliki Twitter
Engineers Netflix UI yang agak aktif, yang didedikasikan untuk pengembangan UI secara keseluruhan. Terkadang kami melakukan pertunjukan, rekamannya tersedia di YouTube. Ada empat
pilihan yang didedikasikan khusus untuk pengembangan aplikasi mobile.
- Mari kita bahas topik pembicaraan Anda di Mobius. Ketika datang ke aksesibilitas aplikasi, seringkali orang berpikir tentang tunanetra dan tunanetra, tetapi aksesibilitas dapat membantu tidak hanya mereka. Kasus lain apa yang perlu diingat oleh pengembang seluler?- Musim gugur yang lalu, kami dan dua pengembang lain di hackathon melakukan percobaan di mana aplikasi iOS dikendalikan tanpa tangan menggunakan AR Kit. Eksperimen ini
menarik perhatian media . Tujuannya adalah membantu orang dengan penyakit pada sistem muskuloskeletal.
- Apa yang terjadi jika Anda tidak memikirkan ketersediaan aplikasi iOS Anda - seberapa banyak hal ini menyulitkan pengguna?"Kami harus membayar upeti kepada Apple di sini: mereka menyediakan fitur dasar untuk aksesibilitas di luar kotak." Jika Anda menggunakan komponen dari UIKit standar, maka secara umum aplikasi Anda akan berfungsi. Tetapi jika Anda menggunakan komponen Anda sendiri, maka tanggung jawab ada di tangan Anda. Jika Anda menggunakan teknologi web, kemungkinan besar aplikasi Anda tidak dapat diakses. Secara default, UIView tidak memiliki label label aksesibilitas, sehingga label itu tidak akan dikenali oleh VoiceOver, teknologi aksesibilitas yang paling umum digunakan di iOS.
Masalah aksesibilitas untuk perangkat lunak Apple memiliki komunitas yang sangat dinamis, ia memiliki situs web yang
disebut AppleVis . Ada sepanjang waktu ada diskusi panas tentang aplikasi mana yang dapat diakses dengan baik dan mana yang tidak.
- Apakah masalah aksesibilitas bertentangan dengan tugas lain? Misalnya, seorang desainer ingin menggunakan font yang indah, tetapi bacaannya lebih buruk daripada yang lebih membosankan. Bagaimana cara menyelesaikan konflik ini?- Untuk orang dengan gangguan penglihatan dan buta warna, kesulitan utama muncul bukan karena font itu sendiri, tetapi karena ukuran dan kontrasnya. Ini membantu jika aplikasi Anda menggunakan
Jenis Dinamis .
Secara umum, desain yang indah dan keramahan pengguna sama sekali bukan karakteristik yang saling eksklusif. Bahkan jika aplikasi Anda tidak mendukung Jenis Dinamis, pengaturan untuk pembesaran dan pembalikan warna dapat sangat memudahkan pekerjaan dengan aplikasi tersebut.
- Saat mengembangkan aplikasi baru, masalah aksesibilitas dapat dengan mudah ditunda hingga nanti: mereka mengatakan masih terlalu dini untuk memikirkannya ketika fungsionalitas dasar belum diterapkan. Kapan waktu untuk memikirkannya? Apakah pertimbangan aksesibilitas memengaruhi keputusan untuk seluruh aplikasi, jadi Anda harus segera memikirkannya?- Secara umum, yang terbaik adalah mempertimbangkan masalah aksesibilitas akun sejak awal. Tetapi pada saat yang sama, menyediakan "program minimum" untuk aksesibilitas membutuhkan sedikit pekerjaan, jadi jika Anda memiliki tahap eksperimental awal dan tidak siap untuk itu, Anda tidak akan mendapatkan biaya tambahan dari implementasi selanjutnya. Namun, menilai dari pengalaman saya, mengatasi masalah aksesibilitas membantu untuk melihat segar masalah keramahan pengguna lain, termasuk yang tidak terduga.
- Betapapun pentingnya empati, banyak keputusan dibuat berdasarkan indikator ekonomi. Mungkin jauh lebih mudah untuk meyakinkan manajer untuk menginvestasikan sumber daya dalam memastikan ketersediaan, jika ada data, berapa banyak pengguna baru ini akan membawa. Apakah ada statistik tentang ini?- Sulit untuk menemukan statistik seperti itu. Saya lebih suka melihat pertanyaan ini secara berbeda. Aplikasi apa pun, bahkan yang terbaru, selalu memiliki pesaing di pasar yang melakukan fungsi yang sama. Untuk membuat gambar untuk aplikasi Anda, Anda perlu "menghubungkan" pengguna dengan sesuatu, kemudian mereka akan mulai memberi tahu orang lain tentang hal itu. Jika Anda membuat produk Anda nyaman bagi pengguna yang bergantung pada perangkat lunak dengan aksesibilitas, maka mereka, pada gilirannya, akan mulai memuji aplikasi Anda dengan kuat dan utama, itu akan didengar oleh orang-orang.
- Beberapa pengembang akan berkata: "Yah, Netflix memiliki terobosan dalam sumber daya, dan di sini kami berada dalam tim kecil yang penuh tugas, jadi kami tidak harus bekerja pada aksesibilitas." Apakah Anda ingin menjawab sesuatu?- Kami benar-benar memiliki lebih banyak sumber daya daripada perusahaan kecil, tetapi kami melihat pekerjaan ini juga berguna dalam hal lain. Sebagai contoh, sebagian besar masalah dengan otomatisasi uji diselesaikan dengan menyediakan aksesibilitas pasta gigi untuk elemen UI. Insinyur QA dari tim kami yang melakukan ini cukup memperhatikan hal ini untuk menambahkan label aksesibilitas, dan kemudian semuanya tumbuh darinya. Di sini Anda dapat menggambar analogi dengan pelokalan: ada godaan untuk string hardcode dalam elemen UI, tetapi ini akan secara signifikan membatasi pasar di mana Anda dapat menjual aplikasi Anda. Dengan berfokus pada masalah aksesibilitas, Anda menciptakan pengguna yang sangat berdedikasi.
- Anda telah membuat presentasi di banyak konferensi. Dan bagaimana laporan pertama Anda?- Saat itu tahun 1995, saya mempresentasikan perutean dan sistem persetujuan untuk NeXT dengan satu pengguna sistem ini di Seybold Publishing Conference di Boston. Saya sangat khawatir tentang kinerja, tetapi para dewa kinerja ada di pihak saya, dan pada akhirnya semuanya berjalan dengan baik. Saya juga mengalami kegagalan katastropik selama laporan, jadi ketika saya beralih ke demo langsung, saya selalu menyimpan video yang sudah disiapkan sebelumnya untuk berjaga-jaga, sehingga ada versi cadangan.
- Pernahkah Anda ke St. Petersburg sebelumnya dan mendengar tentang malam-malam putih? Mobius akan diadakan pada bulan Mei, ketika mereka sudah mulai.- Di Rusia, saya hanya sekali, dan di St. Petersburg - tidak sekali, dan akan sangat menarik bagi saya untuk melihat kota Anda. Dan tentang malam-malam putih, saya dapat menceritakan sebuah kisah yang terjadi pada saya bahkan sebelum kuliah, ketika saya bersama seorang teman di Swedia pada awal musim panas. Di sana kami memutuskan untuk menggunakan sinar matahari tanpa akhir untuk pesta. Itu hanya kesenangan berakhir dengan penampilan awal rumah orang tua yang sangat tidak senang menemukan perusahaan remaja mabuk di sauna. Sejak itu, saya menjadi agak lebih bertanggung jawab dalam pendekatan saya terhadap kehidupan.
Mobius akan diadakan di St. Petersburg pada 22-23 Mei . John akan berbicara di sana dengan tema "Aksesibilitas untuk iOS: Berkinerja baik dengan berbuat baik," dan di samping itu, akan ada lusinan laporan lain tentang pengembangan seluler. Anda dapat melihat program lengkapnya di situs web konferensi , membeli tiket di tempat yang sama.