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