सत्यापित > दावा किया हुआ
हर सबमिशन के साथ लोकेशन-सबूत और QA-स्थिति। कभी झूठा ‘Verified’ बैज नहीं — सीमा अनुमानित हो तो बैज भी अनुमानित। ‘क्षेत्र से बाहर’ रिकॉर्ड स्वीकृत गिनती में नहीं जुड़ता, चाहे कोई भी कहे।

Offline-first, GPS-verified, XLSForm-compatible, Hindi-first. Every feature, what it means on the ground.
ये वे नियम और क्षमताएँ हैं जिनसे उम्मीदवार का पैसा बर्बाद नहीं होता, रिसर्च एजेंसी का डेटा भरोसेमंद रहता है और सरकारी सर्वेक्षण का ऑडिट साफ़ रहता है। 12 समूह, 60+ क्षमताएँ — हर एक testable, कोई दिखावटी सूची नहीं।
Verified beats claimed · Honest status everywhere · Volunteer-first
फ़ीचर-सूची लंबी है, लेकिन हर पंक्ति के पीछे यही तीन बातें हैं। अगर कोई फ़ीचर इनमें से किसी को तोड़ता, तो हमने उसे बनाया ही नहीं।
हर सबमिशन के साथ लोकेशन-सबूत और QA-स्थिति। कभी झूठा ‘Verified’ बैज नहीं — सीमा अनुमानित हो तो बैज भी अनुमानित। ‘क्षेत्र से बाहर’ रिकॉर्ड स्वीकृत गिनती में नहीं जुड़ता, चाहे कोई भी कहे।
‘फोन में सुरक्षित’ बनाम ‘सर्वर पर पहुँचा’, ‘अंतिम अपडेट 18 मिनट पहले’, ‘Sheets का अंतिम sync’, ‘सीमा: अनुमानित’ — पुराना डेटा कभी लाइव नहीं दिखता, और रिपोर्ट में denominator हमेशा लिखा होता है।
बड़े बटन, 5–6 स्क्रीन, हिंदी, एक प्रश्न प्रति स्क्रीन, बिना नेटवर्क। 2–3 GB RAM फोन पर native। सुधार लौटे तो कारण सहित। ऐप एडमिन के लिए नहीं, उस व्यक्ति के लिए बना है जो धूप में घर-घर चल रहा है।
बाएँ से समूह चुनें या नीचे स्क्रॉल करें। हर समूह में वही लिखा है जो ऐप और पैनल में मौजूद या v1 के दायरे में है; जो बाद में आएगा, वह वैसा ही लिखा है।
सुबह घर के नेटवर्क पर आज का क्षेत्र, फ़ॉर्म, निर्देश, household सूची और नक्शे की टाइल्स डाउनलोड होती हैं। डाउनलोड स्थिति ऐप में स्पष्ट दिखती है — “3 में से 3 असाइनमेंट तैयार”। फील्ड में जाने से पहले ही पता चल जाता है कि कुछ छूटा तो नहीं।
हर सेक्शन पूरा होते ही फोन के एन्क्रिप्टेड लोकल डेटाबेस (SQLCipher) में सेव। ऐप बंद हो, फोन रीस्टार्ट हो, बैटरी खत्म हो — खोलते ही वहीं से आगे। स्वीकृति-परीक्षण: 8 घंटे का फील्ड-सत्र, 100 सर्वे, रीस्टार्ट/retry के बाद भी confirmed saves न खोएँ।
दो गिनतियाँ हमेशा दिखती हैं — कितने रिकॉर्ड फोन में हैं और कितने सर्वर तक पहुँचे। वॉलंटियर और सुपरवाइज़र दोनों को पता रहता है कि सिंक बाकी है। कोई रिकॉर्ड “भेज दिया” तब तक नहीं कहलाता जब तक सर्वर की पावती न आ जाए।
नेटवर्क आते ही background में सिंक; असफल होने पर बढ़ते अंतराल से पुनः-प्रयास। WiFi-only विकल्प उन टीमों के लिए जिनका मोबाइल डेटा सीमित है। फोटो पहले छोटी (5 MB → ~200 KB) फिर अपलोड, ताकि 2G/3G पर भी सिंक पूरा हो।
हर सबमिशन को फोन पर ही स्थायी UUID मिलता है। 10 बार भेजने पर भी सर्वर पर एक ही रिकॉर्ड बनता है (AT-06)। नेटवर्क बीच में कटे, ऐप दोबारा भेजे — गिनती नहीं बढ़ती।
हर डिवाइस को प्रोजेक्ट-अनुसार 24 घंटे का ऑफलाइन परमिट मिलता है। सीट बंद हो या डिवाइस deactivate हो, तो ऑनलाइन फोन तुरंत रुकता है और पूरी तरह ऑफलाइन फोन परमिट खत्म होने या अगले कनेक्शन पर। हम “उसी क्षण बंद” जैसा झूठा वादा नहीं करते।
Lat/long, समय, accuracy (मीटर), fix की उम्र, प्रदाता (GPS/network) और Android का mock-location संकेत — हर सर्वे के साथ दर्ज। यह सबूत कभी ओवरराइट नहीं होता; exception स्वीकार होने पर भी मूल रिकॉर्ड में रहता है।
सर्वर सबमिशन को वॉलंटियर के आवंटित गाँव/वार्ड की अनुमानित सीमा से मिलाता है: क्षेत्र में · सीमा के पास (समीक्षा) · क्षेत्र से बाहर (गिनती में नहीं, अलर्ट) · सिग्नल कमज़ोर/पुराना · नकली GPS संदेह (उच्च प्राथमिकता)। Geofencing सिर्फ़ रोकता है; हम सबूत सहित वर्गीकृत करते हैं।
14 km दूर बैठकर भरा गया सर्वे फ़्लैग होता है, समीक्षा-कतार में जाता है, स्वीकृत संख्या नहीं बढ़ाता और नेता/मैनेजर को अलर्ट जाता है। यह स्वीकृति-परीक्षण AT-04 है — हर रिलीज़ में दोहराया जाता है।
सुपरवाइज़र वैध कारण (जैसे “गाँव की सीमा LGD में गलत”) लिखकर रिकॉर्ड स्वीकार कर सकता है। Exception की अलग गिनती रिपोर्ट में दिखती है; मूल लोकेशन-स्थिति नहीं बदलती। ऑडिट में कौन/कब/क्यों दर्ज।
गाँव/वार्ड की सीमा centroid + radius से अनुमानित है, इसलिए बैज कहता है “अनुमानित रूप से क्षेत्र में”। जहाँ सत्यापित polygon है, वहीं “सत्यापित”। Android की accuracy भी अनुमान है — हम उसे वैसा ही दिखाते हैं।
पहुँच-जाँच और सबमिशन पर foreground fine-GPS, बटन दबाने पर। शिफ्ट के दौरान लाइव-शेयरिंग स्पष्ट सूचना (persistent notification) के साथ; “शिफ्ट समाप्त” पर संग्रह बंद। कोई background tracking नहीं।
Single choice, multiple choice, संख्या (पूर्णांक/दशमलव), टेक्स्ट, तारीख/समय, रेटिंग 1–5, फोटो, हस्ताक्षर, बारकोड/QR, GPS बिंदु, दूरी/अवधि, नोट/निर्देश। हर प्रश्न में “पता नहीं / लागू नहीं / उत्तर नहीं देना चाहते” विकल्प — खाली ≠ शून्य।
Relevance (कौन-सा प्रश्न कब दिखे), constraints (हिंदी में error संदेश), calculations, piping (पिछले उत्तर को अगले प्रश्न में), cascading selects (ज़िला → ब्लॉक → पंचायत), repeat groups (परिवार के सदस्य / roster)। वही semantics जो XLSForm में हैं।
Kobo, ODK, SurveyCTO की XLSForm सीधे इम्पोर्ट — survey, choices, settings शीट; label::hi / label::en कॉलम; constraint_message; select_one_from_file। जो चीज़ सपोर्ट नहीं होती, इम्पोर्ट रिपोर्ट में लाइन-वार दिखती है। पुराना फ़ॉर्म दोबारा बनाने की ज़रूरत नहीं।
प्रकाशित फ़ॉर्म lock; बदलाव = नया संस्करण; ऐप अगले सिंक पर लेटेस्ट संस्करण लेता है, चालू सर्वे पुराने संस्करण पर ही पूरा होता है। पुराने उत्तर पुराने प्रश्न के अर्थ में रहते हैं — wave-दर-wave तुलना सुरक्षित। संवेदनशील प्रश्न कंपनी की मंज़ूरी के बाद ही लाइव।
प्रश्न, विकल्प, error और निर्देश हिंदी/अंग्रेज़ी में; ऐप में भाषा टॉगल एक टैप पर। XLSForm में अन्य भाषा कॉलम (जैसे label::mr) जोड़कर बाद में और भाषाएँ। फ़ॉर्म-लाइब्रेरी में तैयार टेम्प्लेट: वोटर मूड, सार्वजनिक सुविधाएँ, household प्रोफ़ाइल, रिटेल ऑडिट, बेसलाइन।
राज्य → ज़िला → ब्लॉक → ग्राम पंचायत → गाँव; नगर निकाय → वार्ड → मोहल्ला; लोकसभा → विधानसभा → मतदान केंद्र। हर रिकॉर्ड में आधिकारिक कोड, हिंदी+अंग्रेज़ी नाम, centroid, radius, polygon (जहाँ है) और boundary status: सत्यापित / अनुमानित / उपलब्ध नहीं।
वॉलंटियर + क्षेत्र + फ़ॉर्म + तारीख-सीमा + लक्ष्य (जैसे 300 घर)। स्थितियाँ: Assigned → Accepted → In Progress → Paused/Completed → Closed। क्षेत्र बदलने का पूरा इतिहास; एक वॉलंटियर के पास एक समय में कई असाइनमेंट हो सकते हैं।
सुपरवाइज़र को उसकी टीम और आवंटित क्षेत्र ही दिखते हैं — न दूसरे ब्लॉक का डेटा, न दूसरे सुपरवाइज़र के वॉलंटियर। यही दायरा API के हर अनुरोध पर जाँचा जाता है, सिर्फ़ UI में नहीं।
विधानसभा-वार बूथ सूची CSV या CEO की PDF से इम्पोर्ट (भाग संख्या, भवन, क्षेत्र, मतदाता संख्या)। बूथ की लोकेशन मैनुअल पिन या upload से। Missing-mapping रिपोर्ट सेटअप के दिन: कितने रिकॉर्ड लोड हुए, कौन-सी mapping अधूरी।
1 सीट = 1 नामित व्यक्ति जिसे फील्ड में सर्वे भरने का अधिकार है। 10 सीट के प्लान में 10 वॉलंटियर सक्रिय। Viewer, Owner, Admin और (सर्वे न करने वाले) सुपरवाइज़र के लिए सीट नहीं लगती। बूथ प्रभारी/पन्ना प्रमुख सिर्फ़ रिपोर्ट भरते हैं तो सीट-फ्री।
10/10 भरी हों तो activation रुकता है: “आपकी सभी 10 सर्वे-सीटें उपयोग में हैं। अतिरिक्त सीट के लिए अनुरोध भेजें।” अनुरोध कंपनी के पैनल में → भुगतान पुष्टि + स्वीकृति → सीमा 10 → 11 → नया वॉलंटियर सक्रिय। पूरी प्रक्रिया ऑडिट में।
अंतिम खाली सीट पर दो एक-साथ अनुरोध → सर्वर की एकल transaction केवल एक को अनुमति देती है। सीमा कभी client-side नहीं; race-condition में भी 11 सक्रिय नहीं हो सकते।
पुराना वॉलंटियर हटाकर नया लाना replacement है — सीट वही, चार्ज नहीं। 10 से 11 करना upgrade है — चार्जेबल। दोनों का अलग इतिहास और रसीद।
आमंत्रण लिंक/OTP (MSG91) से सक्रियण; एक वॉलंटियर = एक अधिकृत डिवाइस। फोन खोए/बदले तो पैनल से पुराना deactivate, नया authorize — सीट वही। पहले सेव डेटा सुरक्षित रहता है।
प्लान खत्म: नया संग्रह रुके, पुराना डेटा read-only, रिपोर्ट/निर्यात चलते रहें; रिन्युअल पर सब सक्रिय। रिन्युअल रिमाइंडर 15/7/1 दिन पहले।
शिफ्ट के दौरान हर वॉलंटियर की अंतिम लोकेशन, समय, accuracy, शिफ्ट-स्थिति और आवंटित क्षेत्र की अनुमानित सीमा — एक ही मैप (MapLibre) पर। SSE realtime से सामान्य नेटवर्क में ~5 सेकंड में अपडेट। मतदाताओं/उत्तरदाताओं की ट्रैकिंग कभी नहीं।
Shift Started → Arrival Check → Survey Started / Saved / Submitted → Paused → Resumed → Shift Ended — हर घटना समय और लोकेशन के साथ। सुपरवाइज़र एक नज़र में देखे कि किसका दिन कैसा चला।
नेटवर्क कटे तो डैशबोर्ड कहता है “अंतिम अपडेट 18 मिनट पहले” — पुरानी लोकेशन को लाइव दिखाना नहीं। रिपोर्ट में दो समय: “ऐप का अंतिम server update” और “Sheets का अंतिम sync”।
आवंटित/पूरे क्षेत्र, विज़िट, पूर्ण/आंशिक, बंद घर, मना किए गए — पंचायत/वार्ड/वॉलंटियर-वार। लक्ष्य के मुकाबले आज की रफ़्तार; पिछड़ते क्षेत्र ऊपर।
नेता/मैनेजर के लिए उसी Android ऐप में read-only view: Overview → Map → Activity → Alerts। पैनल mobile-responsive — गाड़ी में बैठकर भी देख सकते हैं।
क्षेत्र से बाहर सर्वे · नकली GPS संदेह · बहुत तेज़ इंटरव्यू · लंबे समय से inactive (शिफ्ट चालू पर 45 मिनट से कोई घटना नहीं) · sync लंबित (रिकॉर्ड फोन में, सर्वर पर नहीं) · Offline Work Permit समाप्त होने वाला · असाइनमेंट की तारीख-सीमा पास · बूथ से आज रिपोर्ट नहीं।
हर अलर्ट को प्राथमिकता (उच्च/मध्यम/कम) और ज़िम्मेदार (सुपरवाइज़र) मिलता है। स्थितियाँ: नया → देखा → कार्रवाई → बंद। बंद करने पर कारण अनिवार्य; इतिहास रिपोर्ट में।
क्लाइंट पैनल की अलर्ट सूची, ऐप में Leader view, और FCM push (नया असाइनमेंट, सुधार-अनुरोध, सीट स्वीकृति)। टीम-सूचनाएँ ऐप के in-app inbox में — WhatsApp नीति के अनुरूप, बाहर नहीं।
एक ही वॉलंटियर के एक ही कारण से बार-बार अलर्ट एक थ्रेड में समूहित। नियम प्रोजेक्ट-स्तर पर समायोज्य (जैसे speed-limit 6 मिनट, inactive 45 मिनट)।
हर प्रश्न पर लगा समय, नेविगेशन (आगे/पीछे), बदले गए उत्तर, कुल अवधि — रिकॉर्ड के साथ। ट्रेनिंग में भी काम आता है: किस प्रश्न पर वॉलंटियर अटकते हैं।
Speed limit (तय समय से छोटा इंटरव्यू फ़्लैग या ब्लॉक), डुप्लिकेट (घर-लेबल + लोकेशन + उत्तर-पैटर्न), विरोधाभासी उत्तर (Q4 बनाम Q9), असंभव समय/दूरी क्रम (दो गाँव 5 मिनट में), दोहराव पैटर्न (एक जैसे उत्तर लगातार)। एक जैसे उत्तर = अपने-आप धोखाधड़ी नहीं — सिर्फ़ संकेत।
हर संकेत का भार जोड़कर 0–100 स्कोर; कतार स्कोर के क्रम में। 3-स्थिति validation: स्वीकृत / रोका / अस्वीकृत। स्वीकृत गिनती में सिर्फ़ स्वीकृत रिकॉर्ड।
सुपरवाइज़र कारण लिखकर रिकॉर्ड वॉलंटियर को लौटाए; ऐप में “लंबित/सुधार” स्क्रीन पर कारण सहित दिखे; पुनः-सबमिट का इतिहास संस्करण-वार।
स्वतंत्र वॉलंटियर/सुपरवाइज़र को नमूना घरों की पुनः-जाँच का असाइनमेंट; छोटा बैक-चेक फ़ॉर्म parent रिकॉर्ड से लिंक; मिलान प्रतिशत रिपोर्ट में।
A. कार्य-प्रगति (आवंटित/पूरे क्षेत्र, विज़िट, पूर्ण/आंशिक, बंद घर, मना) · B. डेटा-गुणवत्ता (प्राप्त/स्वीकृत/समीक्षा/सुधार/exception/अस्पष्ट) · C. क्षेत्रीय समस्याएँ (प्रकार, अवधि, गंभीरता, समय के साथ बदलाव) · D. सहायता-अनुरोध (प्राप्त → सौंपा → कार्यवाही → बंद)।
240 पूर्ण में 210 स्वीकृत; पानी-प्रश्न का मान्य उत्तर 180 में; समस्या 90 ने बताई → 50%। हर रिपोर्ट में समयावधि, फ़ॉर्म-संस्करण, उत्तर-संख्या और सर्वे-विधि लिखी होती है। सुविधा-नमूना पूरी विधानसभा का “प्रतिनिधि नमूना” नहीं — रिपोर्ट यह छिपाती नहीं।
क्षेत्र (ज़िला/ब्लॉक/पंचायत/गाँव/वार्ड/बूथ), तारीख, वॉलंटियर, फ़ॉर्म-संस्करण, लोकेशन-स्थिति। राउंड 1 बनाम राउंड 2 की तुलना उसी प्रश्न-संस्करण पर।
पूरा डेटा CSV/Excel (कोड + लेबल दोनों कॉलम), पंचायत/वार्ड-वार PDF रिपोर्ट हिंदी में, फोटो का ZIP signed-URL से। निर्यात ऑडिट में (कौन, कब, क्या)।
Overview, Area, Quality, Team, Issues टैब — अपने-आप अपडेट। Sheets में एडिट करने से मुख्य डेटा नहीं बदलता; Sheets बंद या quota-सीमा में हो तो भी ऐप और डैशबोर्ड चलते रहते हैं। API बाद के संस्करण में।
ग्राहक A का डेटा ग्राहक B को API/DB/फ़ाइल/एक्सपोर्ट/live — किसी स्तर पर नहीं। Postgres Row-Level Security हर tenant पर। स्वीकृति-परीक्षण: A, B का रिकॉर्ड/API/export खोले → पहुँच न मिले।
भूमिका (Owner/Admin/Viewer/Supervisor/Volunteer) और आवंटित क्षेत्र — दोनों की जाँच हर API अनुरोध पर। स्टाफ की module-scoped अनुमतियाँ; संवेदनशील पहुँच कारण सहित, ऑडिट में।
HTTPS ट्रांज़िट में; रेस्ट में संवेदनशील फ़ील्ड; फोन पर SQLCipher एन्क्रिप्टेड DB; फोटो Cloudflare R2 पर signed URL से।
कौन/क्या/कब/क्यों — सीट बदलाव, exception, निर्यात, फ़ॉर्म प्रकाशन, स्टाफ पहुँच। Read-only, tamper-evident।
परिचय-सहमति स्क्रीन (समय/संस्करण दर्ज), संपर्क-वॉल्ट सर्वे-उत्तरों से अलग, रिटेंशन नीति प्रोजेक्ट-वार, डेटा भारत में होस्टेड। मतदाता सूची का व्यक्तिगत डेटा v1 में इम्पोर्ट नहीं।
दैनिक pg_dump → R2 + साप्ताहिक स्नैपशॉट; रिस्टोर-परीक्षित (backup से restore सही लौटे)। लोड-परीक्षण AT-14: 100 डिवाइस + 1 लाख रिकॉर्ड, डैशबोर्ड ~5 सेकंड।
आज के असाइनमेंट, लक्ष्य बनाम पूरे, शिफ्ट-स्थिति, सिंक गिनती — एक स्क्रीन पर। सुबह डाउनलोड, बटन “नया सर्वे शुरू करें”। बड़े बटन, कम लिखना ज़्यादा चुनना, font-size सेटिंग।
Skip logic के हिसाब से अगला प्रश्न, हिंदी error संदेश, प्रगति-पट्टी, autosave हर सेक्शन पर। धूप में पढ़ने लायक contrast; 2–3 GB RAM Android पर Kotlin/Compose native — कोई heavy webview नहीं।
“शिफ्ट शुरू” → क्षेत्र में पहुँचने पर location fix → हर घर पर परिचय-सहमति (सर्वे कौन करा रहा है, उद्देश्य, स्वैच्छिक) → फ़ॉर्म → परिणाम: पूर्ण / आंशिक / मना / संपर्क नहीं / घर बंद / पुनः-विज़िट। “मना किया” भी दर्ज — वह भी डेटा है।
समीक्षा से लौटे रिकॉर्ड कारण सहित; सिंक स्क्रीन पर फोन/सर्वर गिनती और अंतिम सिंक समय; सहायता में ट्रेनिंग वीडियो और सुपरवाइज़र को संदेश। फोटो कैमरा से सार्वजनिक समस्या की — चेहरों की डिफ़ॉल्ट नहीं।
भाग संख्या, बूथ नाम, भवन, क्षेत्र, मतदाता संख्या (M/F/other), कोऑर्डिनेट। मंडल/शक्ति केंद्र (5–7 बूथ) की वैकल्पिक परत। बूथ प्रभारी, BLA, सदस्य; पन्ना प्रमुख पेज-रेंज के साथ। ये “फील्ड रोल” हैं — सीट सिर्फ़ सर्वे करने वाले लेते हैं।
हर बूथ की रेटिंग कारण और इतिहास सहित; पिछले चुनावों के margin मैनुअल एंट्री से। बोर्ड पर heat-map: कमज़ोर बूथ एक नज़र में।
2-मिनट का फ़ॉर्म: गतिविधियाँ, संपर्क किए घर, मुद्दे, फोटो। अनुपालन बोर्ड — किस बूथ से आज रिपोर्ट नहीं आई, लगातार कितने दिन से। ऑफलाइन भरा, बाद में सिंक।
घंटे-वार टर्नआउट एंट्री प्रति बूथ, “समर्थक जो अभी नहीं आए” की मैनुअल गिनती, पिछड़ते बूथ और missing updates — वॉर रूम बोर्ड पर लाइव। वोटर-लिस्ट इम्पोर्ट, वोटर स्लिप, IVR v1 में नहीं।
वॉलंटियर का ऐप, सुपरवाइज़र का सबूत-कार्ड, नेता का डैशबोर्ड और बूथ बोर्ड — सब एक ही रिकॉर्ड से बनते हैं। स्क्रॉल करते ही तीन पंक्तियाँ अलग-अलग दिशा में चलेंगी; टाइल पर कर्सर ले जाएँ। हर आँकड़ा नमूना है।






Geofencing ‘हाँ/ना’ कहता है। हम कहते हैं कि सबूत क्या कहता है, और उस सबूत के आधार पर रिकॉर्ड का क्या होता है। टैब बदलकर हर स्थिति देखें।
सबमिशन की लोकेशन गाँव/वार्ड की अनुमानित सीमा (centroid + radius) या सत्यापित polygon के भीतर है, accuracy स्वीकार्य (जैसे ≤ 50 m), fix ताज़ा, mock संकेत नहीं। रिकॉर्ड अपने-आप “स्वीकृत” की ओर बढ़ता है — बशर्ते QA के अन्य संकेत (गति, डुप्लिकेट) साफ़ हों।
गाँव की सीमा अनुमानित है, इसलिए किनारे के घरों पर radius से 100–300 m बाहर का fix सामान्य है। ऐसे रिकॉर्ड “सीमा के पास” वर्ग में समीक्षा-कतार में जाते हैं (कम risk-score)। सुपरवाइज़र स्वीकार करे तो स्वीकृत गिनती में जुड़ता है, कारण दर्ज।
सबमिशन आवंटित क्षेत्र से किलोमीटरों दूर से आया (जैसे 14.2 km — किसी घर से नहीं, कहीं बैठकर)। रिकॉर्ड “क्षेत्र से बाहर” फ़्लैग होता है, स्वीकृत संख्या नहीं बढ़ाता, उच्च risk-score के साथ कतार में सबसे ऊपर, और नेता/मैनेजर को अलर्ट जाता है। यही AT-04 है।
घने मोहल्ले, छत के नीचे या पुराने फोन पर accuracy 200 m+ या fix 10 मिनट पुराना हो सकता है। ऐसे में हम न ‘क्षेत्र में’ कहते हैं, न ‘बाहर’ — रिकॉर्ड “सिग्नल कमज़ोर/पुराना” वर्ग में जाता है और रिपोर्ट में “अस्पष्ट” की अलग गिनती बनती है। ऐप वॉलंटियर को खुले में आकर fix दोहराने का सुझाव देता है।
Android बताता है कि लोकेशन किसी mock-location ऐप से आई है (developer options)। ऐसा रिकॉर्ड “नकली GPS संदेह” के साथ सबसे ऊँचे risk-score पर कतार में, स्वीकृत गिनती से बाहर, और वॉलंटियर के सभी उसी दिन के रिकॉर्ड समीक्षा में। संदेह है, फ़ैसला नहीं — इसलिए सुपरवाइज़र बैक-चेक असाइन कर सकता है।
स्क्रॉल करते रहें: हर पड़ाव खुलेगा, अपना काम दिखाएगा और अगले के लिए जगह बनाएगा। ‘सबमिट’ दबाने से लेकर नेता की स्क्रीन तक किसी इंसान को कुछ नहीं करना पड़ता — पर हर कदम का हिसाब रहता है।
हर सेक्शन पूरा होते ही उत्तर फोन के एन्क्रिप्टेड लोकल डेटाबेस में लिखे जाते हैं। सबमिट दबाते ही रिकॉर्ड को स्थायी UUID, समय और लोकेशन-सबूत मिलता है। यहाँ तक नेटवर्क की कोई भूमिका नहीं — इसलिए बैटरी खत्म होना या ऐप बंद होना डेटा नहीं खाता।
नेटवर्क मिलते ही background में कतार चलती है: पहले उत्तर और मेटाडेटा, फिर फोटो (फोन पर ही 5 MB से ~200 KB)। असफल प्रयास 30 सेकंड, 1 मिनट, 5 मिनट, 15 मिनट के बढ़ते अंतराल पर दोहराए जाते हैं। WiFi-only विकल्प सीमित डेटा वाली टीमों के लिए।
सर्वर UUID देखता है। नया है तो रिकॉर्ड बनता है; पहले से है तो वही रिकॉर्ड लौटता है और 200 की पावती जाती है। इसलिए कटे हुए नेटवर्क में दस बार भेजा गया सर्वे भी एक ही गिना जाता है। पावती मिलने के बाद ही ऐप कहता है — ‘सर्वर पर पहुँचा’।
अब सबूत की जाँच होती है: आवंटित क्षेत्र की सीमा से मिलान करके पाँच लोकेशन-स्थितियों में से एक, फिर गति, डुप्लिकेट, विरोधाभास और असंभव क्रम के संकेत। हर संकेत का भार जुड़कर 0–100 risk-score बनता है। साफ़ रिकॉर्ड अपने-आप स्वीकृत, संदिग्ध रिकॉर्ड कतार में।
स्वीकृत रिकॉर्ड सामान्य नेटवर्क में ~5 सेकंड में डैशबोर्ड की गिनती, लाइव मैप और रिपोर्ट में दिखता है। ‘बाहर’ और ‘नकली GPS’ अलर्ट बनकर ज़िम्मेदार सुपरवाइज़र तक जाते हैं। हर 15 मिनट पर Google Sheets की one-way कॉपी ताज़ा होती है।
Every screen a volunteer ever sees — Hindi-first, one task per screen
घेरा अपने-आप घूमता है; कर्सर ले जाएँ तो रुकता है। वॉलंटियर को रोज़ 5–6 स्क्रीन ही दिखती हैं; बाकी (सुधार, सहायता, Leader view) ज़रूरत पर। हर स्क्रीन पर एक ही मुख्य बटन है, ताकि 45 मिनट की ट्रेनिंग काफ़ी रहे।
नमस्ते, मैं राम कुमार, यह सर्वे नमूना संस्था करा रही है। उद्देश्य: आपके मोहल्ले की सुविधाओं की जानकारी। यह स्वैच्छिक है, आप कभी भी मना कर सकते हैं।
Troubleshooting: eight things that go wrong in the field, and exactly what the system does
डेमो में सब कुछ चलता है। असली सवाल यह है कि बरौली की गली में, दोपहर दो बजे, 9% बैटरी पर क्या होता है। कार्ड पर कर्सर घुमाइए।
पिछला पूरा सेक्शन autosave हो चुका होता है। फोन चालू करके ऐप खोलिए — घर #17 का सर्वे प्रश्न 9 से आगे बढ़ेगा, शुरू से नहीं।
कुछ नहीं खोताकाम चलता रहता है। शाम को ‘फोन में 38, सर्वर पर 0’ दिखेगा; घर के WiFi पर ऐप खोलते ही कतार चल पड़ती है। Offline Work Permit 24 घंटे का है, इसलिए रात में एक बार सिंक ज़रूरी है।
Permit 24 hऐप सर्वे नहीं रोकता। रिकॉर्ड ‘सिग्नल कमज़ोर’ वर्ग में जाता है और ‘अस्पष्ट’ की अलग गिनती बनती है। वॉलंटियर को सुझाव मिलता है कि दरवाज़े या खुले में आकर fix दोहराए।
न अंदर, न बाहरपहुँच-जाँच पर ही ऐप पूछता है — ‘सीमा से 2.4 km दूर, क्या आप सही जगह हैं?’ फिर भी भरा गया रिकॉर्ड ‘क्षेत्र से बाहर’ फ़्लैग होकर समीक्षा में जाता है; सुपरवाइज़र कारण लिखकर ही उसे स्वीकार कर सकता है।
Exception कारण सहितबदलाव नया संस्करण बनता है (v3 → v4)। फोन अगले सिंक पर v4 लेते हैं; जो सर्वे v3 पर चालू था, वह v3 पर ही पूरा होता है। रिपोर्ट में संस्करण का फ़िल्टर है, इसलिए पुराने और नए उत्तर आपस में नहीं घुलते।
संस्करण lockपैनल से डिवाइस deactivate कीजिए और नया authorize — सीट वही, चार्ज नहीं। खोया फोन ऑनलाइन है तो तुरंत रुकता है; ऑफलाइन है तो permit खत्म होने पर। लोकल डेटाबेस एन्क्रिप्टेड है।
Replacementसर्वर की एकल transaction सिर्फ़ एक को अनुमति देती है; दूसरे को साफ़ संदेश मिलता है कि सीटें भरी हैं और अतिरिक्त सीट का अनुरोध भेजा जा सकता है। यही AT-02 है।
AT-02Android का mock संकेत रिकॉर्ड के साथ दर्ज होता है। रिकॉर्ड ‘नकली GPS संदेह’ में, सबसे ऊँचे risk-score पर, और उस वॉलंटियर के उसी दिन के बाकी रिकॉर्ड भी समीक्षा में। यह संदेह है, फ़ैसला नहीं — बैक-चेक से पुष्टि होती है।
उच्च प्राथमिकताQuestion types · sync rules · permit rules · RBAC · exports · limits
IT टीम, रिसर्च एजेंसी के डेटा-मैनेजर या सरकारी विभाग के तकनीकी सलाहकार के लिए — वही नियम जो कोड में हैं।
हर रिलीज़ से पहले ये स्वीकृति-परीक्षण दोहराए जाते हैं। पायलट में owner खुद चलाकर देखता है।
पायलट के बारे में पूछेंPaper + Excel vs a generic online form vs a verified field-survey platform
तीनों की अपनी जगह है। नीचे वही सवाल हैं जो सर्वे शुरू करने से पहले पूछे जाने चाहिए। ‘सामान्य ऑनलाइन फ़ॉर्म’ से मतलब लिंक से भरा जाने वाला कोई भी फ़ॉर्म-टूल है; उनकी क्षमताएँ टूल के हिसाब से बदलती हैं, इसलिए ‘आम तौर पर’ पढ़िए।
| सवाल | कागज़ + Excel | सामान्य ऑनलाइन फ़ॉर्म | Bharat Survey |
|---|---|---|---|
| पूरा दिन बिना नेटवर्क | हाँ, पर टाइपिंग बाद में | आम तौर पर नहीं | हाँ — autosave, बाद में सिंक |
| सर्वे कहाँ भरा गया, इसका सबूत | आम तौर पर नहीं | हर सबमिशन पर 5 लोकेशन-स्थितियाँ | |
| डुप्लिकेट और नकली सर्वे की जाँच | हाथ से, बाद में | सीमित | UUID + risk-score कतार + बैक-चेक |
| Skip logic, validation, roster | आंशिक | XLSForm semantics | |
| कौन-सा वॉलंटियर अभी कहाँ है | फोन करके | शिफ्ट में लाइव मैप | |
| कितने लोग सर्वे भर सकते हैं | जितने फ़ॉर्म छपें | लिंक जिसके पास | नामित सीटें, सीमा सर्वर पर |
| रिपोर्ट कब | दिनों/हफ़्तों बाद | तुरंत, बिना QA | ~5 सेकंड, सिर्फ़ स्वीकृत रिकॉर्ड |
| सहमति का रिकॉर्ड (DPDP) | फ़ॉर्म पर निर्भर | समय और पाठ-संस्करण दर्ज | |
| किसके लिए ठीक | 20–30 घर, एक बार | ऑनलाइन उत्तरदाता, छोटा पोल | घर-घर/आउटलेट-वार फील्ड टीम |
When this is the wrong tool
हर सर्वे को फील्ड-प्लेटफ़ॉर्म नहीं चाहिए। इन स्थितियों में हम खुद कोई और रास्ता सुझाते हैं।
ऑफलाइन सर्वे ऐप का मतलब सिर्फ़ यह नहीं कि बिना नेटवर्क फ़ॉर्म खुल जाए। असली सवाल तीन हैं: डेटा कहाँ सेव होता है, कब और कैसे सर्वर तक पहुँचता है, और बीच में कुछ गड़बड़ हो तो क्या खोता है। Bharat Survey में हर सेक्शन फोन के एन्क्रिप्टेड लोकल डेटाबेस में तुरंत सेव होता है; ऐप बंद हो, फोन रीस्टार्ट हो, बैटरी खत्म हो — खोलते ही वहीं से आगे। नेटवर्क आते ही background में सिंक शुरू, असफल होने पर बढ़ते अंतराल से पुनः-प्रयास। हर सबमिशन का स्थायी UUID फोन पर ही बनता है, इसलिए दस बार भेजने पर भी सर्वर पर एक ही रिकॉर्ड बनता है।
सबसे ज़रूरी बात: ऐप में दो गिनतियाँ हमेशा दिखती हैं — ‘फोन में सुरक्षित’ और ‘सर्वर पर पहुँचे’। ज़्यादातर सर्वे-ऐप्स में यह फ़र्क़ छिपा रहता है, और शाम को पता चलता है कि 40 सर्वे फोन में ही रह गए। हमारा नियम: कोई रिकॉर्ड ‘भेज दिया’ तब तक नहीं कहलाता जब तक सर्वर की पावती न आ जाए।
हर डिवाइस को हर सफल सिंक पर 24 घंटे का ऑफलाइन परमिट मिलता है (प्रोजेक्ट-वार समायोज्य)। परमिट खत्म होने पर नया सर्वे शुरू नहीं होता, लेकिन सेव डेटा सुरक्षित रहता है और सिंक की अनुमति बनी रहती है। यही नियम सीट बंद करने पर भी लागू है — पूरी तरह ऑफलाइन फोन परमिट खत्म होने या अगले कनेक्शन पर रुकता है। हम ‘उसी क्षण बंद’ जैसा वादा नहीं करते, क्योंकि तकनीकी रूप से वह झूठ होगा।
Geofencing एक दायरा खींचता है और बाहर होने पर सर्वे रोक देता है। फील्ड में यह दो तरह से फेल होता है: गाँव की सीमा अनुमानित है, इसलिए किनारे के वैध घर ‘बाहर’ दिख जाते हैं; और mock-location ऐप से दायरे के अंदर का बिंदु बनाना आसान है। Verification अलग तरीक़ा है — सर्वे रोकते नहीं, सबूत दर्ज करते हैं (lat/long, accuracy, fix की उम्र, प्रदाता, mock संकेत) और सर्वर पर उसे पाँच स्थितियों में बाँटते हैं। सिर्फ़ ‘क्षेत्र में’ स्वीकृत गिनती में जुड़ता है; ‘सीमा के पास’ समीक्षा में; ‘क्षेत्र से बाहर’ और ‘नकली GPS’ अलर्ट के साथ कतार में सबसे ऊपर; ‘कमज़ोर सिग्नल’ अस्पष्ट की अलग गिनती में। सबूत कभी नहीं मिटता, exception स्वीकार होने पर भी।
Android जो accuracy बताता है वह 68% विश्वास का अनुमान है, प्रमाण नहीं। घने मोहल्ले, छत के नीचे या पुराने फोन पर 200 m+ सामान्य है। इसलिए हम accuracy को threshold की तरह इस्तेमाल करते हैं (जैसे ≤ 50 m) और उससे खराब fix को ‘कमज़ोर सिग्नल’ में रखते हैं — न ‘अंदर’, न ‘बाहर’। ऐप वॉलंटियर को खुले में आकर fix दोहराने का सुझाव देता है।
XLSForm एक Excel-आधारित मानक है जिस पर Kobo, ODK और SurveyCTO चलते हैं। तीन शीट: survey (type, name, label, relevant, constraint, calculation), choices (list_name, name, label), settings (form_id, version, default_language)। बहुभाषी लेबल label::hi और label::en कॉलम से। Bharat Survey XLSForm सीधे इम्पोर्ट करता है — question types, skip logic, constraints, choice lists, cascading selects, repeat groups और multilingual labels के साथ। जो चीज़ सपोर्ट नहीं होती, इम्पोर्ट रिपोर्ट में लाइन-वार दिखती है, ताकि आप अंदाज़ा न लगाएँ। अपना फ़ॉर्म वापस XLSForm में निर्यात भी कर सकते हैं — vendor lock-in नहीं।
QA सिर्फ़ लोकेशन नहीं है। एक अच्छी survey QA checklist में ये संकेत होते हैं: (1) इंटरव्यू की अवधि बनाम speed-limit — 6 मिनट का सर्वे 1 मिनट 40 सेकंड में नहीं होता; (2) प्रश्न-वार समय — हर प्रश्न पर 2 सेकंड मतलब पढ़ा नहीं गया; (3) डुप्लिकेट — घर-लेबल, लोकेशन और उत्तर-पैटर्न का मिलान; (4) विरोधाभास — ‘पानी नियमित आता है’ और ‘पानी सबसे बड़ी समस्या’ एक साथ; (5) असंभव क्रम — दो गाँव 5 मिनट के अंतर पर; (6) दोहराव — एक वॉलंटियर के लगातार एक जैसे उत्तर; (7) mock-location संकेत। हर संकेत का भार जोड़कर risk-score बनता है; संदिग्ध रिकॉर्ड समीक्षा में, बाकी अपने-आप स्वीकृत। और सबसे भरोसेमंद जाँच — स्वतंत्र बैक-चेक: नमूना घरों पर दूसरा व्यक्ति छोटा फ़ॉर्म दोबारा भरे, मिलान प्रतिशत रिपोर्ट में।
नीचे वे दिक़्क़तें हैं जो किसी भी मोबाइल सर्वे में पहले हफ़्ते में आती हैं। हर एक के साथ लिखा है कि ऐप क्या दिखाता है, वॉलंटियर को क्या करना है और सुपरवाइज़र को पैनल में क्या दिखेगा। यही सूची सुपरवाइज़र की 60 मिनट की ट्रेनिंग का हिस्सा है।
पहले सिंक स्क्रीन की दो गिनतियाँ देखिए। ‘फोन में 6, सर्वर पर 8’ का मतलब है कि 6 रिकॉर्ड कतार में हैं — वे खोए नहीं हैं। आम कारण तीन हैं: मोबाइल डेटा बंद या खत्म; WiFi-only विकल्प चालू है और फोन मोबाइल डेटा पर है; या battery-saver ने background काम रोक दिया है। हल: ऐप खोलकर ‘अभी सिंक करें’ दबाइए और स्क्रीन चालू रखिए। फोटो सबसे अंत में जाती हैं, इसलिए ‘फोटो लंबित 3’ कुछ देर तक दिखना सामान्य है। पैनल में सुपरवाइज़र को ‘sync लंबित’ अलर्ट दिखता है, जिसमें लिखा होता है कि कितने रिकॉर्ड कितने घंटे से फोन में हैं।
GPS को आसमान चाहिए, नेटवर्क नहीं। कमरे के अंदर, टिन की छत के नीचे या संकरी गली में fix देर से आता है या ±200 m का आता है। हल: दरवाज़े या आँगन में आकर 20–30 सेकंड रुकिए, फिर पहुँच-जाँच दोहराइए। लोकेशन mode ‘High accuracy’ पर होना चाहिए। अगर फिर भी fix कमज़ोर है तो सर्वे भरिए — रिकॉर्ड ‘सिग्नल कमज़ोर’ वर्ग में जाएगा, खारिज नहीं होगा। एक ही फोन पर बार-बार ऐसा हो तो वह ट्रेनिंग या हार्डवेयर का संकेत है।
गाँव की सीमा centroid + radius से अनुमानित है। बड़े या लंबे फैले गाँव में किनारे के टोले radius से बाहर पड़ सकते हैं — ऐसे रिकॉर्ड आम तौर पर ‘सीमा के पास’ में आते हैं, ‘बाहर’ में नहीं। अगर पूरा टोला लगातार ‘बाहर’ दिखे तो LGD का centroid उस गाँव के लिए ग़लत हो सकता है। सुपरवाइज़र कारण लिखकर exception देता है, और हमारी टीम उस क्षेत्र का radius या polygon सुधारती है; पुराने रिकॉर्ड पुनः-वर्गीकृत होते हैं, मूल सबूत वही रहता है।
तीन संभावनाएँ हैं और ऐप तीनों में साफ़ संदेश देता है: Offline Work Permit खत्म हो गया (24 घंटे से सिंक नहीं हुआ) — नेटवर्क में आकर सिंक कीजिए, परमिट नया हो जाएगा; सीट या डिवाइस deactivate की गई है — सुपरवाइज़र से बात कीजिए; या प्लान की अवधि समाप्त है — तब नया संग्रह रुकता है, पर पुराना डेटा और रिपोर्ट देखे जा सकते हैं। किसी भी स्थिति में फोन में सेव रिकॉर्ड सुरक्षित रहते हैं और सिंक हो सकते हैं।
नया संस्करण अगले सफल सिंक पर फोन में आता है। जो सर्वे पुराने संस्करण पर शुरू हो चुका था, वह उसी पर पूरा होगा। सुबह ‘आज का काम डाउनलोड’ करते समय फ़ॉर्म का संस्करण स्क्रीन पर लिखा होता है (जैसे ‘सुविधाएँ v4’) — ब्रीफिंग में सुपरवाइज़र यही संख्या सबसे मिलवा ले।
आमंत्रण उसी मोबाइल नंबर पर जाता है जो पैनल में दर्ज है। नंबर की एक भी अंक की ग़लती सबसे आम कारण है; दूसरा कारण DND या कमज़ोर सिग्नल है। सुपरवाइज़र पैनल से आमंत्रण दोबारा भेज सकता है।
ऐप 2–3 GB RAM वाले Android फोन के लिए बना है, इसलिए नया फोन ख़रीदना ज़रूरी नहीं। जो चीज़ सबसे ज़्यादा फ़र्क़ डालती है वह बैटरी है: शिफ्ट के दौरान लाइव-लोकेशन चलते समय ~30–60 सेकंड पर और स्थिर रहने पर कम आवृत्ति से भेजी जाती है। यह बैटरी-लक्ष्य है, जिसे हम पायलट में आपके फोन पर मापते हैं — कोई पक्का प्रतिशत हम पहले से नहीं बताते। धूप में स्क्रीन की चमक सबसे बड़ा खर्च है; font-size बढ़ाकर चमक थोड़ी कम रखी जा सकती है। साझा फोन (एक फोन, दो वॉलंटियर) काम नहीं करेगा, क्योंकि 1 सीट = 1 व्यक्ति = 1 अधिकृत डिवाइस।

हर सबमिशन इन्हीं पाँच में से किसी एक में जाता है, और सिर्फ़ ‘क्षेत्र में’ वाले रिकॉर्ड स्वीकृत संख्या बनाते हैं। बाकी मिटते नहीं — समीक्षा, अलर्ट या ‘अस्पष्ट’ की अलग गिनती में सबूत सहित रहते हैं।
ऑफलाइन, GPS, XLSForm, सीट और QA पर जो सवाल हर डेमो में आते हैं।
हाँ। एक बार फ़ॉर्म, क्षेत्र और नक्शा डाउनलोड होने के बाद पूरा दिन बिना नेटवर्क के सर्वे भरे जा सकते हैं — हर सेक्शन एन्क्रिप्टेड लोकल DB में सेव, ऐप बंद/रीस्टार्ट पर वापस। सिंक तब होगा जब नेटवर्क मिले, रात को घर पर भी। स्वीकृति-परीक्षण: 8 घंटे का फील्ड-सत्र, 100 सर्वे, retry के साथ confirmed saves न खोएँ।
Geofencing सिर्फ़ यह देखता है कि बिंदु दायरे में है या नहीं और अक्सर बाहर होने पर सर्वे रोक देता है। Verification हर सबमिशन को सबूत (lat/long, accuracy, fix की उम्र, mock संकेत) सहित पाँच स्थितियों में बाँटता है — क्षेत्र में, सीमा के पास, बाहर, कमज़ोर सिग्नल, नकली GPS — और सिर्फ़ ‘क्षेत्र में’ को स्वीकृत गिनती में जोड़ता है। सबूत रिकॉर्ड के साथ रहता है, इसलिए बाद में ऑडिट संभव है।
उतना ही जितना उपलब्ध सीमा-डेटा। ज़िला/विधानसभा/लोकसभा के लिए open polygons; गाँव/वार्ड के लिए centroid + radius (अनुमानित)। इसलिए बैज ‘अनुमानित रूप से क्षेत्र में’ कहता है और साफ़ बाहर (जैसे 14 km) वाले रिकॉर्ड ही ‘क्षेत्र से बाहर’ फ़्लैग होते हैं; किनारे वाले ‘सीमा के पास’ समीक्षा में जाते हैं। Android accuracy अनुमान है, पूर्ण प्रमाण नहीं — हम उसे उसी तरह दिखाते हैं।
XLSForm एक Excel-आधारित मानक है जिसमें survey, choices और settings शीट में प्रश्न, विकल्प, skip logic (relevant), validation (constraint) और बहुभाषी लेबल लिखे जाते हैं। Kobo, ODK और SurveyCTO इसी मानक पर चलते हैं। Bharat Survey XLSForm सीधे इम्पोर्ट करता है; जो चीज़ सपोर्ट नहीं होती, इम्पोर्ट रिपोर्ट में लाइन-वार दिखती है। आप अपना फ़ॉर्म वापस XLSForm में निर्यात भी कर सकते हैं।
हाँ। प्रश्न, विकल्प, error संदेश और निर्देश हिंदी/अंग्रेज़ी दोनों में; ऐप में भाषा टॉगल एक टैप पर। XLSForm में label::hi / label::en कॉलम सपोर्ट; अन्य भारतीय भाषाओं के कॉलम जोड़े जा सकते हैं।
ट्रैकिंग सिर्फ़ शिफ्ट के दौरान चलती है, वॉलंटियर के ‘शिफ्ट शुरू’ दबाने पर, persistent notification के साथ — चलते समय ~30–60 सेकंड, स्थिर होने पर कम आवृत्ति। ‘शिफ्ट समाप्त’ पर संग्रह बंद। कोई background tracking नहीं (Play Store नीति)। नेता को सिर्फ़ शिफ्ट के समय की लोकेशन दिखती है; मतदाताओं/उत्तरदाताओं की ट्रैकिंग कभी नहीं। बैटरी-आँकड़ा परीक्षण-लक्ष्य है, पायलट में मापा जाता है।
नहीं। सीट सिर्फ़ उस नामित व्यक्ति की लगती है जो फील्ड में सर्वे भरता है। Owner, Admin, Viewer और सिर्फ़ समीक्षा करने वाले सुपरवाइज़र सीट-फ्री हैं। सुपरवाइज़र खुद सर्वे भी भरे तो सीट लगेगी। पुराना वॉलंटियर हटाकर नया लाना replacement है (चार्ज नहीं); 10 से 11 करना upgrade है।
लोकेशन-स्थिति (5 वर्ग), इंटरव्यू की अवधि बनाम speed-limit, प्रश्न-वार समय, डुप्लिकेट (घर-लेबल + लोकेशन + उत्तर-पैटर्न), विरोधाभासी उत्तर, असंभव समय/दूरी क्रम, दोहराव पैटर्न, mock-location संकेत। हर संकेत का भार जोड़कर 0–100 risk-score बनता है; संदिग्ध रिकॉर्ड समीक्षा-कतार में, बाकी अपने-आप स्वीकृत। सुपरवाइज़र सुधार लौटा सकता है या स्वतंत्र बैक-चेक असाइन कर सकता है।
नहीं। Sheets सिर्फ़ रिपोर्ट-कॉपी है, one-way sync (Overview, Area, Quality, Team, Issues)। मुख्य रिकॉर्ड हमारे डेटाबेस में; Sheets बंद या quota-सीमा में हो तो भी ऐप और डैशबोर्ड चलते रहते हैं। पूरा डेटा CSV/Excel/PDF में निर्यात होता है।
फोटो प्रश्न कैमरा से सार्वजनिक समस्या (नाली, सड़क, हैंडपंप) या दुकान/सुविधा की होती है; चेहरों की फोटो डिफ़ॉल्ट नहीं और सहमति के बिना नहीं। फोटो फोन पर ही छोटी होती है (5 MB → ~200 KB), लोकेशन/समय मेटाडेटा के साथ अपलोड, signed URL से रिपोर्ट में।
Android 8.0 या उससे नया, 2 GB RAM और लगभग 60 MB खाली जगह काफ़ी है; ऐप Kotlin/Compose में native है, कोई भारी webview नहीं। फ़ॉर्म 300 प्रश्न तक और प्रति सर्वे 10 फोटो तक परीक्षित हैं। फील्ड के लिए सुझाव: लोकेशन ‘High accuracy’ पर, तारीख-समय ‘Automatic’, ऐप को battery-saver से बाहर, और mock-location सेटिंग बंद। iOS ऐप v1 में नहीं है।
नहीं। हर सेक्शन पूरा होते ही फोन के एन्क्रिप्टेड लोकल डेटाबेस में autosave होता है। फोन दोबारा चालू करके ऐप खोलते ही वही सर्वे वहीं से आगे बढ़ता है। जो रिकॉर्ड सबमिट हो चुके थे, वे ‘फोन में सुरक्षित’ गिनती में रहते हैं और नेटवर्क मिलते ही सर्वर पर पहुँचते हैं — उसी UUID के साथ, इसलिए दोहराव नहीं बनता।
हाँ। Repeat group से ‘परिवार के हर सदस्य के लिए यही 6 प्रश्न’ जैसा roster बनता है, अधिकतम सीमा के साथ। Relevance से अगला प्रश्न पिछले उत्तर पर निर्भर होता है, cascading select से ज़िला → ब्लॉक → पंचायत की सूची छोटी होती जाती है, और piping से पिछले उत्तर (जैसे सदस्य का नाम) अगले प्रश्न के पाठ में आता है। निर्यात में repeat group अलग शीट में मिलता है।
नहीं। 1 सीट = 1 नामित व्यक्ति = 1 अधिकृत डिवाइस। फोन बदलना हो तो पैनल से पुराना डिवाइस deactivate करके नया authorize किया जाता है — सीट वही रहती है और यह replacement है, upgrade नहीं। यह नियम सर्वर पर लागू है, इसलिए ऐप की सेटिंग बदलकर इसे पार नहीं किया जा सकता।
v1 में डेटा CSV, Excel, PDF और Google Sheets की one-way कॉपी से बाहर जाता है, और फ़ॉर्म XLSForm के रूप में आते-जाते हैं (Kobo, ODK, SurveyCTO से माइग्रेशन)। सार्वजनिक API बाद के संस्करण में है — हम उसे अभी ‘उपलब्ध’ नहीं लिखते। हर निर्यात ऑडिट-लॉग में दर्ज होता है: किसने, कब, क्या।
नहीं। Sheets सिर्फ़ रिपोर्ट की कॉपी है; मुख्य डेटा हमारे डेटाबेस में रहता है। Sheets विफल हो तो ऐप, सिंक, QA कतार और डैशबोर्ड पहले की तरह चलते रहते हैं, और रिपोर्ट में ‘Sheets का अंतिम sync’ का समय ईमानदारी से पुराना दिखता है। Sheets लौटते ही कॉपी अपने-आप ताज़ा हो जाती है।

20 मिनट में हम आपकी विधानसभा, वार्ड या प्रोजेक्ट का सेटअप दिखाते हैं — XLSForm इम्पोर्ट, सीटें, ऑफलाइन ऐप और लाइव डैशबोर्ड।