الكسل، ونفاد الصبر، والغرور المفرط: بناء تجارب رائعة لمطورين رائعين
من «كيف أفعل هذا» إلى «مرحبًا بالعالم» في غمضة عين.
قبل بضعة أسابيع، كتبنا عن أهمية (والصعوبات التي تنطوي عليها) تصميم مجموعات أدوات تطوير البرمجيات (SDKs) التي يمكن لمستخدمينا النهائيين التفاعل معها بسلاسة.
لكن هناك موضوعًا نادرًا ما يُطرح في هذا السياق، ألا وهو «تجربة المطور» (DX). يبدو أن الناس ينسون أن المطورين يستمتعون بالتجارب البسيطة والجذابة بقدر ما يستمتع بها أي شخص آخر أمام الشاشة.
والفرق هو أنه إذا واجه المطور صعوبة أو حيرةً أثناء محاولته دمج حزمة أدوات التطوير (SDK) في تطبيقه، فإن حتى أكثر المكونات فاعليةً وإمتاعًا لن ترى النور أبدًا.
نحن في «مايكروبلينك» نبذل قصارى جهدنا لتجنب حدوث ذلك.
نحن ندرك أن المطورين الذين يبحثون عن حلول المسح الضوئي التي نقدمها يرغبون في البدء في استخدام إحدى حزم أدوات التطوير (SDK) الخاصة بنا دون الحاجة إلى إعادة اختراع العجلة، وأنهم يتوقعون، بمجرد دمجها، أن تعمل هذه الحزمة بسلاسة داخل تطبيقاتهم الخاصة.
إذن، كيف يمكننا أن نبدأ في خلق تجربة كهذه؟
من خلال التساهل مع كسلهم
كان لاري وول، مبتكر لغة بيرل، أول من صاغ ثلاث فضائل ساخرة تميز المطورين الجيدين: الكسل، ونفاد الصبر، والغطرسة. ووصف الكسل بأنه «صفة تدفعك إلى بذل جهد كبير لتقليل استهلاك الطاقة الإجمالي». (1)
نحن نتفق مع ذلك. فالمطورون لديهم الكثير من العمل الذي يتعين عليهم إنجازه، وإذا كان هناك حل لا يتطلب جهدًا كبيرًا ويساعدهم على إنجازه بشكل أسرع، فسوف يبتكرونه.
ولهذا السبب لا نجبرهم على قضاء ساعات في إنجاز عمل لا يستغرق سوى دقائق معدودة. نعم، قد تكون التكنولوجيا التي تعتمد عليها حزم أدوات التطوير (SDK) الخاصة بنا معقدة إلى حد ما، لكن عملية التكامل نادرًا ما تتطلب أكثر من بضعة أسطر من التعليمات البرمجية.
كما أننا نبقى على اطلاع دائم على أحدث المستجدات في محاولة لتحديد الميزة التالية الأكثر فائدة التي سيحتاجها مطورونا. وعندما نصدر إصدارًا جديدًا من حزمة أدوات التطوير (SDK) الخاصة بنا، تكون تلك الميزة عادةً موجودة بالفعل.

وهناك أمر آخر نتجنبه عند كتابة حزم أدوات التطوير (SDK) الخاصة بنا، وهو إرباك المطورين بميزات أو أساليب أو أسماء متغيرات غير مألوفة لديهم.
ينبغي أن يبدو هذا وكأنه امتداد طبيعي لتطبيقاتهم، ولهذا السبب نلتزم بقواعد التسمية وبناء الجمل التي اعتادوا عليها.
على سبيل المثال، في نظام أندرويد، تقوم طريقة `onActivityResult` بإرجاع نتائج المسح الضوئي، بينما في نظام iOS، يتم استدعاء الطريقة نفسها عبر وحدة تحكم العرض (view controller) ومندوب (delegate). وبالنسبة للمطورين الذين يعملون على قاعدة كود واحدة، قمنا بتجميع جزء كبير من حزم SDK الخاصة بنا في شكل مكونات إضافية (plugins) لأشهر أطر العمل المتعددة المنصات المتوفرة حاليًا.
كل ما نقوم به، نفعله بهدف تخفيف العبء عن المطورين قدر الإمكان. فعندما يكون لديهم كمية أقل من الكود للتعامل معها وأمور أقل ليقلقوا بشأنها، تزداد فرص نجاح حزم أدوات التطوير الخاصة بنا (SDK) في أن تجد «نهايتها السعيدة» ضمن تطبيق حقيقي.
من خلال توفير الوقت لهم
وبنفس الطريقة التي يمكن أن يكون بها الصبر نقطة ضعف، يمكن أن يكون عدم الصبر فضيلة. ولو لم يكن المطورون بطبيعتهم غير صبورين، لرأيت «كرة الشاطئ الدوارة» الشهيرة من آبل تظهر أمامك بشكل أكثر تكرارًا.

ينبهر المطورون الذين يستكشفون منتجاتنا بفكرة أن تقوم تطبيقاتهم بمسح وثائق الهوية وبطاقات الائتمان وبطاقات الصعود إلى الطائرة وأي شيء آخر في جزء من الثانية. وغالبًا ما يتوقون إلى الحصول على نسخة تعمل بسرعة، دون الحاجة إلى الحصول على ترخيص SDK على الفور.
نحن نتفهم ذلك. وللتخفيف من عدم صبرهم، نسمح لهم بنسخ وتشغيل تطبيقات نموذجية ذات صلة بحالة الاستخدام الخاصة بهم، حتى لا يضطروا إلى البحث طويلاً في وثائقنا.
وإذا كان ذلك يمثل جهدًا كبيرًا، فيمكنهم ببساطة تنزيل تطبيق Microblink Vision لنظامي iOS أو Android لمشاهدة حزم أدوات التطوير (SDK) الخاصة بنا أثناء العمل.
من خلال السماح لهم بإبداء رأيهم الأخير
وكما هو الحال مع أي حرفة أخرى، فإن تطوير التطبيقات ينطوي على قدر من الغطرسة — أو الفخر المفرط. ولا بأس بذلك. فبالنسبة للمطور، قد لا يختلف الشعور الذي ينتابه عند إطلاق تطبيق ما كثيرًا عن ذلك الذي يشعر به النحات عند افتتاح معرض لأعماله.

ولهذا السبب نمنح المطورين الكلمة الفصل في كيفية عمل حزم أدوات التطوير (SDK) الخاصة بنا أو الشكل الذي ستتخذه داخل تطبيقاتهم. فإذا ما تراجعت الكسل أمام الغطرسة واعتقدوا أنهم قادرون على تنفيذ عملية المسح بشكل أفضل منا، فلا أحد يمنعهم من ذلك.
يمكن للمطور استخدام مسار المسح المدمج لدينا كما هو، أو تخصيصه، أو إنشاء تجربة مستخدم جديدة من الصفر، بل وحتى التحكم في إدارة الكاميرا داخل التطبيق.
نسمح لهم بالانخراط في العمل الميداني والقيام بتخصيص كامل، مدركين أننا كنا سنظل عالقين في العمل باستخدام لغات برمجة وأطر عمل قديمة إلى الأبد لولا وجود مطورين مفرطين في الثقة بأنفسهم يقولون: «لا بأس، يمكنني جعل هذا يعمل أو يبدو بشكل أفضل».
تذكر: المطورون هم مستخدمون أيضًا
ورغم أن الكسل ونفاد الصبر والغطرسة قد لا تكون مفيدة عندما يكون لديك كومة من الأطباق المنقوعة في الحوض، إلا أنها يمكن أن تشكل قوة دافعة قوية للكفاءة والابتكار عند تطوير التطبيقات.
لأنها، في جوهرها، ليست سوى رغبة مقنعة في تحقيق الكفاءة. فالمطورون يريدون ببساطة إنجاز عملهم بشكل أسرع وأفضل. وهذا يعني تقليل الكود غير الضروري، وتقليل المصطلحات غير المألوفة، وتخصيص المزيد من الوقت للإبداع بدلاً من التعلم.
عند تطوير حزم أدوات التطوير (SDK) الخاصة بنا، يتعين علينا أن نضع هذه الأمور في اعتبارنا ونسعى جاهدين لتوفير تجربة مطورين بديهية لدرجة أنها تكاد تمر مرور الكرام. إنها نفس التجربة التي نسارع لتقديمها لمستخدمينا النهائيين، لكننا غالبًا ما ننسى توفيرها لمطورينا.
صُممت حلول المسح الذكية التي نقدمها مع مراعاة تجربة المطورين. جربها داخل تطبيقك مجانًا.