وضع الجيب
علّق من هاتف أو جهاز لوحي. تُوجَّه أجهزة اللمس تلقائياً إلى رزمة بطاقات قابلة للسحب بأزرار في متناول الإبهام، مع تعليق دون اتصال ومزامنة تلقائية، وتثبيت على الشاشة الرئيسية كتطبيق PWA.
جديد في الإصدار v2.7.0
يدعم Potato التعليق التوضيحي من الهواتف والأجهزة اللوحية. فعّل وضع الجيب (Pocket Mode) وستُوجَّه أجهزة اللمس التي تفتح مهمتك تلقائياً إلى واجهة محمولة: رزمة بطاقات بأزرار تصنيف في متناول الإبهام، وتنقّل بالسحب، وتعليق دون اتصال مع مزامنة تلقائية، وتثبيت على الشاشة الرئيسية كتطبيق PWA. أما مستخدمو سطح المكتب فيرون الواجهة المعتادة ولا يتغيّر لديهم شيء.

ليس كل نوع تعليق توضيحي يصلح للهاتف. فتظليل المقاطع ومربعات الإحاطة مهام سطح مكتب. وPotato صريح في ذلك: المهام المتوافقة مع اللمس تحصل على الواجهة المحمولة، وغير المتوافقة تحصل على تحذير واضح بدل واجهة منقوصة، ولوحة تحكم المشرف تبيّن في الحالتين من يعلّق من أي صنف من الأجهزة.
التهيئة
pocket:
enabled: true # master switch for the mobile interface (default: false)
auto_redirect: true # send phones/tablets to /pocket automatically (default: true)
batch_size: 25 # items fetched per batch; also the offline queue depth (1-200)أي أنواع التعليق التوضيحي تناسب الأجهزة المحمولة
| متوافقة مع اللمس (تُقدَّم على المحمول) | لسطح المكتب فقط |
|---|---|
radio، multiselect، likert، slider، number، text/textbox، pure_display | span، والصور ومربعات الإحاطة، والفيديو، والصوت، وmultirate، وكل ما عداها |
لا تكون المهمة متوافقة مع اللمس إلا إذا كانت جميع مخططاتها في العمود الأيمن. والمهمة التي تخلط ولو مخططاً واحداً مخصصاً لسطح المكتب لا تُنقَص لأجل اللمس: فالهواتف لا تُوجَّه، ويظهر لها إشعار قابل للإغلاق بأن المهمة غير مهيّأة للأجهزة المحمولة.
إن كنت تتوقع معلّقين على الهاتف، فصمّم لذلك. المهمة ذات مخطط radio واحد هي الحالة المثلى، إذ تعادل نقرة واحدة عنصراً مصنَّفاً واحداً.
كيف يعمل توجيه الأجهزة
| الجهاز | مهمة متوافقة مع اللمس ووضع الجيب مفعّل | مهمة غير متوافقة مع اللمس |
|---|---|---|
| سطح المكتب | الواجهة المعتادة | الواجهة المعتادة |
| هاتف / جهاز لوحي | توجيه إلى الواجهة المحمولة | الواجهة المعتادة + تحذير قابل للإغلاق |
يجري الكشف على طبقتين.
- من جانب الخادم (User-Agent). تعرّف الهواتف ومعظم الأجهزة اللوحية عن نفسها، فتُوجَّه قبل أن تُعرض صفحة سطح المكتب أصلاً. وتُحتسب عملاء API والوكلاء غير المعروفين ضمن سطح المكتب، فلا تُوجَّه السكربتات والتكاملات أبداً.
- من جانب العميل (فحص المؤشر). بعض الأجهزة اللوحية تتنكّر في هيئة حواسيب مكتبية. فمتصفح Safari على iPadOS، مثلاً، يعرّف عن نفسه كجهاز Mac. ويفحص سكربت في صفحة التعليق التوضيحي ما إذا كان مؤشر الجهاز الأساسي خشناً (إصبع) فيوجّه تلك الأجهزة أيضاً. ولا تتأثر الحواسيب المحمولة ذات الشاشات اللمسية، لأن مؤشرها الأساسي هو لوحة اللمس.
ينطبق التوجيه على المعلّقين في مرحلة التعليق التوضيحي وحدها. أما صفحات الموافقة والتعليمات والاستبيان فتبقى كما هي.
ويمكن لمستخدمي سطح المكتب الاشتراك اختيارياً: ففي المهام المتوافقة مع وضع الجيب يعرض شريط التنقل رابط عرض مضغوط إلى /pocket، حيث تتحول رزمة البطاقات إلى عرض تصنيف سريع بنقرة واحدة لكل عنصر. ويمكن لمستخدمي المحمول الانسحاب عبر رابط موقع سطح المكتب، ويظل الاختيار سارياً طوال الجلسة.
الواجهة المحمولة
- رزمة البطاقات — عنصر واحد لكل بطاقة. اسحب يساراً للتالي، ويميناً للسابق، مع أزرار أسهم للاستخدام دون لمس. وتؤكد نبضة لمسية كل حفظ على الأجهزة التي تدعمها.
- عناصر التحكم في متناول الإبهام — تقع أزرار التصنيف في الثلث السفلي من الشاشة حيث يصل الإبهام فعلاً. ومساحات اللمس 48 بكسل فأكثر، وتُحترم هوامش المنطقة الآمنة في الهواتف ذات النتوء، ويُراعى
prefers-reduced-motion. - عرض المخططات — تتقدّم مهام
radioالواحد وlikertتلقائياً عند النقر. أما البطاقات متعددة المخططات فتعرض كل عناصر التحكم مع زر صريح حفظ وتالٍ. - التعليق دون اتصال — تُجلب الدفعة الحالية مسبقاً وتُنسخ إلى localStorage. وإن انقطع الاتصال، استمر التعليق التوضيحي، وظهرت شارة تقول "Offline — N saves queued"، ثم تُفرَّغ الطوابير تلقائياً عند العودة. ويخزّن عامل خدمة هيكل التطبيق بعد الزيارة الأولى، فتُحمَّل الصفحة بلا اتصال. اجلب دفعة على شبكة wifi وعلّق في أي مكان، ثم زامن ما إن يعود الجهاز إلى التغطية.
- التثبيت كتطبيق — تتضمن الصفحة web manifest، فيعطيك خيار "Add to Home Screen" تطبيقاً مستقلاً بأيقونته الخاصة.
تستخدم عمليات الحفظ نقطة النهاية /updateinstance نفسها والحمولة نفسها المستخدمة في صفحة سطح المكتب. ولا يضيف وضع الجيب أي مسار كتابة جديد، فترى عمليات التصدير وإحصاءات الاتفاق ولوحة تحكم المشرف ومراقبة الجودة تعليقات توضيحية عادية.
علامة تبويب الأجهزة
تكتسب لوحة تحكم المشرف علامة تبويب الأجهزة تعرض لكل معلّق: آخر جهاز شوهد، وأعداد الزيارات بحسب صنف الجهاز، وكم مرة استخدم الواجهة المحمولة، ومتى شوهد آخر مرة. ويعطي سطر ملخّص الخلاصة ("زار 3 من 12 مستخدماً من هاتف أو جهاز لوحي").
ولهذا أهمية في اتجاهين. فإن كانت مهمتك غير متوافقة مع اللمس وأظهرت علامة تبويب الأجهزة معلّقين على الهواتف رغم ذلك، فهؤلاء رأوا التحذير وواصلوا العمل، ومخرجاتهم تستحق النظر. ولأن الزيارات تُتتبَّع سواء أكان وضع الجيب مفعّلاً أم لا، تجيب علامة التبويب عن سؤال "هل سيفيد تفعيل وضع الجيب؟" قبل أن تفعّله.
تعيش البيانات في <output_annotation_dir>/pocket/device_visits.json بصيغة تجميعات لكل مستخدم فقط. ولا يوجد تتبع على مستوى العنصر.
استكشاف الأخطاء وإصلاحها
- هاتف لا يجري توجيهه. تحقق من أن
pocket.enabledوpocket.auto_redirectمضبوطتان على true، وأن المهمة متوافقة مع اللمس (يعرضGET /pocket/api/routingالقيمةcapable: true)، وأن المستخدم لم يختر "موقع سطح المكتب" في هذه الجلسة. - جهاز iPad يحصل على صفحة سطح المكتب عند أول تحميل. يعرّف Safari على iPadOS عن نفسه كجهاز Mac، فلا يستطيع الخادم التقاطه. ويوجّهه فحص المؤشر من جانب العميل بمجرد تشغيل سكربتات الصفحة.
- مستخدم "أنهى" على المحمول لكن صفحة سطح المكتب تُظهر عناصر متبقية. قد تكون لديه عمليات حفظ غير مزامنة من وضع عدم الاتصال. وتعرض شارة المزامنة الطابور الذي يُفرَّغ عند عودة الجهاز إلى الاتصال.
قراءات إضافية
- تعيين المهام — يسحب مستخدمو المحمول من الطابور نفسه الذي يسحب منه الجميع
- لوحة تحكم المشرف — حيث تقع علامة تبويب الأجهزة
- إجراء دراسة على Prolific و MTurk
- الوثائق المصدرية