يرى جوش زيادة الاحتفاظ بالعملاء من خلال تحسين وقت بدء تشغيل التطبيق بنسبة 30٪
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
Josh هو تطبيق فيديوهات قصيرة تم إنشاؤه في الهند، تم إطلاقه في آب (أغسطس) 2020. وهو أيضًا أحد أسرع تطبيقات الفيديوهات القصيرة نموًا في الهند، إذ بلغ عدد المستخدمين النشطين شهريًا (MAU) أكثر من 124 مليون مستخدم نشط يوميًا (MAU) و60 مليون مستخدم نشط يوميًا (DAU).
يعد تحسين Josh عبر مجموعة من الأجهزة (عالية أو متوسطة أو منخفضة) والحفاظ على تجربة قياسية عبر جميع هذه الأجهزة أمرًا معقدًا لأي مطور تطبيقات، وقد فهم المطورون في جوش ذلك من البداية. كان تحسين "مؤشرات Android الحيوية" أحد المهام الرئيسية خلال الدورات المتكررة، وقد تم إيلاء أهمية لإضفاء البهجة على المستخدمين من خلال تحسين وقت بدء تشغيل التطبيق وسرعة الاستجابة.
كان لاستجابة التطبيق ووقت بدء تشغيله أهمية كبيرة أيضًا، حيث كان الفيديو هو التنسيق الأساسي الذي يتفاعل معه المستخدمون ويشاهدونه على التطبيق. ويمكن أن يؤدي أي تأخير في بث الفيديو أو أثناء التفاعل في التفاعلات المختلفة إلى فقدان الاهتمام ومغادرة التطبيق.
من خلال الاستثمار في أداء وقت بدء تشغيل التطبيق، حسّن "جوش" وقت بدء تشغيل التطبيق بنسبة 30% للمستخدم العادي وأصبح أسرع بمقدار 3 مرات تقريبًا بالنسبة إلى حوالي 10% من المستخدمين على الأجهزة القديمة والمنخفضة.
التحدّي
شهد تطبيق Josh تطوّرًا سريعًا وصل إلى أكثر من 100 مليون مستخدم نشط شهريًا في أقل من عام. في أغلب الأحيان، في السباق على إطلاق الميزات التي تقودها المنتجات أو تقودها الأحداث، تتراجع أهمية تحسين التطبيقات عن غير قصد. ساعدت عمليات تدقيق التطبيق والملاحظات الهيكلية من Google على تحديد هذه المشكلات في وقت مبكر ووضع مسار لإصلاحها.
كيفية التنفيذ
أثناء مراقبة "مؤشرات Android الحيوية"، تم رصد فرصة لتحسين بدء تشغيل التطبيق. قرر الفريق إعطاء الأولوية لتحسين أوقات التشغيل البارد، حيث سيؤدي ذلك تلقائيًا إلى تحسين أوقات البدء الدافئ والساخن.
تمكّن الفريق من إجراء تحقيقات مكثفة وتحديد المؤثِّرات السلبية من خلال استخدام أدوات تتبُّع مخصَّصة متعددة، مثل نظام systrace وAndroid Studio Profiler وPerfetto. وكان من الواضح أنه يمكن تحسين الوقت الذي تستغرقه فئة التطبيق onCreate والطرق المتزامنة الأخرى.
إليك الخطوات التي اتخذها الفريق تحديدًا
- تعريف كل كتلة من التعليمات البرمجية التي يتم تنفيذها أثناء بدء تشغيل التطبيق.
- تحليل تتبعات النظام باستخدام أدوات أداء Android مثل Perfetto وSystrace وDummpsys وغيرها
- تم التحقق من تأثير حِزم SDK التابعة لجهات خارجية أثناء بدء تشغيل التطبيق، وتم إيقاف التشغيل التلقائي لبعض حِزم SDK التابعة لجهات خارجية.
- تم استبعاد المكتبات القديمة
- تم تأجيل بعض الوحدات وتنفيذها في الخلفية.
- تم تقليل حجم العناصر القابلة للرسم على شاشة البداية عند بدء التشغيل وتحسينها لتناسب حجم الشاشة.
تم التحقّق من صحة كل ما سبق من خلال إجراء اختبارات معزولة للتأكد من تأثيرها الإيجابي في التطبيق، من خلال محاكاة عمليات التشغيل على البارد ودمج مكتبة مقياس الأداء الفائق في Jetpack.
النتائج
لم تؤد هذه التغييرات إلى تحسُّن فوري في جميع المقاييس، بل ساعدت أيضًا في تحسين تجربة المستخدم الإجمالية، إلى جانب الدروس المستفادة التي لا تقدر بثمن لفريق التطوير في Josh.
- ساعد تحسين معدّلات الارتداد والحفاظ على المستخدمين "جوش" في الاحتفاظ بأكثر من مليون مستخدم مقارنةً بالخط الأساسي. كما أدى التركيز على هذين المقياسين إلى تحسين التفاعل العام داخل التطبيق أيضًا.
- أظهرت تقييمات "متجر Play" ارتفاعًا إيجابيًا بعد إطلاق التطبيق مع تحسينات في الشركات الناشئة.
- ارتفع وقت بدء تشغيل التطبيق بنسبة 30% للمستخدم العادي وأصبح أسرع بمعدّل 3 مرات بالنسبة إلى حوالي 10% من المستخدمين على الأجهزة القديمة والمنخفضة، ما يساعد في تحسين سرعة استجابة التطبيق بشكلٍ كبير لهؤلاء المستخدمين.
والأهم من ذلك أنّ هذا التمرين الموجَّه إلى تحسين "مؤشرات Android الحيوية" جمع الفريق بأكمله معًا، ما أدّى إلى زيادة تحفيز الفريق، لا سيّما الأعضاء المبتدئين. وقد عزّزت هذه المؤشرات أهمية "مؤشرات أداء YouTube" وأدّت إلى أن يستخدم الفريق بعض المعلومات التي توصّل إليها في تطبيقاتهم الأخرى.
"عندما يجتمع الشركاء في منظومة متكاملة معًا، تنمو المنظومة المتكاملة معًا. قوة البيانات والتحليلات غير مسبوقة. بصفتنا منصّة تركّز على صنّاع المحتوى أولاً وتركّز على المحتوى وتركّز على المستهلكين، ركّزنا دائمًا على توفير أفضل تجربة للمستخدم، وهي تعتمد بشكل كبير على ثبات التطبيق. شهد جوش نموًا سريعًا وسريعًا بعد إطلاقه. ساعدنا العمل عن كثب مع فريق Google Play في تحديد ومعالجة التحديات مثل استقرار عمل التطبيقات وتحسينها في وقت مبكر. وقد ساعدتنا جهودنا مع Google في تحقيق استقرار أفضل وتحسينات في الحفاظ على المستخدمين ومعدّل تفاعلهم".
"شيليندرا شارما"، نائب الرئيس الأول للمنتجات والهندسة في VerSe Innovation
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2022-02-08 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2022-02-08 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Josh sees increased customer retention by improving app startup time by 30%\n\nJosh is a made-in-India, short-video app launched in August 2020. It is also one of the fastest growing short-video apps in India with over 124 million MAUs and 60 million DAUs.\n\nOptimizing Josh across a range of devices (high, mid, low end) and maintaining a standard experience across all of them is a tall order for any app developer, and the developers at Josh understood this from the very beginning. Improving Android Vitals was a major task in their sprints and importance was given to creating user delight by improving the app startup time and responsiveness.\n\nApp responsiveness and startup time were also important as video was the primary format users engaged with and consumed on the app. Any sputtering in the video stream or breaks in the different interactions could quickly result in the user losing interest and quitting the app.\n\nBy investing in app startup time performance, Josh improved app startup time by 30% for the average user and became 3x faster for \\~10% users on older and low end devices.\n\n### The Challenge\n\nJosh app has witnessed a rapid pace of growth to over 100 million MAU in less than a year. Often in the race to push out product-led or event-led features, app optimization takes a back seat. App audits and structural feedback from Google helped them identify these issues early on and lay down a path to fix them.\n\n### How They Did It\n\nWhile monitoring Android vitals, an opportunity to improve app startup was identified. The team decided to prioritize improving the cold startup times, as this would automatically improve the warm and hot start times.\n\nUsing multiple custom traces, systrace, Android Studio Profiler and Perfetto, the team was able to do an extensive investigation and identify the bottlenecks. It was clear that the time taken by the Application class' onCreate and other synchronous methods could be optimized.\n\nHere's what the team did specifically -\n\n- Profiled every block of code that executes during App startup.\n- Analyzed system traces using Android performance tools like Perfetto, Systrace, Dumpsys etc.\n- Impact of 3rd party SDKs during app startup was investigated and autostart of some 3rd party SDKs was disabled.\n- Eliminated legacy libraries\n- Some modules were deferred and executed in the background\n- Reduced the size of the drawables used on the splash screen on startup and optimized them for screen size\n\nAll the above were thoroughly validated by testing in isolation to confirm their positive impact on the app, emulating cold starts and integrating the new Jetpack [Macrobenchmark](https://developer.android.com/studio/profile/macrobenchmark-intro) library.\n\n### Results\n\nThese changes didn't just lead to an immediate improvement across all the metrics, it also helped enhance overall user experience, along with invaluable learnings for the development team at Josh.\n\n- Improving bounce rates and retention helped Josh **retain 1M+** users compared to the baseline. Focusing on these two metrics improved the overall engagement within the app as well.\n- Play Store **ratings showed an upward positive trend**, post the launch of the app with startup improvements.\n- App startup time improved by **30% for the average user and became 3x faster for \\~10% users on older and low end devices**, thereby helping improve app responsiveness significantly for these users.\n\nMore importantly, this exercise in improving Android Vitals brought the whole team together, increasing the motivation of the team, especially the junior members. It cemented the importance of Vitals and even led to the team using some of the learnings in their other apps.\n\u003e *\"When partners in an ecosystem come together, the ecosystem grows together. The power of data and analytics is unprecedented. As a creator-first, content-forward and consumer-focused platform, we have always focused on creating the ultimate user experience, which relies heavily on the app's stability. Josh witnessed immediate accelerated growth following its launch. Working closely with the Google Play team helped us identify and rectify challenges like app stability and optimization early on. Our efforts with Google have helped us drive improved stability and enhancements in user retention and engagement\"*\n\u003e\n\u003e **-- Shailendra Sharma, SVP Product and Engineering, VerSe Innovation.**"]]