हैबिट ट्रैकर के पालतू मैस्कॉट: बिना अपराध-बोध के स्ट्रीक
Charmotion टीम द्वारा · अपडेट:

हैबिट ट्रैकर मैस्कॉट को हर check-in पर एक छोटे रिएक्शन से इनाम देना चाहिए, स्ट्रीक के milestones पर बड़ा रिएक्शन दिखाना चाहिए, और छूटे हुए दिन पर उदासी की जगह शांत, न्यूट्रल स्टेट के साथ स्वागत करना चाहिए। टूटी स्ट्रीक पर हुई रिसर्च बताती है कि ब्रेक के बाद लोग अक्सर हार मान लेते हैं, इसलिए उस दिन पालतू कैरेक्टर का काम स्ट्रीक का शोक मनाना नहीं, बल्कि दोबारा शुरू करना आसान बनाना है।
मुख्य बातें
- हर हैबिट इवेंट को एक स्टेट से जोड़ें: check-in पर yes, दिन पूरा होने पर success, milestone पर success फिर wave, छूटे दिन पर idle या wave।
- Journal of Consumer Research के 2023 के एक पेपर में पाया गया कि बनी हुई स्ट्रीक engagement बढ़ाती हैं और टूटी स्ट्रीक अक्सर उसे खत्म कर देती हैं, इसलिए अपराध-बोध नहीं, दोबारा शुरुआत को डिज़ाइन करें।
- iOS widgets सिर्फ़ timeline updates के बीच, ज़्यादा से ज़्यादा दो सेकंड के लिए एनिमेट होते हैं, इसलिए हर मूड के लिए एक स्थिर पोज़ प्लान करें।
- iOS notification attachments में 10 MB तक के एनिमेटेड GIF चलते हैं; टेक्स्ट को इमेज के बिना भी समझ में आना चाहिए।
- एक कैरेक्टर सेट से आपको मूड मिलते हैं, विकास नहीं: पालतू कैरेक्टर विकसित नहीं होगा, कपड़े नहीं बदलेगा और नए पोज़ नहीं पाएगा।
पहले से कोई कैरेक्टर या लोगो है? अपने कैरेक्टर को असली ऐप स्क्रीन में देखें: स्प्लैश, ऑनबोर्डिंग, लोडिंग और एम्प्टी स्टेट स्क्रीन। यह फ़्री है, आपके ब्राउज़र में चलता है और कुछ भी अपलोड नहीं होता।
हैबिट ट्रैकर के पालतू मैस्कॉट को किन स्टेट की ज़रूरत होती है?
पालतू साथी वाले हैबिट, फ़ोकस और स्टडी ऐप कुछ गिने-चुने दोहराए जाने वाले इवेंट पर चलते हैं। कुछ भी डिज़ाइन करने से पहले हर इवेंट को एक स्टेट से जोड़ें, ताकि पालतू कैरेक्टर हर बार एक ही तरह रिएक्ट करे और users समझ जाएँ कि उसका क्या मतलब है।
| इवेंट | स्टेट | लूप या वन-शॉट | नोट्स |
|---|---|---|---|
| दिन में पहली बार खोलना | wave (2), फिर idle (0) | लूप | एक बार अभिवादन, फिर शांत |
| आदत पूरी की गई | yes | वन-शॉट | छोटा और तेज़ रखें, यह दिन में कई बार चलता है |
| आज की सभी आदतें पूरी | success, फिर happy (1) | वन-शॉट, फिर लूप | रोज़ का इनाम |
| स्ट्रीक माइलस्टोन | success, फिर wave (2) | वन-शॉट, फिर लूप | इसे कम ही दिखाएँ ताकि यह खास बना रहे |
| फ़ोकस या स्टडी टाइमर चल रहा है | idle (0) या एक स्थिर पोज़ | लूप | ध्यान टाइमर पर हो, पालतू कैरेक्टर पर नहीं |
| टाइमर पूरा हुआ | success | वन-शॉट | साथ में सेशन की अवधि टेक्स्ट में दिखाएँ |
| रिफ़्लेक्शन नोट लिखना | listening (6) | लूप | जब तक कीबोर्ड खुला है |
| सिंक या इम्पोर्ट हो रहा है | loading (5) | लूप | सिर्फ़ तब, जब यह सच में चल रहा हो |
| रिमाइंडर का समय (ऐप में) | attention (9) | लूप | आदत के नाम के बगल में |
| कल छूट गया | idle (0) या wave (2) | लूप | फिर से शुरू करने वाला टेक्स्ट, अपराध-बोध नहीं |
| सोने का समय या आराम का दिन | sleeping (8) | लूप | आराम भी प्लान का हिस्सा है |

किसी एक एनिमेशन से ज़्यादा अहम यह क्रम है कि कौन सा रिएक्शन कब मिले। हर check-in पर हल्का सा सिर हिलाना, पूरे दिन के लिए एक इनाम और माइलस्टोन के लिए जश्न: इससे छठे हफ़्ते में भी बड़े पल मायने रखते हैं। अगर हर check-in को माइलस्टोन जैसा ट्रीटमेंट मिले, तो कुछ भी कमाया हुआ नहीं लगता। फ़िटनेस कोच गाइड वर्कआउट के लिए यही तीन स्तर वाला क्रम इस्तेमाल करती है।
जब यूज़र एक दिन चूक जाए, तो पालतू कैरेक्टर को क्या करना चाहिए?
दोस्ताना बने रहें और अगला कदम छोटा रखें। किसी भी हैबिट प्रोडक्ट में छूटा हुआ दिन सबसे नाज़ुक पल होता है, और इसकी वजह पर रिसर्च भी मौजूद है।
Journal of Consumer Research में 2023 के एक पेपर में Jackie Silverman और Alixandra Barasch ने सात स्टडी में पाया कि बिहेवियरल लॉग में दिखने वाली अटूट स्ट्रीक लोगों की आगे की एंगेजमेंट बढ़ाती है, और टूटी हुई स्ट्रीक उसे घटाती है। यह असर इस बात पर निर्भर था कि लॉग पिछले व्यवहार को कैसे दिखाता है, खुद व्यवहार पर नहीं, और जब लोग स्ट्रीक को रिपेयर कर सकते थे तब यह असर कमज़ोर था (Silverman और Barasch)। यूनिवर्सिटी के लेख में रिसर्चर कहते हैं कि चूक की याद दिलाने वाले मैसेज "आमतौर पर काम नहीं करते" और इसके बजाय एक नया लक्ष्य देने का सुझाव देते हैं (CU Boulder)।
मैस्कॉट के लिए इसका मतलब ये नियम हैं:
- चूक पर उदास चेहरा नहीं। "आपकी 40 दिन की स्ट्रीक टूट गई" के बगल में sad (mood 4) यूज़र की चूक को पालतू कैरेक्टर के दुख में बदल देता है। idle या wave इस्तेमाल करें।
- अपराध-बोध वाला टेक्स्ट नहीं। "आपके पालतू को आपकी याद आई" confirmshaming से बस एक कदम दूर है, जो लोगों से कोई काम करवाने के लिए अपराध-बोध का इस्तेमाल करता है (Deceptive Patterns)।
- एक नया, छोटा लक्ष्य दें। wave के साथ "नई 3 दिन की स्ट्रीक शुरू करें?" जो छूट गया उसकी याद दिलाने से बेहतर काम करता है।
- पैसे लेकर रिपेयर करने में सावधानी रखें। Barasch उस स्ट्रीक बैज को "पूरी तरह बेमानी" कहती हैं जिसे यूज़र पैसे देकर वापस पाते हैं, क्योंकि वह अब असली व्यवहार नहीं दिखाता। फ़्री, सीमित रिपेयर एक डिज़ाइन फ़ैसला है; उन्हें बेचना एक अलग फ़ैसला है।
- पालतू कैरेक्टर को सज़ा न दें। जो पालतू यूज़र की चूक पर बीमार या उदास हो जाए, वह प्यारे चेहरे वाला अपराध-बोध का तरीका है।
फ़ोकस या स्टडी टाइमर में मैस्कॉट का इस्तेमाल कैसे करें?
फ़ोकस सेशन के दौरान पालतू कैरेक्टर को बीच में नहीं आना चाहिए। फ़ोकस ऐप एकाग्रता बेचता है, और नज़र के किनारे पर लगातार हिलता कैरेक्टर इसके खिलाफ़ काम करता है।
- सेशन से पहले: स्टार्ट बटन पर attention (9), या यूज़र के टाइमर खोलने पर wave।
- सेशन के दौरान: एक स्थिर पोज़, या कम उभार के साथ idle। Apple की मोशन गाइडेंस चेतावनी देती है कि बेवजह एनिमेशन "लोगों का ध्यान भटका सकता है" और बार-बार होने वाले इंटरैक्शन में मोशन जोड़ने से मना करती है (Apple HIG)।
- ब्रेक: sleeping (8) स्वाभाविक रूप से "अब आराम करें" जैसा लगता है।
- सेशन पूरा: एक success रिएक्शन, फिर idle।
एक्सेसिबिलिटी के नियम भी यही कहते हैं। WCAG 2.2.2 के तहत, जो चलता हुआ कंटेंट अपने आप शुरू होता है, पाँच सेकंड से ज़्यादा चलता है और दूसरे कंटेंट के बगल में होता है, उसे रोकने, बंद करने या छिपाने का तरीका चाहिए (W3C)। 25 मिनट के टाइमर के बगल में लूप होता पालतू कैरेक्टर इस दायरे में आता है, इसलिए उसे छिपाने का टॉगल दें और मोशन कम करें चालू होने पर स्थिर पोज़ दिखाएँ। iOS के लिए SwiftUI में Reduce Motion देखें।
विजेट और नोटिफ़िकेशन में पालतू कैरेक्टर क्या दिखा सकता है?
ज़्यादातर स्थिर इमेज, iOS नोटिफ़िकेशन एक अपवाद है।
- iOS विजेट। Apple विजेट एनिमेशन को timeline डेटा बदलने पर होने वाले ट्रांज़िशन के रूप में बताता है, जिनकी "अधिकतम अवधि दो सेकंड" है, और Always On में कोई एनिमेशन नहीं होता (Apple)। लूप होता GIF या वीडियो विकल्प नहीं है। हर मूड के लिए एक स्थिर इमेज दें और स्ट्रीक या प्रोग्रेस बदलने पर इमेज बदलें। विजेट और Live Activity सीमाओं की गाइड इसे विस्तार से बताती है।
- Android विजेट। विजेट लेआउट
RemoteViewsपर बनते हैं, जो "हर तरह के लेआउट या view विजेट को सपोर्ट नहीं करता" और कस्टम view भी नहीं (Android Developers)। यहाँ भी स्थिर इमेज की योजना बनाएँ। - iOS नोटिफ़िकेशन। नोटिफ़िकेशन अटैचमेंट 10 MB तक का JPEG, GIF या PNG हो सकता है, और Apple बताता है कि इमेज में "स्थिर इमेज या एनिमेटेड इमेज सीक्वेंस हो सकता है"; वीडियो अटैचमेंट 50 MB तक हो सकते हैं (Apple)। रिमोट पुश के लिए, notification service extension दिखाने से पहले फ़ाइल डाउनलोड करता है।
- Android नोटिफ़िकेशन।
BigPictureStyleका डॉक्यूमेंटेशन bitmap payload पर आधारित है, इसलिए big picture को एक स्थिर फ़्रेम मानें।

स्थिर इमेज बनाने के लिए हर क्लिप से एक फ़्रेम निकालें। इसे एक डेमो MP4 पर ffmpeg 7.1.1 से चलाया गया था:
ffmpeg -ss 0.5 -i happy.mp4 -frames:v 1 widget-happy.png
MP4 फ़्रेम में क्लिप का ठोस बैकग्राउंड रहता है। ट्रांसपेरेंट PNG के लिए, ट्रांसपेरेंट WebM को उस VP9 decoder से पढ़ें जो अल्फ़ा बनाए रखता है: ffmpeg -c:v libvpx-vp9 -ss 0.5 -i happy.webm -frames:v 1 widget-happy.png।
कौन सी फ़ाइल कहाँ इस्तेमाल करें?
| जगह | फ़ाइल | क्यों |
|---|---|---|
| पालतू कैरेक्टर की स्क्रीन और check-in लिस्ट | Rive .riv (मूड नंबर और ट्रिगर) या हर स्टेट के लिए एक MP4 | Rive स्टेट लाइव बदलता है; अगर आप बस कुछ क्लिप बदलते हैं तो वीडियो भी चलेगा |
| Home और Lock Screen विजेट | क्लिप से निकाली गई PNG स्थिर इमेज | विजेट वीडियो या GIF लूप नहीं करते |
| iOS पुश नोटिफ़िकेशन | GIF या MP4 अटैचमेंट | अटैचमेंट expanded view में एनिमेट हो सकते हैं |
| साप्ताहिक रीकैप ईमेल | ऐसा GIF जिसका पहला फ़्रेम मायने रखता हो | Outlook के कुछ वर्ज़न सिर्फ़ पहला फ़्रेम दिखाते हैं |
| App Store स्क्रीनशॉट और सोशल | 9:16 वीडियो, स्क्वेयर MP4 | Reels, Shorts और TikTok वर्टिकल होते हैं |
| मोशन कम करें चालू | हर स्टेट के लिए एक स्थिर इमेज | वही मतलब, बिना मूवमेंट |
हर जगह स्ट्रीक की गिनती, आदत का नाम और अगला कदम टेक्स्ट में रखें। पालतू कैरेक्टर माहौल बनाता है; तथ्य शब्द बताते हैं, screen reader के लिए भी और उनके लिए भी जिन्होंने पालतू कैरेक्टर को छिपा दिया है।
एक कैरेक्टर एनिमेशन सेट क्या नहीं कर सकता?
Finch जैसे पालतू-कैरेक्टर वाले ऐप कैरेक्टर के आसपास पूरी प्रोग्रेशन बनाते हैं: Internet Matters एक ऐसी चिड़िया के बारे में बताता है जो यूज़र के पॉइंट कमाने पर बड़ी होती है, एक्सेसरी पाती है और नई जगहें घूमती है (Internet Matters)। इसके लिए एक अलग आर्ट पाइपलाइन चाहिए, जिसमें हर स्टेज, आउटफ़िट और जगह के लिए नई ड्रॉइंग बने।
Charmotion सेट एक अलग, छोटी चीज़ है। आप अपने पालतू कैरेक्टर की एक इमेज अपलोड करते हैं और उसी कैरेक्टर के 17 एनिमेशन पाते हैं: दस लूप (idle, happy, wave, thinking, sad, loading, listening, talking, sleeping और attention), छह वन-शॉट रिएक्शन (success, error, yes, no, enter और exit) और एक लॉन्च इंट्रो। यह ऊपर की टेबल के हर इवेंट को कवर करता है। इसमें ये शामिल नहीं हैं:
- बढ़ने के स्टेज या इवॉल्यूशन (बच्चे से बड़ा होना),
- आउटफ़िट, टोपी या एक्सेसरी,
- नए पोज़, जैसे खाना, पौधे को पानी देना या किताब पकड़ना,
- walk cycle या एक कमरे से दूसरे में जाना,
- lip-sync, या कैरेक्टर में बना हुआ प्रोग्रेस बार।
हर सेट में MP4, 9:16 वीडियो और GIF हैं, जो विजेट, नोटिफ़िकेशन और सोशल मीडिया के लिए काफ़ी हैं, और ऐप के अंदर लाइव स्टेट के लिए .riv (पेड प्लान, $20/माह से)। अगर आपके ऐप का मुख्य लूप आउटफ़िट इकट्ठा करना या वर्चुअल पालतू को बड़ा करना है, तो कस्टम आर्ट का बजट रखें; अगर यह चेक-इन और स्ट्रीक है, तो एक सेट से काम हो जाता है।
अक्सर पूछे जाने वाले सवाल
क्या स्ट्रीक टूटने पर हैबिट ऐप का पालतू कैरेक्टर उदास दिखना चाहिए?
नहीं। टूटी स्ट्रीक के बगल में उदास पालतू कैरेक्टर यूज़र की चूक को अपराध-बोध में बदल देता है, ठीक उस समय जब उसके छोड़ने की संभावना सबसे ज़्यादा होती है। Silverman और Barasch ने पाया कि टूटी स्ट्रीक अक्सर एंगेजमेंट घटाती है, और रिसर्चर इसके बजाय नया लक्ष्य देने की सलाह देते हैं। फिर से शुरू करने के छोटे प्रॉम्प्ट के साथ idle या wave इस्तेमाल करें।
क्या iOS विजेट मेरे मैस्कॉट का एनिमेशन चला सकता है?
लूप के रूप में नहीं। Apple विजेट एनिमेशन को timeline अपडेट के बीच के ट्रांज़िशन के रूप में बताता है, जिनकी सीमा दो सेकंड है, और Always On में कोई एनिमेशन नहीं होता। हर मूड के लिए एक स्थिर इमेज एक्सपोर्ट करें और डेटा बदलने पर इमेज बदलें। नोटिफ़िकेशन अलग हैं: iOS अटैचमेंट 10 MB तक का एनिमेटेड GIF हो सकता है।
क्या स्ट्रीक रिपेयर से यूज़र वापस आते हैं?
हाँ, ये झटके को कुछ हल्का कर सकते हैं। Silverman और Barasch ने पाया कि जब लोग टूटी स्ट्रीक को रिपेयर कर सकते थे, तब उसका नकारात्मक असर कमज़ोर था। Barasch यह चेतावनी भी देते हैं कि जिस स्ट्रीक को यूज़र पैसे देकर वापस लाते हैं, वह असली व्यवहार को नहीं दिखाती। इसलिए रिपेयर सीमित और ईमानदार रखें, इसे पेड अपसेल न बनाएँ।
इस गाइड से झटपट जवाब
स्रोत
- On or Off Track: How (Broken) Streaks Affect Consumer Decisions (Silverman and Barasch, 2023), Journal of Consumer Research
- Research on streaks, marketing and tech (Barasch), University of Colorado Boulder, Leeds School of Business
- Confirmshaming, Deceptive Patterns
- Animating data updates in widgets and Live Activities, Apple Developer Documentation
- Create a simple widget, Android Developers
- UNNotificationAttachment, Apple Developer Documentation
- Motion, Apple Human Interface Guidelines
- Understanding SC 2.2.2: Pause, Stop, Hide, W3C WAI
- Finch: a parent's guide to the self-care pet app, Internet Matters
संबंधित गाइड
- फ़िटनेस कोच मैस्कॉट: स्ट्रीक, चीयर्स और हैप्टिक्स
- मेंटल हेल्थ ऐप मैस्कॉट: शांत स्टेट और क्राइसिस के नियम
- Duolingo जैसा मैस्कॉट एनिमेशन: स्टेट, रिएक्शन और मेहनत
- Live Activity, Dynamic Island और Widget एनिमेशन की सीमाएँ
- मैस्कॉट एनिमेशन स्टेट: Loading, Success, Error
- SwiftUI और UIKit में Reduce Motion (मोशन कम करें)