
من المعروف أن إمكانية الوصول مهمة ، لكن ليس كل شخص يولي اهتمامًا كافيًا لتوفر تطبيقه.
من المعروف أيضًا أن ظهور شركة NeXT وشرائها اللاحق من قِبل Apple يعد حلقة مهمة في حياة ستيف جوبز ، لكن قلة منهم لديهم برامج مكتوبة شخصيًا لأجهزة كمبيوتر NeXT.
يأتي مطور Netflix iOS ،
John Fox ، إلى مؤتمر Mobius الخاص بنا مع تقرير عن إمكانية الوصول ، وتوقعًا لذلك ، قررنا أن نطرح عليه أسئلة: لقد بدأنا مسيرته المهنية الطويلة ، والتي تضمنت NeXT ، ثم انتقلنا إلى موضوع إمكانية الوصول. تم
نشر النص الأصلي للمقابلة
باللغة الإنجليزية على "متوسط" ، وترجم إلى "هبر" إلى اللغة الروسية.
- مرحبا ، جون. من المثير للاهتمام التحدث مع شخص كان يكتب تطبيقات الهاتف المحمول منذ عام 2010 ، وبدأ العمل في مجال تكنولوجيا المعلومات حتى قبل عقود. أخبرنا كيف بدأت فعل ذلك.- عندما كنت طالبًا في جامعة نيويورك ، أقنع النادي الذي كنت فيه الإدارة بتخصيص موارد لشراء جهاز Mac وطابعة ليزر وتطبيق تخطيط صفحة QuarkXPress. كل هذا جاء أرخص من تكلفة مجموعة مطبعية من عدد واحد من المجلة الأكاديمية التي نشرناها ، وتم بالفعل تخصيص الأموال لهذه المجموعة. بعد التخرج ، حصلت على وظيفة في شركة مقرها نيويورك شاركت في الترجمات والتدريب اللغوي. من بين عملائنا شركات مالية ومكاتب محاماة احتاجت إلى ترجمات في وقت قصير للغاية - أقصر مما يمكن أن يفعله أي مترجم مباشر.
في ولاية نيو جيرسي ، في ذلك الوقت ، كانت هناك شركة توفر الوقت على حاسب مركزي يقوم بالترجمة الآلية. في البداية ، في الولايات المتحدة الأمريكية ، كانت IBM تعمل في الترجمة الآلية ، وكانت هذه أوامر دفاع خلال الحرب الباردة ، ثم حرمت النتيجة من الصور. اقتبس الكتاب المقدس "الروح مستعدة ، لكن الجسد ضعيف" ("الروح قوية ، الجسد ضعيف") ، الخوارزمية تترجم بصراحة بروح "الفودكا جيدة ، لكن اللحم سيء". على الرغم من هذا المستوى البدائي ، يمكن تدريب الخوارزمية. لقد أعطى النص الأساسي للنص ، والذي قام المترجم بتحريره بعد ذلك. كانت عملية إنشاء هذا النظام مهمة غير مجدية: لقد أرسلنا المستندات عبر الاتصال المباشر من جهاز معالجة النصوص الخاص بنا إلى Mac الخاص بنا ، ثم أرسلناها إلى الحاسوب المركزي عدة مرات وقمنا بتحرير النتيجة ، وأخيراً أعادنا المستند النهائي المنسق تمامًا إلى العملاء.
أستطيع أن أتخيل كيف توالت عيون الجميع عند وصف هذه التكنولوجيا antediluvian. يختنق ابني المراهق بالضحك عندما أخبره كيف تبدو الألعاب عندما كان عمري. ولكن هذا أمر طبيعي: ما هو اليوم التكنولوجيا الأكثر تقدما هو جمع الغبار في المتحف غدا. مع مرور الوقت ، تبقى فقط القدرة على جمع حلول جديدة.
- كيف بدأت العمل مع تطبيقات الهاتف المحمول؟- بعد فترة وجيزة من انتقالي من نيويورك إلى سان فرانسيسكو ، خرج أول جهاز كمبيوتر NeXT. وكان قبل وقته قبل عقد من الزمان على الأقل. من الضروري هنا أن نقول عن بحث Xerox PARC ، الذي حقق الكثير من الفاكهة القيمة للغاية - على سبيل المثال ، أول GUIs التي أصبحت شائعة بفضل Mac. استخدمت NeXT نتيجتين أخريين من هذه الدراسات: الشبكات والبرمجة الموجهة للكائنات. تحتفل CERN الآن بالذكرى الثلاثين لشبكة الويب العالمية - لقد تحقق هذا الإنجاز بفضل حقيقة أن الوصول إلى البرامج كان مفتوحًا للأشخاص الذين ليس لديهم شهادة في علوم الكمبيوتر. إذا لم يكن هناك برنامج NeXT ، لما كنت سأبدأ كتابة البرنامج. في البداية ، تعلمت كيفية تصميم التطبيقات والنماذج الأولية باستخدام Interface Builder ، ثم بدأت في كتابة تطبيقات الويب باستخدام WebObjects (أداة NeXT أخرى). بحلول الوقت الذي حصلت فيه Apple على NeXT ، كان لدي بالفعل فهم جيد للتقنيات والأنماط التي لا تزال تستخدمها Cocoa and Cocoa Touch.
- قبل نظام التشغيل iOS ، قمت بتطوير نظام التشغيل Mac OS ، ثم أصبح أقل شيوعًا الآن. ماذا كانت انطباعاتك؟- الكاكاو (مجموعة من واجهات برمجة التطبيقات الموروثة من NeXTSTEP) ثم أعطت للمطورين أكثر بكثير من Windows API. بفضل Cocoa ، يمكن للمبرمج إنشاء برامج جميلة ومعقدة وحدها. بحلول الوقت الذي وصل فيه نظام التشغيل OS X ، كان هناك عدد كبير من مطوري البرامج المستقلة ، وكان الكثير منهم قد طوروا من قبل برنامج NeXT - على سبيل المثال ، Will Shipley ، منشئ مكتبة Delicious. فضلوا أن يكونوا الأول في القرية ، بدلاً من الثاني في المدينة ، ونتيجة لذلك ، تحولت قريتهم إلى مدينة. لقد اتبعت نفس المسار - تلقى تطبيق MemoryMiner تقييماً ممتازاً وباع بشكل جيد وسمحت لي بعمل عدة منتجات أخرى بناءً عليه ، كما منحتني العمل كمستشار.
- أنت تعمل في Netflix منذ عام 2015. ما هي مسؤولياتك في هذه الشركة؟- عندما جئت إلى Netflix ، كان تطبيقهم مختلطًا (واجهة المستخدم في HTML / JavaScript / CSS ، لاعب في التعليمات البرمجية المترجمة) ، وقاموا بنسخه بالكامل إلى Cocoa Touch. بعد إعادة كتابته ، استنادًا إلى اختبار A / B ، أجرينا العديد من التحسينات ، والتي كانت أسهل بكثير في تطبيق الكاكاو الحديث.
- على LinkedIn ، تم تعيين منصبك على أنه "مهندس يركز على المنتجات" ، وهي عبارة غير مألوفة إلى حد ما. ماذا يعني ذلك ، وما الفرق من مهندس البرمجيات؟- بالطبع ، بالنسبة للتطبيق الجيد ، من المهم أن يكون الكود الخاص به مختصراً ، ويسهل صيانته ، وأنه يجمع دون أخطاء. ولكن بالإضافة إلى هذه المعايير ، هناك العديد من الميزات الأخرى التي لا تقل أهمية: قابلية الاستخدام ، والمظهر الجميل ، ووضوح التطبيق عند الإطلاق لأول مرة (خاصة بالنسبة للتطبيقات المخصصة). إذا كنت ترغب في إنشاء منتج متكامل ، فإن هذه الجوانب مهمة مثل تصميم التطبيق المناسب (الفصول جيدة التخطيط ، واختبار الوحدة ، وما إلى ذلك)
في ذلك الوقت ، قضيت الكثير من الأعصاب في محاولة لشرح الزميل العنيد "الملتحي" (الذي كان يعمل على UNIX في سطر الأوامر مع Emacs طوال حياته) لماذا تعتبر الواجهات الرسومية الأنيقة مهمة. بسبب هذه النزاعات ، بدأت في تطوير البرامج ، وكان اكتشافًا لطيفًا بالنسبة لي أن تعلم لغة برمجة لا يختلف كثيرًا عن تعلم لغة عادية. لكن الألفة مع بناء الجملة والقواعد هي مجرد البداية ، مثل الألفة مع الحبال في الموسيقى.
- لقد كتبت على تويتر أنك "مهندس واجهة المستخدم". هل هذا يعني أنك تعمل حصريًا مع واجهة المستخدم الخاصة بتطبيقات الأجهزة المحمولة - مع الرسوم المتحركة والتصور وما إلى ذلك؟- نعم ، الآن أتعامل مع واجهة المستخدم بشكل حصري تقريبًا: الرسوم المتحركة وتشغيل الفيديو والتوطين وإمكانية الوصول. في الماضي ، كنت أعمل قليلاً مع رمز الخادم ، ولكن الهدف النهائي كان دائمًا إنشاء واجهة مستخدم عالية الجودة.
- أخبرنا بالمهام اليومية التي يتعين على مطور برامج الجوّال في Netflix حلها.- نجري اختبار A / B ، ونتيجة لذلك نقوم بإنشاء ميزات جديدة ، ودعم وتحسين الميزات الحالية ، وتبادل المعرفة ، وتحسين عملنا (مراقبة الجودة ، الترجمة ، إلخ). نظرًا لأننا نتحكم في نقاط النهاية لدينا ، فإن تطبيقنا يمكنه الوصول إلى البيانات الصحيحة بالضبط عند الضرورة.
- ما هي بنية فريقك - على سبيل المثال ، هل مطورو iOS على اتصال بمطوري Android؟- تعمل فرقنا - كل من iOS و Android ، وتطوير المحمول ، ومراقبة الجودة - معًا. كلنا نجلس معًا ولدينا أجواء ودية للغاية.
- كيف يتفاعل المختبرون بالضبط مع مطوري الأجهزة المحمولة؟- تقع مسؤولية الجودة على عاتق الجميع ، وبالتالي فإن مسؤولية المطور هي المساعدة في إنشاء خطط اختبار بالاشتراك مع المختبرين. نحن نقوم بأتمتة كل ما هو ممكن (على سبيل المثال ، إنشاء لقطات شاشة) بحيث لا يتمكن الأشخاص من فعل ما يفعلونه إلا بشكل أفضل.
- لدى Netflix مدونة تقنية على متوسط. هل هناك شيء مماثل على وجه التحديد لمطوري الأجهزة المحمولة؟- لدينا
مهندسون مستقلون على Twitter
Netflix UI ، مكرسون لتطوير واجهة المستخدم ككل. في بعض الأحيان نقوم بأداء العروض ، والتي تتوفر تسجيلات على موقع YouTube. هناك مجموعة
مختارة من أربعة مخصصة على وجه التحديد لتطوير تطبيقات الهاتف المحمول.
- دعنا نناقش موضوع حديثك في Mobius. عندما يتعلق الأمر بإمكانية الوصول إلى التطبيقات ، فغالبًا ما يفكر الناس في المكفوفين وضعاف البصر ، لكن إمكانية الوصول لا تساعدهم فقط. ما هي الحالات الأخرى التي يحتاجها مطورو الهواتف المحمولة لأخذها في الاعتبار؟- في الخريف الماضي ، قمنا مع اثنين من المطورين الآخرين في hackathon بإجراء تجربة تم فيها التحكم في تطبيق iOS دون استخدام أيدي AR Kit.
جذبت هذه التجربة
انتباه وسائل الإعلام . كان هدفه مساعدة الأشخاص الذين يعانون من أمراض الجهاز العضلي الهيكلي.
- ماذا يحدث إذا كنت لا تفكر في توفر تطبيق iOS الخاص بك - إلى أي مدى يصعب هذا الأمر على المستخدمين؟"علينا أن نشيد بـ Apple هنا: فهي توفر ميزات أساسية لسهولة الوصول إليها من الصندوق". إذا كنت تستخدم مكونات من UIKit القياسية ، فسيعمل التطبيق بشكل عام. ولكن إذا كنت تستخدم مكوناتك الخاصة ، فإن المسؤولية تقع عليك. إذا كنت تستخدم تقنيات الويب ، فمن المحتمل أن يكون تطبيقك غير قابل للوصول. بشكل افتراضي ، لا تحتوي UIView على علامة accessibilityLabel ، لذلك لن يتم التعرف عليها بواسطة VoiceOver ، وهي تقنية الوصول الأكثر شيوعًا في نظام التشغيل iOS.
تشتمل مشكلات إمكانية الوصول الخاصة
ببرنامج Apple على مجتمع نشط للغاية ، ويحتوي على موقع ويب
يسمى AppleVis . هناك طوال الوقت مناقشات ساخنة حول التطبيقات التي يمكن الوصول إليها بشكل جيد والتي لا.
- هل تتعارض مشكلات إمكانية الوصول مع المهام الأخرى؟ على سبيل المثال ، يريد المصمم استخدام خط جميل ، لكنه يقرأ أسوأ من الخط الممل أكثر. كيفية حل هذه الصراعات؟- بالنسبة للأشخاص الذين يعانون من ضعف البصر والعمى اللوني ، تنشأ الصعوبات الرئيسية ليس بسبب الخط نفسه ، ولكن بسبب حجمه وتباينه. يساعد إذا كان تطبيقك يستخدم
Dynamic Type .
بشكل عام ، التصميم الجميل والود ليسا من الخصائص المميزة لكل منهما. حتى إذا كان التطبيق الخاص بك لا يدعم Dynamic Type ، فإن إعدادات التكبير وانعكاس اللون يمكن أن تسهل إلى حد كبير العمل مع التطبيق.
- عند تطوير تطبيق جديد ، يمكن بسهولة تأجيل مشكلات إمكانية الوصول إلى وقت لاحق: يقولون إنه من السابق لأوانه التفكير فيه عندما لا يتم تنفيذ الوظيفة الأساسية بعد. متى يحين الوقت للتفكير فيه؟ هل تؤثر اعتبارات إمكانية الوصول على قرارات التطبيق بأكمله ، لذلك عليك التفكير فيها على الفور؟- بشكل عام ، من الأفضل مراعاة مشكلات إمكانية الوصول من البداية. ولكن في الوقت نفسه ، يتطلب توفير "الحد الأدنى من البرنامج" لإمكانية الوصول القليل من العمل ، لذلك إذا كان لديك مرحلة تجريبية مبكرة ولم تصل إلى ذلك ، فلن تحصل على أي تكاليف إضافية من تطبيق لاحق. ومع ذلك ، استنادًا إلى تجربتي ، فإن معالجة مشكلات إمكانية الوصول يساعد في إلقاء نظرة جديدة على مشكلات سهولة المستخدم الأخرى ، بما في ذلك المشكلات غير المتوقعة.
- بغض النظر عن مدى أهمية التعاطف ، يتم اتخاذ العديد من القرارات على أساس المؤشرات الاقتصادية. قد يكون من الأسهل بكثير إقناع المدير باستثمار الموارد في ضمان توفرها ، إذا كانت هناك بيانات ، كم عدد المستخدمين الجدد الذين سيجلبون هذا. هل هناك أي إحصاءات حول هذا؟- من الصعب العثور على هذه الإحصاءات. أنا أفضل أن ننظر إلى هذا السؤال بشكل مختلف. أي تطبيق ، حتى الأحدث ، لديه دائمًا منافسين في السوق يؤدون نفس الوظائف. لإنشاء صورة للتطبيق الخاص بك ، تحتاج إلى "ربط" المستخدمين بشيء ما ، ثم يبدأون في إخبار الجميع عن ذلك. إذا قمت بجعل منتجك مناسبًا للمستخدمين الذين يعتمدون على برنامج يمكن الوصول إليه ، فسيبدأون بدورهم في مدح التطبيق الخاص بك باستخدام القوة والرئيسية ، وسوف يسمع ذلك من قبل الناس.
- سيقول بعض المطورين: "حسنًا ، لدى Netflix طفرة في الموارد ، وهنا نحن في فريق صغير مليء بالمهام ، لذلك لا يتعين علينا العمل على إمكانية الوصول." هل تريد الاجابة على شيء ما؟- لدينا بالفعل موارد أكثر من شركة صغيرة ، لكننا ننظر إلى هذا العمل أيضًا على أنه مفيد من نواح أخرى. على سبيل المثال ، يتم حل جزء كبير من المشكلات المتعلقة بأتمتة الاختبار من خلال توفير إمكانية الوصول لعناصر واجهة المستخدم. قام مهندس ضمان الجودة من فريقنا الذي قام بهذا بإيلاء اهتمام كافٍ لهذا لإضافة إمكانية الوصول ، ثم نشأ كل شيء. هنا يمكنك رسم تشبيه بالتعريب: هناك إغراء بسلسلة أحرف القرص الثابت في عناصر واجهة المستخدم ، لكن هذا سيحد بشكل كبير من السوق الذي يمكنك فيه بيع تطبيقك. من خلال التركيز على مشكلات إمكانية الوصول ، يمكنك إنشاء مستخدمين مخصصين للغاية.
- لقد قدمت عروضا في العديد من المؤتمرات. وكيف كان أول تقرير لك؟- في عام 1995 ، قدمت نظام التوجيه والموافقة الخاص بي لـ NeXT مع مستخدم واحد لهذا النظام في مؤتمر النشر Seybold في بوسطن. كنت قلقة للغاية بشأن الأداء ، لكن آلهة الأداء كانت في جانبي ، وفي النهاية سارت الأمور على ما يرام. لقد عانيت أيضًا من إخفاقات كارثية أثناء التقرير ، لذلك عندما أتحول إلى عرض توضيحي مباشر ، احتفظ دائمًا بمقطع فيديو مُعد مسبقًا في الحالة ، بحيث يكون هناك نسخة احتياطية.
- هل زرت سانت بطرسبرغ من قبل وسمعت عن الليالي البيضاء؟ سيعقد Mobius في مايو ، عندما تبدأ بالفعل.- في روسيا ، كنت مرة واحدة فقط ، وفي سانت بطرسبرغ - لمرة واحدة ، وسيكون من المثير جدًا بالنسبة لي أن أنظر إلى مدينتك. أما بالنسبة لليالي البيضاء ، فيمكنني سرد قصة حدثت لي حتى قبل الكلية ، عندما كنت مع صديق في السويد في أوائل الصيف. هناك قررنا استخدام ضوء النهار الذي لا نهاية له للحزب. لقد انتهى الأمر فقط مع الظهور المبكر لمنزل أحد الوالدين الذي لم يكن سعيدًا جدًا للعثور على مجموعة من المراهقين المخمورين في الساونا. منذ ذلك الحين ، أصبحت أكثر مسؤولية إلى حد ما في مقاربتي للحياة.
سيعقد موبيوس في سان بطرسبرغ يومي 22 و 23 مايو . سيتحدث جون هناك مع موضوع "إمكانية الوصول إلى نظام التشغيل iOS: حسن الأداء من خلال القيام بعمل جيد" ، وإلى جانب ذلك ، سيكون هناك عشرات من التقارير الأخرى حول تطوير الأجهزة المحمولة. تستطيع أن ترى البرنامج الكامل على موقع المؤتمر ، وشراء التذاكر في نفس المكان.