خط المعالجة غير قابل للنقل
المشكلة
كانت الخطة البديهية لنسخة Apple إعادة استخدام نواة أندرويد. لم تصمد: فك الترميز والتأثيرات على المعالج الرسومي والاستدلال، كل منها ملحوم بواجهة خاصة بأندرويد. ومحاولة بناء طبقة مشتركة كانت ستنتج تجريدًا بالحد الأدنى المشترك يصارع المنصتين معًا.
ما فعلته
قبلت إعادة الكتابة ونقلت الأصل المشترك مستوىً أعلى: بدل شيفرة مشتركة، صارت نسخة أندرويد ومقاطع اختبارها هي مجموعة التكافؤ. تكون نسخة Swift صحيحة حين يطابق مخرجها مخرج أندرويد على المدخلات نفسها، وهو عقد أقوى بكثير مما كانت الشيفرة المشتركة ستقدّمه.
كاشف يتأخر يُمرِّر إطارات
المشكلة
يقرّر المصنّف إطارًا بإطار، فيعمل بالضرورة عند الإطار الذي يحتوي أصلًا ما لم تُرِد رؤيته. والاكتفاء بترشيح الإطارات المُعلَّمة يعني أن المستخدم يرى الشيء، للحظة، في كل مرة.
ما فعلته
فُصل الكشف عن العرض بقائمة قرارات تحرير. يبني المرور الأول مدَيات مع تمهيد قبل كل كشف، ومع تباطؤ يمنع كاشفًا مرتجفًا من إنتاج حجب مرتجف؛ ثم يعرض المرور الثاني تلك المدَيات. الكلفة مروران على الفيديو، وهي كلفة تستحق.
فيديو بطول فيلم على هاتف
المشكلة
فصل المسارات والاستدلال على كل إطار في ملف مدته ساعتان يطول بما يكفي ليقتل النظام التطبيق، أو ينتقل المستخدم إلى غيره، أو تنفد البطارية في منتصف المهمة. والبدء من الصفر في كل مرة يجعل الميزة غير قابلة للاستخدام.
ما فعلته
تُحفَظ نقاط تفتيش للمهام لكل مقطع، وتنجو من إغلاق التطبيق أو إعادة التشغيل، فتُستأنف المعالجة من حيث توقفت لا من البداية. ويُعرض التقدّم لكل مرحلة مع تقدير مباشر، فتبدو المهمة الطويلة مهمة طويلة لا شاشة متجمدة.
الصدق بشأن ما لا يستطيعه
المشكلة
نمط الفشل في هذا النوع من التطبيقات هو المبالغة في الوعود. لا كاشف مثالي، والمستخدم الذي يظن الترشيح مطلقًا في وضع أسوأ ممن يعرف حدوده.
ما فعلته
الحدود موثّقة في الـ README ومذكورة داخل التطبيق: تُحجب الكشوفات غير المؤكدة بدل تجاوزها، وإطار محجوب زيادةً أحيانًا كلفة مقبولة، ويجب التحقق من المخرج قبل الاعتماد عليه. التحيّز مقصود ومكتوب.