ارتفاع متوسط معاملات التاجر لدى Ok Credit بنسبة 30% بعد تقليل نسبة ANR
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
OkCredit هو تطبيق لإدارة حسابات الائتمان مخصّص للملايين من مالكي المتاجر وعملائهم في الهند. فمع إجراء 140 مليون معاملة شهريًا، وأكثر من 50 مليون عملية تنزيل، شهد العام الماضي وحده تسجيل معاملات على التطبيق بقيمة 50 مليار دولار أمريكي على التطبيق.
وبالنظر إلى النطاق الذي تعمل فيه شركة OkCredit وملايين الأنشطة التجارية التي تعتمد على تطبيقها في إدارة حساباتها، بات من الضروري أن تضمن شركة Okcredit تجربة سلسة وسهلة لجميع مستخدميها، بصرف النظر عن الجهاز الذي يستخدمونه.
يكافئ المستخدمون التطبيقات الأفضل أداءً بمراجعات إيجابية وتقييمات عالية. غالبًا ما يؤدي استخدام التطبيق الذي يواجه مشاكل في الاستقرار أو الأداء إلى شعور بالإحباط، بل وأسوأ من ذلك، الحصول على تقييمات سيئة. وهذا يجعل أخطاء ANR (التطبيق لا يستجيب) مقياسًا مهمًا للأداء يمكن تتبُّعه إذا كنت تهدف إلى إرضاء المستخدمين وتقديم تجربة مستخدم جيدة باستمرار.
بعد استثمارات شركة OkCredit في تحسين مؤشرات Android الحيوية، مثل تقليل أخطاء ANR وتحسين وقت بدء تشغيل التطبيق، تم تحقيق أرباح كبيرة، لا سيما على الأجهزة المنخفضة المواصفات (التي لا تتوفّر لها موارد كافية حاليًا). شهدت الشركة تحسّنًا في معدّل الحفاظ على العملاء ومعاملات التجّار على التطبيق.
التحدّي
إحدى الشرائح الرئيسية لشركة OkCredit كانت تمثّل مستخدمي الأجهزة المنخفضة المواصفات. هذه الأجهزة محدودة الموارد، ويمكن أن يؤدي تشغيل مهام ضرائب عليها إلى تحقيق تجربة مستخدم دون المستوى الأمثل بسهولة. على سبيل المثال، كان هناك تحدّي صيانة كبير واجه صعوبة في تتبُّع وإضافة أدوات لقياس أخطاء ANR. وهدفنا كان معالجة هذه المشاكل لتحسين تجربة المستخدم بشكل عام وزيادة معاملات التجّار.
ماذا فعلوا؟
من خلال تقليل أخطاء ANR وتحسين أوقات بدء تشغيل تطبيق مثل OkCredit، كان العملاء سعداء، بالإضافة إلى زيادة معدّل معاملات التجّار على هذا التطبيق.
إنّ أهم دليل على تصحيح أخطاء ANR هو معرفة ما كانت تنفّذه سلسلة التعليمات الرئيسية عند حدوث خطأ ANR. وبالاستعانة بالتعليقات الواردة من Google، ابتكرت شركة OkCredit منهجًا منظمًا لتحديد أخطاء ANR هذه.
- مراقبة الأداء باستخدام "مؤشرات Android الحيوية" وإعداد التقارير المخصّصة عن Firebase Crashlytics للتعرّف على أخطاء ANR
- إعداد محسَّن لمكتبات الجهات الخارجية من بداية التطبيق، من خلال نقل هذه المكتبات إلى سلسلة محادثات في الخلفية
- استخدام أدوات مثل Systrace وProfiler لتحديد أخطاء ANR في أجهزة استقبال البث والخدمات. وساعدت مقاييس الأداء الكلي في CI أيضًا في قياس أداء الشركات الناشئة في مجال البرودة.
- باستخدام أداة تحليل الطريقة، تم تحديد الكائنات ليتم تحميلها ببطء.
- باستخدام Perfetto، تم تحديد تخطيطات التضخم العالية.
- تم حل خطأ ANR في الإعدادات المفضّلة المشتركة من خلال تغيير كل تطبيق ()call() إلى الأهداف ()تنفيذ في سلسلة محادثات في الخلفية.
تم التحقّق من صحة المهام أعلاه للتأكّد من تأثيرها من خلال مقارنة المقاييس أو استخدام أدوات مثل systrace ومحلل وحدة المعالجة المركزية (CPU) وما إلى ذلك.
النتائج
بالإضافة إلى تحسين المقاييس وتجربة المستخدم، اكتسب فريق التطوير في شركة OkCredit إحصاءات ساعدتهم في تحسين عملية التطوير لديهم في المستقبل.
- على الأجهزة البسيطة -
- تم تقليل أخطاء ANR بنسبة 60%.
- تحسين الحفاظ على عملاء الأجهزة المنخفضة المواصفات في اليوم الأول بنسبة 22% تقريبًا
- ارتفع متوسط المعاملات لكل تاجر بنسبة 30%
- تم تحسين تقييم التطبيق من 4.3 إلى 4.6 على "متجر Play"
- تحسين وقت بدء التشغيل البارد بنسبة 70% تقريبًا
- تمت مشاهدة تحسُّن بنسبة 60 % في عدد نقرات المستخدم للرسم الكامل للإطار الأول على أي شاشة.
جمع هذا التمرين الفريق معًا لإنشاء أفضل الممارسات وشجعهم على التركيز على تحسين تجربة المستخدم. بدأ الفريق في استخدام أدوات مثل Perfetto ومحلّل وحدة المعالجة المركزية CPU خلال فترة التطوير، وذلك لتعزيز فهمهم للنظام واتّخاذ القرارات بشكل أسرع.
"لقد ساعدَنا التركيز على الحدّ من أخطاء ANR في تمييز أنفسنا من خلال تقديم
تجربة مبهجة. وقد أدّى ذلك إلى زيادة معدّلات الحفاظ على المستخدمين وتقليل معدّل إيقاف الاستخدام.
بالإضافة إلى ذلك، نظرًا للتميز الهندسي للفرق، فإن مثل هذه
الممارسات لها تأثير كبير على ثقافة المؤسسة. وهذا يجعلنا فخورين كفريق واحد وقد وضعنا معايير جديدة لأداء التطبيقات في مجال الرقمنة الناشئ في الهند للأنشطة التجارية الصغيرة والمتوسّطة".
– "غوراف كونوار" (مؤسس شريك ورئيس قسم عمليات الشراء في شركة OkCredit)
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2022-04-13 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","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-04-13 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# OkCredit’s average merchant transaction goes up by 30% after reducing ANR\n\nOkCredit is a credit account management app for millions of shop owners and their customers in India. With 140M transactions month over month, and 50M+ downloads, last year alone saw OkCredit recording $50 billion worth of transactions on the app.\n\nConsidering the scale that OkCredit operated in, and the millions of businesses that depend on its app for managing their accounts, it is imperative that OkCredit ensures a smooth and seamless experience for all its users, irrespective of the device they are using.\n\nUsers reward the best performing apps with positive reviews and high ratings. An app that has stability or performance issues often leads to frustration and even worse, bad ratings. This makes ANRs (Application Not Responding) an important performance metric to track if you're aiming to delight your users and give them a consistently good user experience.\n\nOkCredit's investments in improving Android Vitals, like reducing ANR and improving app startup time led them to reap dividends, especially on low-end devices (which are already resource limited). They saw both improvements in customer retention as well as merchant transactions on the app.\n\nThe Challenge\n-------------\n\nOne of the key segments for OkCredit were users on low-end devices. These devices are resource limited and running taxing tasks on them can easily create a sub-optimal user experience. For example, a major maintenance challenge was tracking and adding instrumentation for ANRs. The goal was to address these issues with the aim of improving the overall user experience and increasing merchant transactions.\n\nWhat did they do?\n-----------------\n\nReducing ANR and improving app startup times for an app like OkCredit meant happy customers and moreover an increase in merchant transactions on the app.\n\nThe most important clue in debugging an ANR is finding out what the main thread was doing when the ANR happened. Working with feedback from Google, OkCredit created a structured approach for identifying these ANRs.\n\n- Monitored performance using Android Vitals and used custom reporting on Firebase Crashlytics to learn about ANRs\n- Optimized initialization of third party libraries from App start, by moving these to a background thread\n- Used tools like Systrace and Profiler to identify ANRs in broadcast receivers and Services. Macrobenchmark on CI also helped benchmark cold startups.\n- Using method profiler, objects were identified to be loaded lazily.\n- Using perfetto, high inflation layouts were identified.\n- ANR in shared preferences were solved by changing all apply() to commit() in a background thread.\n\nThe above tasks were validated to confirm their impact by comparing metrics or using tools such as systrace, CPU profiler etc.\n\nThe Results\n-----------\n\nBeyond improving metrics and the user experience, the OkCredit development team gained insights that helped them improve their development process going forward. \n\n- On low-end devices -\n - Reduced ANR by 60%\n - Improved Day 1 customer retention of low-end devices by about 22%\n - The average transaction for each merchant increased by 30%\n- Improved app rating from 4.3 to 4.6 on the Play Store\n- Cold startup time improved by \\~70%\n- Saw 60 % improvement in user click to full draw of first frame on any screen\n\nThis exercise has brought the team together to create best practices and encouraged them to focus on improving the user experience. The team has started using tools like Perfetto and CPU profiler during development itself in order to improve their understanding of the system and make decisions faster.\n\u003e \"Focusing on reducing ANRs has helped us differentiate ourselves by offering a\n\u003e delightful experience. This has led to increased retention, and reduced churn.\n\u003e Additionally, due to the teams' engineering excellence, practices such as\n\u003e these have a profound influence on organization's culture. This makes us proud\n\u003e as a team, and company setting new benchmarks of app performance in the\n\u003e nascent Indian SMB digitisation industry.\"\n\u003e\n\u003e **-- Gaurav Kunwar (Cofounder \\& CPO - OkCredit)**"]]