Josh พบว่าการคงลูกค้าไว้เพิ่มขึ้นด้วยการปรับปรุงเวลาเริ่มต้นแอป 30%
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
Josh เป็นแอปวิดีโอสั้นที่สร้างขึ้นในอินเดียและเปิดตัวในเดือนสิงหาคม 2020 นอกจากนี้ยังเป็นหนึ่งในแอปวิดีโอสั้นที่เติบโตเร็วที่สุดในอินเดีย โดยมี MAU มากกว่า 124 ล้านคนและ DAU 60 ล้านคน
การเพิ่มประสิทธิภาพ Josh ในอุปกรณ์ต่างๆ (ระดับสูง ระดับกลาง และระดับต่ำ) และการรักษาประสบการณ์การใช้งานมาตรฐานในอุปกรณ์ทั้งหมดเป็นเรื่องยากสำหรับนักพัฒนาแอปทุกคน และนักพัฒนาแอปที่ Josh ก็เข้าใจเรื่องนี้ตั้งแต่แรก การปรับปรุง Android Vitals เป็นงานหลักใน Sprint ของทีม และทีมให้ความสำคัญกับการสร้างความพึงพอใจให้ผู้ใช้ด้วยการปรับปรุงเวลาเริ่มต้นของแอปและการตอบสนอง
การตอบสนองของแอปและเวลาเริ่มต้นก็มีความสําคัญเช่นกัน เนื่องจากวิดีโอเป็นรูปแบบหลักที่ผู้ใช้มีส่วนร่วมและรับชมในแอป การหยุดชะงักในสตรีมวิดีโอหรือการหยุดชะงักในการโต้ตอบต่างๆ อาจทําให้ผู้ใช้หมดความสนใจและออกจากแอปได้อย่างรวดเร็ว
การลงทุนในประสิทธิภาพเวลาเริ่มต้นแอปช่วยให้ Josh ปรับปรุงเวลาเริ่มต้นแอปได้ 30% สำหรับผู้ใช้ทั่วไป และเร็วขึ้น 3 เท่าสำหรับผู้ใช้ประมาณ 10% ในอุปกรณ์รุ่นเก่าและอุปกรณ์ระดับล่าง
ความท้าทาย
แอป Josh มีการเติบโตอย่างรวดเร็วจนมี MAU มากกว่า 100 ล้านคนภายในเวลาไม่ถึงปี บ่อยครั้งที่การแข่งขันเพื่อเปิดตัวฟีเจอร์ที่เน้นผลิตภัณฑ์หรือกิจกรรมทำให้การเพิ่มประสิทธิภาพแอปกลายเป็นเรื่องรอง การตรวจสอบแอปและความคิดเห็นเชิงโครงสร้างจาก Google ช่วยให้ทีมระบุปัญหาเหล่านี้ได้ตั้งแต่เนิ่นๆ และวางแนวทางในการแก้ไข
วิธีที่พวกเขาทำ
ขณะตรวจสอบ Android Vitals เราพบโอกาสในการปรับปรุงการเริ่มต้นแอป ทีมจึงตัดสินใจให้ความสำคัญกับการปรับปรุงเวลาเริ่มต้นแบบ Cold Start เนื่องจากจะช่วยปรับปรุงเวลาเริ่มต้นแบบ Warm Start และ Hot Start โดยอัตโนมัติ
การใช้การติดตามที่กำหนดเองหลายรายการ, Systrace, เครื่องมือสร้างโปรไฟล์ของ Android Studio และ Perfetto ช่วยให้ทีมสามารถตรวจสอบอย่างละเอียดและระบุจุดที่เป็นคอขวดได้ เห็นได้ชัดว่าเวลาที่ใช้ใน onCreate ของคลาส Application และเมธอดแบบซิงโครนัสอื่นๆ สามารถเพิ่มประสิทธิภาพได้
สิ่งที่ทีมทำมีดังนี้
- สร้างโปรไฟล์ทุกบล็อกของโค้ดที่เรียกใช้ระหว่างการเริ่มต้นแอป
- วิเคราะห์การติดตามระบบโดยใช้เครื่องมือประสิทธิภาพของ Android เช่น Perfetto, Systrace, Dumpsys เป็นต้น
- เราได้ตรวจสอบผลกระทบของ SDK ของบุคคลที่สามในระหว่างการเริ่มต้นแอป และปิดใช้การเริ่มต้นอัตโนมัติของ SDK ของบุคคลที่สามบางรายการ
- เลิกใช้ไลบรารีเดิม
- ระบบเลื่อนโมดูลบางรายการและดำเนินการในเบื้องหลัง
- ลดขนาดของ Drawable ที่ใช้ในหน้าจอ Splash เมื่อเริ่มต้นระบบและเพิ่มประสิทธิภาพให้เหมาะกับขนาดหน้าจอ
เราได้ตรวจสอบความถูกต้องของทั้งหมดข้างต้นอย่างละเอียดด้วยการทดสอบแยกกันเพื่อยืนยันผลลัพธ์เชิงบวกต่อแอป โดยจำลองการเริ่มต้นแบบเย็นและผสานรวมไลบรารี Macrobenchmark ใหม่ของ Jetpack
ผลลัพธ์
การเปลี่ยนแปลงเหล่านี้ไม่เพียงแต่จะนำไปสู่การปรับปรุงในทันทีในเมตริกทั้งหมด แต่ยังช่วยปรับปรุงประสบการณ์ของผู้ใช้โดยรวม รวมถึงบทเรียนอันล้ำค่าสำหรับทีมพัฒนาที่ Josh ด้วย
- การปรับปรุงอัตราตีกลับและการคงผู้ใช้ไว้ช่วยให้ Josh คงผู้ใช้ไว้ได้มากกว่า 1 ล้านคนเมื่อเทียบกับเกณฑ์พื้นฐาน การมุ่งเน้นที่เมตริกทั้ง 2 รายการนี้ยังช่วยปรับปรุงการมีส่วนร่วมโดยรวมภายในแอปด้วย
- คะแนนใน Play Store แสดงแนวโน้มเชิงบวกที่เพิ่มขึ้นหลังจากเปิดตัวแอปพร้อมการปรับปรุงสำหรับสตาร์ทอัป
- เวลาเริ่มต้นแอปได้รับการปรับปรุง30% สำหรับผู้ใช้ทั่วไป และเร็วขึ้น 3 เท่าสำหรับผู้ใช้ประมาณ 10% ในอุปกรณ์รุ่นเก่าและอุปกรณ์ระดับล่าง ซึ่งช่วยปรับปรุงการตอบสนองของแอปสำหรับผู้ใช้เหล่านี้ได้อย่างมาก
ที่สำคัญกว่านั้น การฝึกฝนเพื่อปรับปรุง Android Vitals นี้ได้นำทีมทั้งหมดมารวมกัน ซึ่งช่วยเพิ่มแรงจูงใจของทีม โดยเฉพาะสมาชิกที่อายุน้อย ซึ่งช่วยตอกย้ำความสำคัญของ Vitals และยังทำให้ทีมนำสิ่งที่ได้เรียนรู้ไปใช้ในแอปอื่นๆ ด้วย
"เมื่อพาร์ทเนอร์ในระบบนิเวศมารวมตัวกัน ระบบนิเวศก็จะเติบโตไปด้วยกัน พลังของข้อมูลและข้อมูลวิเคราะห์นั้นไม่เคยมีมาก่อน ในฐานะแพลตฟอร์มที่ให้ความสำคัญกับครีเอเตอร์ เนื้อหา และผู้บริโภคเป็นอันดับแรก เรามุ่งมั่นที่จะสร้างประสบการณ์การใช้งานที่ดีที่สุดมาโดยตลอด ซึ่งต้องอาศัยความเสถียรของแอปเป็นอย่างมาก Josh พบว่ามีการเติบโตอย่างรวดเร็วทันทีหลังจากการเปิดตัว การทำงานอย่างใกล้ชิดกับทีม Google Play ช่วยให้เราสามารถระบุและแก้ไขปัญหาต่างๆ เช่น ความเสถียรและการเพิ่มประสิทธิภาพของแอปได้ตั้งแต่เนิ่นๆ ความพยายามของเรากับ Google ช่วยให้เราปรับปรุงความเสถียรและเพิ่มประสิทธิภาพในการรักษาผู้ใช้และการมีส่วนร่วมของผู้ใช้ได้"
– Shailendra Sharma, SVP Product and Engineering, VerSe Innovation
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2022-02-08 UTC
[[["เข้าใจง่าย","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 UTC"],[],[],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.**"]]