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


