قبل أن تبني تطبيق ويب: دليل عملي للشركات
من تحديد المهمة والمستخدمين إلى التسليم والصيانة: القرارات التي تحدد نجاح تطبيق الويب أو النظام الداخلي قبل كتابة أول سطر برمجة.

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

