مرحباً مجتمع إتقان،
في الفترة الماضية، جلست مع بعض الأصدقاء المهتمّين بتطوير التطبيقات القرآنية، وتحدّثنا مطولاً حول التحديات التي تواجه المطوّرين عادةً في هذا المجال، وقد شارك الكثير منهم نقاطاً صغيرةً ومفصّلة حول تجاربهم الشخصية وبعض الحلول التي خلصوا لها، وأردت جمعها في مكانٍ واحدٍ وفتح الباب أمام النقاش لجمهورٍ أوسع، عسى أن تكون فيها فائدة أعمّ.
سأحاول جمع واختصار النقاط قدر الإمكان، وأترك لكم في التعليقات مساحة إضافة ما واجهتم من تحديات وإن عثرتم على حلولٍ لها:
أولاً: صعوبة الحصول على المحتوى القرآنيّ
وهذه من أهمّ النقاط التي تكررت وشارك الكثير من المطورين تحديات متشابهة مرتبطة بها: فعلى سبيل المثال، ليس من الصعب العثور على نسخة صوتية من القرآن الكريم، أو نسخة مكتوبة، أو نسخة مكتوبة منسّقة بتنسيق يسهّل البحث.
لكن الصعب العثور على نسخٍ مترابطة تجمع بين كلّ تلك الصفات.
يقوم الكثير من المطوّرين عند بناء تطبيقهم بإعادة اختراع العجلة في هذا السياق، وغالبا ما يحتاجون إلى بناء قواعد بيانات جديدة لتطبيقاتهم، مبنية على البيانات المتاحة من مصدرٍ أو مصدرين أو ثلاثة، وهذا أحد أكبر التحديات التي يجب التغلب عليها قبل البدء ببناء التطبيق حتى.
في إتقان توجد صفحة مخصصة لجمع الموارد التي تساعد المبرمجين في هذا السياق، ويمكن الاعتماد عليها للوصول إلى الكثير من المصادر المفيدة في مجال المحتوى القرآنيّ؛ إذ فيها مكتبات للخطوط القرآنية وواجهات API للوصول للمحتوى وغيرها الكثير.
وفي المستقبل، سيكون من الأسهل الوصول لهذا المحتوى والتعامل معه من خلال نظام إدارة المحتوى القرآني الذي سيطلق من إتقان أيضاً.
ثانياً: صعوبة الوصول للاستشارات الشرعية
الواقع في سياق التطبيقات الإسلاميّة عموماً والتطبيقات القرآنيّة على وجه الخصوص أنّ عدد المبرمجين والمطوّرين المهتمّين ببناء التطبيقات أكبر بأضعافٍ من عدد العلماء والمشايخ القادرين على تقديم الدعم والاستشارة الشرعية لهذه المشاريع، هذا دون ذكر المصاعب في التواصل الناجمة عن اختلاف اللغات، أو الحاجة لفهم بعض المصطلحات التقنية أو الشرعية، أو حتى وجود طريقة تواصل بين الجهتين.
يعجز الكثير من المبرمجين عن العثور على استشاريين شرعيين لمشاريعهم، وقد يؤدي هذا في بعض الأحيان إلى تصغير مجال العمل على المشروع، أو ربما حصول بعض الأخطاء غير المقصودة، الناجمة عن ثغرات في معرفة المطوّر الشرعية.
قد يكون مجتمع إتقان خطوةً باتّجاه حلّ هذا التحدي، ونأمل من خلال المجتمع الوصول لفئات مختلفة ومتنوعة من المهتمّين ببناء التطبيقات القرآنيّة، ليكونوا قادرين على بناء تواصل فعّال يستفيدون فيه من خبرات بعضهم.
مشكلة موازية نابعة أيضاً من اختلاف نسب المساهمين في هذا النوع من المشاريع:
أيضاً أعداد المصممين الراغبين بالمساهمة في مشروع مفتوح المصدر، خصوصاً مصممي الواجهات، قليلة جدًا، وهذا ما ينعكس مباشرةً على تصاميم الواجهات لهذه التطبيقات وصعوبة استخدامها. ما يجعل الكثير منها يعتمد أنماطاً تصميمية قد لا تكون لطيفة للمستخدم ولا تساعده على الحصول على أكبر نفعٍ من التطبيق.
بالطبع، أصبح هناك مكتباتٌ ولغاتٌ تصميميةٌ معتمدة تسهّل على المطوّرين الوصول إلى تصميم واجهة سهلة الاستخدام، لكن وجود مصممٍ في فريق العمل يحلّ الكثير من المشاكل التي قد لا يكون المطوّر قادراً على حلّها بنفسه.
ثالثاً: ضخامة المشاريع ومصاعب الإدارة
على عكس ما يظهر من الخارج أغلب المشاريع القرآنيّة ولو كانت النظرة العامّة حولها بسيطة، تتطلب عملياً تقنياً هائلاً في الخلفية، وهذا يعني احتياج المطوّر لا لخبرات البرمجة والتطوير فحسب، بل إلى خبرات إداريّة وهندسيّة لتنظيم هذا المشروع وتسهيل العمل عليه.
ذكرت في ردٍّ على أحد المواضيع أنّ من أكبر التحديات التي يواجهها مبرمجٌ يرغب ببناء تطبيق قرآنيّ مفتوح المصدر هو أنّه قد لا يكون قادراً على إدارة هذا المشروع وتنظيم المساهمات الواردة إليه، وهذا تحدٍ يمكن التغلّب عليه من خلال بناء خبرةٍ واطلاعٍ عبر المساهمة والمشاركة في مشاريع أخرى مفتوحة المصدر، وهنا نصيحتي مشابهة.
لا ضير في بداية مشروع جديدٍ والاستفادة منه في تعلّم أساليب الإدارة والتخطيط البرمجية، ولكن يجب على المطوّر أن ينوي هذا ويستفيد من التجارب الأخرى في نفس السياق. ولا ضير من الاستفادة من تجارب مشاريع أخرى قبل بداية المشروع الشخصيّ أيضاً.
رابعاً: المتابعة والصيانة
بجولة سريعة على التطبيقات القرآنيّة الموجودة في السوق، سترى أنّ جزءاً لا بأس به منها متوقف تطويره منذ زمن طويل - لا يعني هذا أنّ التطبيق نفسه لا يعمل، لكن في كثيرٍ من الأحيان قد تستفيد هذه التطبيقات من صيانة دورية أو تحديثات مستمرّة تضمن سلاسة عملها وتوافقها مع تجربة المستخدم الحديثة.
يساهم فتح المصدر للتطبيق في التغلّب على هذا التحدي جزئياً، فهو يتيح الفرصة لأشخاص غير صاحب المشروع للمساهمة والمشاركة في البناء، لكن هذا يحتاج أيضاً لجذب المساهمين وتحفيزهم على المشاركة، وتنظيم المشروع بشكل يسهّل عليهم الإضافة إليه.
خامساً: التكاليف
وهي من التحديات التي يواجهها الكثير من المطورين المستقلين المبتدئين الراغبين بإطلاق مشروعهم الشخصيّ، حيث قد توقفهم تكاليف استضافة قواعد البيانات لو كان التطبيق يحتاج اتصالاً بالانترنت، أو قد تمنعهم التكاليف المرتبطة بفتح وإنشاء حساباتٍ في متاجر التطبيقات من المتابعة في نشر تطبيقاتهم عليها، مما يحرمهم من وصول هذه المتاجر إلى جمهورٍ أوسع.
هناك أيضاً تكاليف مرتبطة بمنصّات معيّنة دون غيرها، فتطوير تطبيق على أجهزة Apple على سبيل المثال، لا يمكن إتمامه دون امتلاك جهازٍ خاصٍ من Apple إضافة لحساب المطور المدفوع، وهو ما لا يمكن للمطوّر المبتدئ تكلّفه دائماً.
يمكن حلّ هذه المشاكل من خلال استخدام واجهات API مفتوحة ومجانيّة ومتاحة للاستخدام العام تسهّل الوصول للمحتوى القرآنيّ وقد تغني عن استضافة قاعدة بيانات أو محتوى استضافة ذاتيّة، لكن من المحتمل جداً ان يضطرّ المطوّر في مرحلة ما إلى استضافة بعض البيانات ذاتياً، وعليه أن يكون قادراً على تغطية هذه الفواتير على مدى حياة التطبيق.
هل لديك حلولاً مقترحة للتحديات أعلاه يمكن أن تسهّل على مطوّري التطبيقات القرآنيّة بناء تطبيقاتهم بسهولة أكبر؟ هل واجهتك أي تحديات مختلفة؟ شاركنا تجربتك في الردود