जोश को ऐप्लिकेशन के स्टार्टअप टाइम को 30% तक कम करने से, खरीदारों को जोड़े रखने की दर में बढ़ोतरी देखने को मिली

Josh, भारत में बना एक शॉर्ट वीडियो ऐप्लिकेशन है. इसे अगस्त 2020 में लॉन्च किया गया था. यह भारत में सबसे तेज़ी से लोकप्रिय हो रहे शॉर्ट-वीडियो ऐप्लिकेशन में से एक है. इसके महीने के हिसाब से 12.4 करोड़ ऐक्टिव यूज़र (एमएयू) और हर दिन के हिसाब से 6 करोड़ ऐक्टिव यूज़र (डीएयू) हैं.

किसी भी ऐप्लिकेशन डेवलपर के लिए, Josh को अलग-अलग डिवाइसों (हाई, मिड, लो एंड) के हिसाब से ऑप्टिमाइज़ करना और सभी डिवाइसों पर एक जैसा अनुभव बनाए रखना एक बड़ी चुनौती है. Josh के डेवलपर ने इस बात को शुरुआत से ही समझ लिया था. उनकी स्प्रिंट में, Android की ज़रूरी जानकारी को बेहतर बनाना एक अहम टास्क था. साथ ही, ऐप्लिकेशन शुरू होने में लगने वाले समय और रिस्पॉन्स देने की क्षमता को बेहतर बनाकर, उपयोगकर्ताओं को बेहतर अनुभव देने पर ज़ोर दिया गया.

ऐप्लिकेशन के रिस्पॉन्स देने की क्षमता और स्टार्टअप टाइम भी अहम था, क्योंकि वीडियो ही वह मुख्य फ़ॉर्मैट था जिससे उपयोगकर्ता ऐप्लिकेशन पर जुड़ते थे और उसका इस्तेमाल करते थे. वीडियो स्ट्रीम में किसी भी तरह की रुकावट या अलग-अलग इंटरैक्शन में ब्रेक आने से, उपयोगकर्ता की दिलचस्पी तुरंत खत्म हो सकती है और वह ऐप्लिकेशन छोड़ सकता है.

ऐप्लिकेशन के स्टार्टअप टाइम की परफ़ॉर्मेंस को बेहतर बनाने के लिए, Josh ने ऐप्लिकेशन के स्टार्टअप टाइम को 30% तक कम किया. साथ ही, पुराने और कम कॉन्फ़िगरेशन वाले डिवाइसों पर, ऐप्लिकेशन के स्टार्टअप टाइम को 10% तक तीन गुना तेज़ किया.

चुनौती

Josh ऐप्लिकेशन के मासिक सक्रिय उपयोगकर्ताओं की संख्या, एक साल से भी कम समय में 10 करोड़ से ज़्यादा हो गई है. अक्सर प्रॉडक्ट या इवेंट से जुड़ी सुविधाओं को लॉन्च करने की जल्दबाज़ी में, ऐप्लिकेशन को ऑप्टिमाइज़ करने पर ध्यान नहीं दिया जाता. Google की ओर से किए गए ऐप्लिकेशन ऑडिट और स्ट्रक्चरल फ़ीडबैक से, उन्हें इन समस्याओं का पता लगाने और उन्हें ठीक करने का तरीका तय करने में मदद मिली.

उन्होंने यह कैसे किया

Android की ज़रूरी जानकारी को मॉनिटर करते समय, ऐप्लिकेशन के स्टार्टअप को बेहतर बनाने का एक अवसर मिला. टीम ने कोल्ड स्टार्टअप समय को बेहतर बनाने का फ़ैसला किया, क्योंकि इससे वॉर्म और हॉट स्टार्टअप समय अपने-आप बेहतर हो जाएगा.

टीम ने कई कस्टम ट्रेस, systrace, Android Studio Profiler, और Perfetto का इस्तेमाल करके, बारीकी से जांच की और परफ़ॉर्मेंस से जुड़ी समस्याओं का पता लगाया. इससे पता चला कि Application क्लास के onCreate और अन्य सिंक्रोनस तरीकों को ऑप्टिमाइज़ किया जा सकता है.

टीम ने खास तौर पर यह काम किया -

  • ऐप्लिकेशन शुरू होने के दौरान, एक्ज़ीक्यूट होने वाले हर कोड ब्लॉक की प्रोफ़ाइल बनाई जाती है.
  • Perfetto, Systrace, Dumpsys वगैरह जैसे Android परफ़ॉर्मेंस टूल का इस्तेमाल करके, सिस्टम ट्रेस का विश्लेषण किया.
  • ऐप्लिकेशन शुरू होने के दौरान, तीसरे पक्ष के एसडीके टूल के असर की जांच की गई. साथ ही, तीसरे पक्ष के कुछ एसडीके टूल के अपने-आप शुरू होने की सुविधा बंद कर दी गई.
  • लेगसी लाइब्रेरी हटा दी गई हैं
  • कुछ मॉड्यूल को बाद में लागू किया गया और उन्हें बैकग्राउंड में एक्ज़ीक्यूट किया गया
  • स्टार्टअप पर स्प्लैश स्क्रीन पर इस्तेमाल किए गए ड्रॉएबल का साइज़ कम किया गया है. साथ ही, उन्हें स्क्रीन के साइज़ के हिसाब से ऑप्टिमाइज़ किया गया है

ऊपर दिए गए सभी बदलावों की पुष्टि, अलग-अलग टेस्टिंग करके की गई है. इससे यह पक्का किया गया है कि ऐप्लिकेशन पर इनका सकारात्मक असर पड़े. इसके लिए, कोल्ड स्टार्ट की नकल की गई और नई Jetpack Macrobenchmark लाइब्रेरी को इंटिग्रेट किया गया.

नतीजे

इन बदलावों से, सभी मेट्रिक में तुरंत सुधार हुआ. साथ ही, इससे उपयोगकर्ता अनुभव को बेहतर बनाने में मदद मिली. इसके अलावा, Josh की डेवलपमेंट टीम को भी काफ़ी कुछ सीखने को मिला.

  • बाउंस रेट और ऐप्लिकेशन को अनइंस्टॉल करने की दर को कम करने से, Josh को बेसलाइन की तुलना में 10 लाख से ज़्यादा उपयोगकर्ताओं को बनाए रखने में मदद मिली. इन दो मेट्रिक पर फ़ोकस करने से, ऐप्लिकेशन में यूज़र ऐक्टिविटी भी बेहतर हुई.
  • स्टार्टअप में किए गए सुधारों के साथ ऐप्लिकेशन लॉन्च करने के बाद, Play Store पर रेटिंग में बढ़ोतरी देखी गई.
  • ऐप्लिकेशन शुरू होने में लगने वाले समय में औसत उपयोगकर्ता के लिए 30% की कमी आई है. साथ ही, पुराने और कम कॉन्फ़िगरेशन वाले डिवाइसों पर ~10% उपयोगकर्ताओं के लिए, यह समय तीन गुना कम हो गया है. इससे इन उपयोगकर्ताओं के लिए, ऐप्लिकेशन के रिस्पॉन्स टाइम में काफ़ी सुधार हुआ है.

सबसे अहम बात यह है कि Android Vitals को बेहतर बनाने के इस काम में पूरी टीम ने मिलकर काम किया. इससे टीम के सदस्यों, खासकर जूनियर सदस्यों का उत्साह बढ़ा. इससे Vitals की अहमियत का पता चला. साथ ही, टीम ने कुछ लर्निंग का इस्तेमाल अपने अन्य ऐप्लिकेशन में भी किया.

“जब किसी नेटवर्क में शामिल पार्टनर एक साथ मिलकर काम करते हैं, तो नेटवर्क का विकास होता है. डेटा और आंकड़ों की मदद से, कारोबार को नई ऊंचाइयों पर पहुंचाया जा सकता है. हमारा प्लैटफ़ॉर्म, क्रिएटर्स को प्राथमिकता देता है. साथ ही, कॉन्टेंट और उपभोक्ताओं पर फ़ोकस करता है. इसलिए, हम हमेशा से ही उपयोगकर्ताओं को बेहतरीन अनुभव देने पर फ़ोकस करते रहे हैं. यह अनुभव, ऐप्लिकेशन के स्टेबल होने पर ही मिल सकता है. लॉन्च होने के बाद, Josh के डाउनलोड की संख्या में तुरंत बढ़ोतरी हुई. Google Play की टीम के साथ मिलकर काम करने से, हमें ऐप्लिकेशन की स्थिरता और ऑप्टिमाइज़ेशन जैसी समस्याओं का पता लगाने और उन्हें ठीक करने में मदद मिली. Google के साथ मिलकर किए गए हमारे प्रयासों से, हमें ऐप्लिकेशन की स्थिरता को बेहतर बनाने में मदद मिली है. साथ ही, उपयोगकर्ताओं को जोड़े रखने और उनकी दिलचस्पी बढ़ाने में भी मदद मिली है"

– शैलेंद्र शर्मा, एसवीपी प्रॉडक्ट ऐंड इंजीनियरिंग, VerSe Innovation.