पॉकेट मोड
फ़ोन या टैबलेट से एनोटेट करें। टच डिवाइस अपने आप एक स्वाइप होने वाले कार्ड स्टैक पर भेज दिए जाते हैं, जिसमें अंगूठा-क्षेत्र के नियंत्रण, सिंक के साथ ऑफ़लाइन एनोटेशन, और PWA के रूप में होम-स्क्रीन इंस्टॉल शामिल हैं।
v2.7.0 में नया
Potato फ़ोन और टैबलेट से एनोटेट करने का समर्थन करता है। पॉकेट मोड चालू करें, और आपका टास्क खोलने वाले टच डिवाइस अपने आप मोबाइल इंटरफ़ेस पर पहुँच जाते हैं: अंगूठा-क्षेत्र के लेबल बटनों वाला एक कार्ड स्टैक, स्वाइप नेविगेशन, अपने आप सिंक होने वाला ऑफ़लाइन एनोटेशन, और PWA के रूप में होम-स्क्रीन पर इंस्टॉलेशन। डेस्कटॉप उपयोगकर्ताओं को सामान्य इंटरफ़ेस ही दिखता है और उनके लिए कुछ नहीं बदलता।

हर एनोटेशन प्रकार फ़ोन के लायक नहीं होता। स्पैन हाइलाइटिंग और बाउंडिंग बॉक्स डेस्कटॉप के काम हैं। Potato इस बारे में साफ़ है: टच-सक्षम टास्क को मोबाइल इंटरफ़ेस मिलता है, जो टास्क ऐसे नहीं हैं उन्हें घटिया UI के बजाय एक स्पष्ट चेतावनी मिलती है, और एडमिन डैशबोर्ड दोनों ही हालात में बताता है कि कौन किस तरह के डिवाइस से एनोटेट कर रहा है।
कॉन्फ़िगरेशन
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 टास्क आदर्श स्थिति है, जहाँ एक टैप का मतलब है एक लेबल किया हुआ आइटम।
डिवाइस रूटिंग कैसे काम करती है
| डिवाइस | टास्क टच-सक्षम, pocket चालू | टास्क टच-सक्षम नहीं |
|---|---|---|
| डेस्कटॉप | सामान्य इंटरफ़ेस | सामान्य इंटरफ़ेस |
| फ़ोन / टैबलेट | मोबाइल इंटरफ़ेस पर रीडायरेक्ट | सामान्य इंटरफ़ेस + एक हटाई जा सकने वाली चेतावनी |
पहचान दो परतों में होती है।
- सर्वर की तरफ़ (User-Agent)। फ़ोन और ज़्यादातर टैबलेट अपनी पहचान खुद बता देते हैं, और डेस्कटॉप पेज बनने से पहले ही रीडायरेक्ट कर दिए जाते हैं। API क्लाइंट और अनजान एजेंट डेस्कटॉप गिने जाते हैं, इसलिए स्क्रिप्ट और इंटीग्रेशन कभी रीडायरेक्ट नहीं होते।
- क्लाइंट की तरफ़ (पॉइंटर जाँच)। कुछ टैबलेट डेस्कटॉप का भेस बना लेते हैं। iPadOS Safari, मिसाल के तौर पर, खुद को Mac बताता है। एनोटेशन पेज पर चलने वाली एक स्क्रिप्ट जाँचती है कि डिवाइस का प्राथमिक पॉइंटर मोटा (यानी उँगली) है या नहीं, और ऐसों को भी रीडायरेक्ट कर देती है। टचस्क्रीन वाले लैपटॉप पर असर नहीं पड़ता, क्योंकि उनका प्राथमिक पॉइंटर ट्रैकपैड होता है।
रूटिंग केवल एनोटेशन चरण में मौजूद एनोटेटरों पर लागू होती है। सहमति, निर्देश और सर्वेक्षण पेज अछूते रहते हैं।
डेस्कटॉप उपयोगकर्ता खुद चुन सकते हैं: pocket-सक्षम टास्क पर नेवबार में /pocket के लिए एक कॉम्पैक्ट व्यू लिंक दिखता है, जहाँ कार्ड स्टैक प्रति आइटम एक क्लिक वाला तेज़ लेबलिंग व्यू बन जाता है। मोबाइल उपयोगकर्ता डेस्कटॉप साइट लिंक से इससे बाहर निकल सकते हैं, और यह चुनाव उस सत्र भर बना रहता है।
मोबाइल इंटरफ़ेस
- कार्ड स्टैक — प्रति कार्ड एक आइटम। अगले के लिए बाएँ स्वाइप करें, पिछले के लिए दाएँ, और बिना-टच इस्तेमाल के लिए तीर बटन हैं। जिन डिवाइस पर यह सुविधा है, वहाँ हर सेव पर एक हैप्टिक टिक पुष्टि करता है।
- अंगूठा-क्षेत्र के नियंत्रण — लेबल बटन स्क्रीन के निचले तिहाई हिस्से में रहते हैं, जहाँ अंगूठा सचमुच पहुँचता है। टच टारगेट 48px या उससे बड़े हैं, नॉच वाले फ़ोन पर safe-area इनसेट का ध्यान रखा जाता है, और
prefers-reduced-motionका पालन होता है। - योजना रेंडरिंग — एकल radio और likert टास्क टैप पर अपने आप आगे बढ़ जाते हैं। कई योजनाओं वाले कार्ड हर नियंत्रण के साथ एक स्पष्ट सेव और अगला दिखाते हैं।
- ऑफ़लाइन एनोटेशन — मौजूदा बैच पहले से ला लिया जाता है और localStorage में मिरर कर दिया जाता है। कनेक्शन टूटने पर एनोटेशन चलता रहता है, एक चिप "Offline — N saves queued" दिखाती है, और दोबारा जुड़ते ही क़तार अपने आप ख़ाली हो जाती है। पहली बार खोलने के बाद एक service worker ऐप शेल को कैश कर लेता है, इसलिए बिना कनेक्शन के भी पेज लोड होता है। वाईफ़ाई पर एक बैच पहले से ले लें और कहीं भी एनोटेट करें, फिर डिवाइस के दोबारा नेटवर्क में आते ही सिंक कर लें।
- ऐप के रूप में इंस्टॉल — पेज एक web manifest भेजता है, इसलिए "Add to Home Screen" से अपने आइकन वाला एक स्टैंडअलोन ऐप मिल जाता है।
सेव उसी /updateinstance एंडपॉइंट और पेलोड का उपयोग करते हैं जो डेस्कटॉप पेज करता है। पॉकेट मोड कोई नया राइट पाथ नहीं जोड़ता, इसलिए निर्यात, सहमति आँकड़े, एडमिन डैशबोर्ड और गुणवत्ता नियंत्रण सबको सामान्य एनोटेशन ही दिखती हैं।
डिवाइस टैब
एडमिन डैशबोर्ड में एक डिवाइस टैब जुड़ जाता है, जो हर एनोटेटर के लिए दिखाता है: आख़िरी बार दिखा डिवाइस, डिवाइस श्रेणी के अनुसार विज़िट की गिनती, उन्होंने कितनी बार मोबाइल इंटरफ़ेस इस्तेमाल किया, और वे आख़िरी बार कब दिखे। एक सारांश पंक्ति मुख्य बात बता देती है (“12 में से 3 उपयोगकर्ता फ़ोन या टैबलेट से आ चुके हैं”)।
यह दो तरफ़ से मायने रखता है। अगर आपका टास्क टच-सक्षम नहीं है और डिवाइस टैब फिर भी एनोटेटरों को फ़ोन पर दिखाता है, तो उन एनोटेटरों ने चेतावनी देखकर भी काम जारी रखा, इसलिए उनके आउटपुट पर नज़र डालना बनता है। और चूँकि विज़िट पॉकेट मोड चालू हो या न हो, दोनों हालात में ट्रैक होती हैं, यह टैब चालू करने से पहले ही “क्या पॉकेट मोड चालू करने से फ़ायदा होगा?” का जवाब दे देता है।
डेटा <output_annotation_dir>/pocket/device_visits.json में केवल प्रति-उपयोगकर्ता समुच्चय के रूप में रहता है। प्रति-आइटम कोई ट्रैकिंग नहीं होती।
समस्या निवारण
- कोई फ़ोन रीडायरेक्ट नहीं हो रहा। जाँचें कि
pocket.enabledऔरpocket.auto_redirecttrue हैं, कि टास्क टच-सक्षम है (GET /pocket/api/routingमेंcapable: trueदिखता है), और कि उपयोगकर्ता ने इस सत्र में “डेस्कटॉप साइट” नहीं चुना है। - पहली बार लोड होने पर iPad को डेस्कटॉप पेज मिलता है। iPadOS Safari खुद को Mac बताता है, इसलिए सर्वर उसे पकड़ नहीं पाता। पेज की स्क्रिप्ट चलते ही क्लाइंट की तरफ़ वाली पॉइंटर जाँच उसे रीडायरेक्ट कर देती है।
- कोई उपयोगकर्ता मोबाइल पर “पूरा” दिखा रहा है, पर डेस्कटॉप पेज पर आइटम बचे हैं। शायद उनके सेव ऑफ़लाइन पड़े हैं और सिंक नहीं हुए। सिंक चिप क़तार दिखाती है, जो डिवाइस के दोबारा ऑनलाइन आते ही ख़ाली हो जाती है।
आगे पढ़ें
- कार्य आवंटन — मोबाइल उपयोगकर्ता भी बाक़ी सबकी तरह उसी क़तार से काम लेते हैं
- एडमिन डैशबोर्ड — जहाँ डिवाइस टैब रहता है
- Prolific और MTurk पर क्राउडसोर्सिंग
- स्रोत दस्तावेज़