- यह एक हल्की JavaScript लाइब्रेरी है, जिससे उन स्क्रीन पर प्रोडक्ट टूर और हाइलाइट्स जोड़े जा सकते हैं जहाँ प्रोडक्ट के भीतर उपयोगकर्ताओं को गाइड करना हो
- यह Vanilla JavaScript पर आधारित है, किसी dependency के बिना काम करती है, और प्रमुख browsers तथा mobile devices को सपोर्ट करती है
- यह TypeScript में लिखी गई MIT लाइसेंस वाली open source लाइब्रेरी है, जो customization और accessibility support पर ज़ोर देती है
- यह user onboarding, ध्यान केंद्रित कराने, संदर्भानुसार मदद, और नए फीचर्स को अपनाने को बढ़ावा देने जैसे in-product guidance flows के लिए उपयुक्त है
- इसके लाखों downloads हैं और GitHub Star 26K हैं; getting started examples और docs आधिकारिक दस्तावेज़ में देखे जा सकते हैं
लाइब्रेरी की प्रकृति और सपोर्ट का दायरा
- Driver.js एक हल्की JavaScript लाइब्रेरी है, जो प्रोडक्ट टूर, हाइलाइट्स और संदर्भानुसार मदद के ज़रिए उपयोगकर्ताओं को प्रोडक्ट समझने में मदद करती है
- यह Vanilla JavaScript पर आधारित है, इसलिए इसे किसी अलग dependency के बिना इस्तेमाल किया जा सकता है, और यह TypeScript में लिखी गई है
- सपोर्ट और configuration के लिहाज़ से इसकी विशेषताएँ इस प्रकार हैं
- प्रमुख browsers और mobile devices का सपोर्ट
- उच्च स्तर की customization क्षमता
- हल्का ढाँचा और समृद्ध फीचर्स
- MIT लाइसेंस
- इस्तेमाल में आसान API
- accessibility support
- framework-ready
प्रोडक्ट के भीतर उपयोग के तरीके
- User onboarding: प्रोडक्ट के उपयोग का चरण-दर-चरण परिचय दिया जा सकता है और सामान्य सवालों के जवाब देने में मार्गदर्शन किया जा सकता है
- ध्यान भंग कम करना: महत्वपूर्ण elements को highlight करके उपयोगकर्ता का ध्यान किसी खास हिस्से पर केंद्रित किया जा सकता है
- संदर्भानुसार मदद: प्रोडक्ट के भीतर ज़रूरत के सही समय पर उपयोग विधि और help दी जा सकती है
- Feature adoption: नए फीचर्स को highlight करके और उनका उपयोग समझाकर यह सुनिश्चित किया जा सकता है कि उपयोगकर्ता उन्हें नज़रअंदाज़ न करें
दस्तावेज़ और प्रोजेक्ट जानकारी
- अधिक examples और शुरुआत करने का तरीका docs में उपलब्ध है
- GitHub repository kamranahmedse/driver.js है, और GitHub Star 26K दिखाए गए हैं
1 टिप्पणियां
Hacker News की राय
नहीं, प्रोडक्ट ऐसा डिज़ाइन होना चाहिए कि पहली बार में ही समझ आ जाए
Apple इस मामले में iPhone पर लगभग ऐसा नहीं करने के लिए मशहूर है, जबकि Sony हर नए डिवाइस पर इस तरह की प्रक्रिया थोपता है
onboarding का उद्देश्य usability को आगे बढ़ाना होना चाहिए; यह सहायक टूल नहीं, बल्कि इससे भी बदतर और नुकसानदेह चीज़ बन जाता है
iOS की usability बिखरी हुई है, affordance कम है, और discoverability भी कमजोर है
बहुत-से input तरीके, खासकर gestures, ऐसे हैं जिनके बारे में कोई बताए या आप खोजें नहीं तो पता ही नहीं चलता, और app दर app, यहाँ तक कि Apple के default apps के बीच भी consistency नहीं है
कभी “row को बाएँ swipe करना” का मतलब “delete” होता है, तो कभी “extra actions”, यानी पूरा घालमेल है
non-technical users को iPhone इस्तेमाल करते देखें तो अक्सर वे उपलब्ध फीचर्स के आधे भी नहीं जानते। उदाहरण के लिए, क्या आपने किसी को “shake to undo” इस्तेमाल करते देखा है?
लेकिन हाल में CRM के लिए HubSpot पर साइन अप किया, और भले ही मुझे वह कुल मिलाकर व्यवस्थित और intuitive प्रोडक्ट लगा, फिर भी उसे smartphone जितना intuitive बनाना मुश्किल, बल्कि लगभग असंभव है। ऐसे मामलों में प्रोडक्ट टूर काफ़ी मददगार होते हैं
यानी एक ऐसा अप्राप्य आदर्श जो असल दुनिया में मौजूद नहीं है
मौजूदा UX स्तर पर यह विश्वास करना मुश्किल है कि हम ऐसा UI बना सकते हैं जिसे प्रोडक्ट टूर, documentation, video tutorials वगैरह की बिल्कुल ज़रूरत न पड़े, और कम से कम कुछ हद तक जटिल प्रोडक्ट्स में तो और भी नहीं
लेकिन B2B apps, जहाँ प्रोडक्ट demo tutorials ज़्यादा इस्तेमाल होते हैं, अलग हैं। अच्छा प्रोडक्ट tutorial sales लोगों के लिए ग्राहकों को app समझाने और prospects को ठीक से बेचने में उपयोगी होता है
अगर deal size दसियों हज़ार से लेकर लाखों डॉलर तक है और प्रोडक्ट भी काफ़ी जटिल है, तो sales/support स्टाफ का लगातार आग बुझाने जैसा काम करने से यह बेहतर समाधान है
क्या सिर्फ मैं ही हूँ जो ऐसी चीज़ों को जितनी जल्दी हो सके बंद कर देता है और चिढ़ता भी रहता है?
आम तौर पर skip करना तो संभव होता है, लेकिन बाद में जब आप सच में app को ठीक से सीखना चाहें, तब उसे दोबारा शुरू करने का तरीका लगभग कभी नहीं मिलता
और यह नए features दिखाने के लिए भी अच्छा है, जिनकी माँग तो थी लेकिन जो main screen की जगह घेरने लायक नहीं हैं
बस जब यह बहुत obvious चीज़ों की ओर इशारा करता है, तब चिढ़ होती है
उपयोगी और शत्रुतापूर्ण चीज़ के बीच कोई महीन रेखा नहीं होती; वहाँ चमकती बत्तियों और सायरन वाली एक बड़ी, साफ़ रेखा होती है
प्रोडक्ट user के रूप में मुझे प्रोडक्ट टूर पसंद नहीं, लेकिन प्रोडक्ट developer के रूप में मैं हमेशा open source alternatives चाहता हूँ
यह लाइब्रेरी अपने effects में काफ़ी smooth लगती है, इसलिए काफ़ी बढ़िया है
व्यक्तिगत रूप से कुछ प्रोडक्ट्स बनाते समय मैंने देखा है कि सबसे अच्छी तरह डिज़ाइन किए गए प्रोडक्ट टूर भी SMB/consumer products में लगभग 90% मामलों में बंद कर दिए जाते हैं
मुझे इस तरह की चीज़ें थोड़ी पसंद हैं
बस नए users पर इन्हें थोपना नहीं चाहिए; उनसे पूछ लेना चाहिए कि वे टूर लेना चाहते हैं या नहीं
इन्हें केवल तब बहुत सोच-समझकर इस्तेमाल करना चाहिए जब app में नए features, buttons, या changes जोड़े गए हों, और session में एक बार ही दिखाना चाहिए; prompt में “Close/Tour” जैसे विकल्प हों तो बेहतर
app का UX intuitive होना ज़्यादा अच्छा है, लेकिन non-forced tours मददगार हो सकते हैं
feature announcement वाले login interstitials से तो यह बेहतर है
बहुत-से designers शायद मानते हैं कि जब मैं app खोलता हूँ तो मैं सोच रहा होता हूँ, “आज इन शानदार लोगों ने मेरे लिए कौन-सी नई खुशियाँ तैयार की होंगी?” और मेरे पास ढेर सारा समय है
हक़ीक़त में ज़्यादातर बार मैं app किसी खास काम को तुरंत पूरा करने के लिए खोलता हूँ, और वही पल ऐसा होता है जब किसी के अपने प्रोडक्ट-शिशु की तस्वीरें दिखाकर मुझसे “हाँ, बहुत प्यारा है” कहलवाने की कोशिश सबसे कम स्वीकार्य लगती है
मैं वास्तव में टूर के लिए तब खुला होता हूँ जब काम पूरा हो चुका हो, या जब मुझे अभी-अभी एहसास हुआ हो कि जो काम करना है वह कैसे करना है, यह मुझे पता नहीं
प्रोडक्ट टूर हमेशा बुरे नहीं होते, लेकिन अक्सर उनमें user के लिए अर्थहीन चरण बहुत ज़्यादा होते हैं, इसलिए implementation कमजोर होती है
embedded tips जैसी context-aware onboarding, persona के हिसाब से relevant onboarding, या checklist जैसी action-oriented onboarding आम तौर पर बेहतर होती है
Dropbox में onboarding और in-app education team को लीड करने के बाद मैंने Dopt [0] शुरू किया, जो सिर्फ tours ही नहीं बल्कि embedded tips और checklist जैसी ज़्यादा contextual और कम बाधक onboarding experiences को आसानी से बनाने के लिए React component library और SDK है
Dopt के साथ ज़रूरत पड़ने पर आप नए feature introduce करने के लिए 2-step tour जैसी चीज़ें भी बना सकते हैं, लेकिन हम onboarding और education के हर तरह के उपयोग के लिए एक बड़ा और बेहतर toolbox देना चाहते हैं
[0] https://dopt.com/
और “Hybrid work” को लेकर भी जिज्ञासा है
ऊपर-ऊपर से देखें तो पहले से स्पष्ट कर देना अच्छा है, लेकिन जब ऐसी research[0] मौजूद है कि 100% remote work ज़्यादा productive employees देता है, तो hybrid को समाधान क्यों चुना गया, यह जानने की इच्छा होती है
[0]: https://thehill.com/business/4110598-remote-employees-work-l...
अच्छा लग रहा है। Shepherd[0] की तुलना में इसमें क्या अलग है?
[0]: https://github.com/shipshapecode/shepherd
https://devboard.gitsense.com/shipshapecode/shepherd
https://devboard.gitsense.com/kamranahmedse/driver.js
पिछले कुछ हफ्तों में driver.js की लोकप्रियता काफ़ी बढ़ी है, लेकिन वजह ठीक से समझ नहीं आ रही
संदर्भ के लिए, यह मेरा बनाया हुआ टूल है
इस तरह के tour की समस्या यह है कि बहुत कम समय में बहुत ज़्यादा जानकारी सीधे सामने डालकर गायब हो जाती है
कुछ मिनट बाद यूज़र पूछता है, “यह सेक्शन किस काम का था?”
मैंने इसे पहले एक drone control platform बनाते समय इस्तेमाल किया था, और dashboard इतना जटिल था कि क्लिक करने से पहले यह जानना ज़रूरी था कि कौन-सा सेक्शन control के लिए है और कौन-सा video feed के लिए
लेकिन यूज़र अक्सर पढ़ते भी नहीं थे, बस सिर हिलाकर Next दबाते जाते थे, इसलिए आखिर में हमने इसे हटा दिया और हर सेक्शन में info icon जोड़ दिए ताकि mouse hover पर विवरण दिख सके
Redux app में ऐसा ही कुछ करने के लिए मैंने https://github.com/Evernote/Aquaman लाइब्रेरी बनाई थी। React context के लिए भी यही चीज़ बनाई थी, लेकिन उसे open source के रूप में जारी नहीं किया गया
यहाँ जो बात छूट रही है, वह यह है कि 1) app state को guided tour trigger करना पड़ सकता है, 2) कभी न कभी multi-step flow की ज़रूरत पड़ने की संभावना बहुत है, और 3) उस flow की state change logic को rendering logic से अलग होना चाहिए
flow के सभी step एक साथ होने चाहिए। Aquaman से यह किया जा सकता था
यूज़र के तौर पर मुझे यह पसंद नहीं, लेकिन developer के तौर पर product team requirements पूरी करने के लिए यह अच्छी लाइब्रेरी है
आज मैंने किसी दूसरे product के लिए Walnut.io [1] का demo देखा, उसमें से ज़्यादातर मैंने skip कर दिया और product के बारे में भी लगभग कुछ समझ नहीं पाया
मेरे हिसाब से यह टूल से ज़्यादा इस बात पर निर्भर करता है कि product tour को कौन और कैसे बनाता है
कुछ products इतने complex होते हैं कि उन्हें explanation, solution engineer, या account manager की guidance की ज़रूरत पड़ सकती है। ऐसा कोई चमत्कारी product नहीं है जिसे help या product tour की बिल्कुल ज़रूरत न पड़े
[1] https://walnut.io