لماذا يبني شخص واحد تطبيقات Apple أصلية
يستطيع استوديو من شخص واحد أن يصنع تطبيقات Apple أصلية للعيادات والمدربين والأعمال الصغيرة، إذا أبقى القواعد المشتركة قليلة وترك لكل تطبيق شخصيته الخاصة.
في ملف التنسيق الخاص بالصفحة الرئيسية لـ ZaatarLABS تعليق أحبه أكثر من معظم الشيفرة المحيطة به:
/* wraps because eight icons no longer fit one row on a phone */
.loader-stage { display:flex; gap: 18px; flex-wrap: wrap; justify-content: center;
max-width: min(600px, 88vw); }
عند تحميل الموقع، تنزل أيقونات التطبيقات في صف واحد تلو الأخرى بينما يمتلئ شريط التقدم. لفترة من الوقت كان هذا الصف يتسع على شاشة الهاتف. ثم لم يعد يتسع. لم يبلّغ أحد عن خلل. لاحظت ذلك بنفسي، لأنني الشخص الوحيد الذي ينظر.
كان الإصلاح سطرًا واحدًا، flex-wrap: wrap. والتعليق موجود للمرة القادمة التي أتساءل فيها لماذا تظهر الأيقونات على سطرين. وهو أيضًا أصدق تلخيص لدي لحقيقة هذا الاستوديو: شخص واحد، ورفّ تطبيقات كبر حتى لم يعد صف واحد يتسع له، وصاحبه يعود باستمرار لإصلاح الأشياء الصغيرة.
هذا المقال عن كيف ينجح ذلك، وأين لا ينجح.
ما هو هذا الرف
تقولها الصفحة الرئيسية بوضوح: تطبيقات Apple ذكية للعيادات والمدربين والأعمال. إنها تطبيقات أصلية لمنصات Apple، أبنيها بنفسي. لا أنقلها من منصة أخرى، ولا أغلّف عرض ويب داخل أيقونة.
لن أعدّد التطبيقات وميزاتها هنا، فلكل منها صفحة لذلك. ما أريد شرحه هو المنطق وراء بنائها بهذه الطريقة، لأن مطوّرًا واحدًا يصنع تطبيقات كثيرة يبدو وصفة لتطبيقات كثيرة غير مكتملة. وأحيانًا يكاد يكون كذلك.
لماذا الأصلي، وأنا شخص واحد فقط
النصيحة المعتادة للمطوّر المستقل هي أن يختار تقنية واحدة متعددة المنصات، فيكتب الشيفرة مرة واحدة وينشرها في كل مكان. هذا يوفّر الوقت، وأفهم لماذا يفعله الناس.
أما أنا فسلكت الطريق المعاكس، والسبب محدد. الأشخاص الذين صُنعت لهم هذه التطبيقات، كالعيادة أو المدرب أو العمل الصغير، يعيشون أصلًا داخل أدوات Apple. حين يتصرف التطبيق مثل بقية النظام، يكون ما يتعلمونه أقل، وما قد يخطئون فيه أقل. وحين لا يفعل، يلاحظون ذلك، حتى لو لم يستطيعوا أن يقولوا لك ما الخطأ.
للأمر كلفة حقيقية. كل ما أبنيه مرتبط بمنصات Apple. وحين تغيّر Apple شيئًا، أتحمّل ذلك في كل تطبيق على الرف، واحدًا تلو الآخر. لا يوجد فريق أتقاسم معه هذا العمل.
وللأمر فائدة حقيقية أيضًا، وهي تتراكم. ما أتعلمه أثناء بناء تطبيق ينتقل مباشرة إلى التطبيق التالي، لأنها كلها مبنية بالأدوات نفسها. والإصلاح الذي أتوصل إليه لتطبيق ما يمكن غالبًا نقله إلى التطبيقات الأخرى. هذا هو السبب الوحيد الذي يجعل شخصًا واحدًا قادرًا على إبقاء أكثر من تطبيق أو تطبيقين على قيد الحياة.
أين يعمل الذكاء الاصطناعي
بعض هذا العمل يستخدم Apple Intelligence. وأريد أن أكون دقيقًا بشأن مكان تشغيله، لأن الخطأ فيه سهل في النصوص التسويقية. تطبيقاتنا تشغّل الذكاء الاصطناعي على Private Cloud Compute من Apple. لا تشغّله على الجهاز، ولن أدّعي أنها تفعل.
هذا خيار مقصود. استخدام بنية Apple نفسها يعني أنني لا أرسل بياناتك إلى مزوّد ذكاء اصطناعي خارجي اخترته أنا. والثمن أنني أعتمد على ما تقدمه Apple ومتى تقدمه. فإن لم تتوفر قدرة ما، لا أستطيع الالتفاف على ذلك بنموذج من جهة أخرى وأبقى وفيًّا لهذا الوعد في الوقت نفسه.
استوديو واحد، ولوحات ألوان كثيرة
إليك قرارًا أصغر علّمني شيئًا.
لكل تطبيق ألوانه الخاصة. فلـ The Smart Budget مثلًا لوحة ألوان برونزية. أما الاستوديو نفسه، أي الشعار والموقع وكل ما يحمل اسم ZaatarLABS لا اسم تطبيق، فلونه أخضر.
اكتشفت مدى سهولة اختلاط الاثنين. حين صمّمت لافتة للاستوديو، خرجت برونزية، لأنها كانت لوحة الألوان المفتوحة مؤخرًا. بدت جيدة، لكنها كانت خاطئة. تلك اللافتة كانت للاستوديو، والاستوديو أخضر.
إنه خطأ صغير، لكنه نموذجي لطريقة الإخفاق في مشروع يديره شخص واحد. العمل لا يفسد بطرق كبيرة، بل ينحرف تدريجيًا، لأن ما لمسته أخيرًا يتسرب إلى ما تلمسه بعده. وكان الحل أن أكتب القاعدة: ألوان كل تطبيق تبقى مع تطبيقها، وكل ما يخص الشركة أخضر. لا أثق بأنني سأتذكرها في يوم مزدحم.
وحدث الأمر نفسه مع الأيقونات. ملف شعار موجود في مجلد التسويق لم يكن أيقونة التطبيق الحقيقية. الآن، حين يحتاج الاستوديو إلى أيقونة تطبيق، تأتي من مشروع التطبيق نفسه. مجلد التسويق ليس مصدرًا موثوقًا.
ما أقوله لمطوّر مستقل آخر
لا أظن أن بناء تطبيقات كثيرة وحدك استراتيجية ينبغي لأحد أن ينسخها كما هي. ما أودّ نقله أضيق من ذلك.
اختر القيد الذي يناسب مستخدميك، لا القيد الذي يوفّر عليك أكبر قدر من الوقت هذا الشهر. بالنسبة لي كان ذلك تطبيقات Apple الأصلية، لأن الأشخاص الذين أبني لهم موجودون هناك أصلًا.
اكتب القواعد الصغيرة: أي لون لمن، وأين توجد الأيقونة الحقيقية، ولماذا ينكسر الصف إلى سطرين. حين تكون المطوّر الوحيد، تكون القاعدة المكتوبة أقرب ما لديك إلى زميل.
كن دقيقًا بشأن ما يفعله برنامجك وما لا يفعله، خاصة مع الذكاء الاصطناعي. «يعمل على Private Cloud Compute» و«يعمل على جهازك» ليسا الادعاء نفسه، ومستخدموك يستحقون الادعاء الصحيح.
وانظر إلى عملك على الهاتف بين حين وآخر. لن يخبرك أحد غيرك أن الأيقونات لم تعد تتسع.