Swiggy 解決 Android 應用程式的 Jank 問題後,使用者互動次數增加了 50%
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
簡介
Swiggy 是印度首屈一指的隨選便利平台,提供以技術為優先的物流方法,並採取解決方案優先的做法來滿足消費者需求。
Swiggy 目前擁有令人讚嘆的履歷;
- 在 Android 上的安裝次數超過 1 億
- 已在 500 多個城市啟用
- 超過 27 萬名負責人員
- 超過 18.5 萬名餐廳合作夥伴
- 每日放送訂單超過 100 萬份
Swiggy 以強大的機器學習技術為基礎,並憑藉每天處理數 TB 的資料,為印度數百萬名客戶提供快速、順暢又可靠的提供體驗。
挑戰
身為一家每天為消費者提供便利的品牌,Swiggy 技術團隊的目標是盡可能提供便利且流暢的訂購體驗。團隊開始分析並找出改善的領域後,我們發現了一個能順暢運作的領域,雖然應用程式的大部分使用者都能獲得良好運作,但對於使用低階裝置發生卡頓 (UI 轉譯速度緩慢的使用者) 的使用者,更是獲得許多改善空間。
就即將推出的使用者體驗而言,開發和品質確保時間相當重要。如此一來,「功能開發」和「效能改善項目」之間就會產生「時間共享」,他們必須挑選及選擇該季要發布的改善項目。
觀察並瞭解使用者體驗中的主要問題點後,他們決定從首頁選單到購物車漏斗中的所有資源浪費和乾擾,盡可能確保使用者提供的探索體驗順暢。
因此,在 2021 年下半年,Swiggy 和 Google 的 Android DevRel 團隊攜手合作,共同設法減少使用 Swiggy 應用程式的 Jank,提供流暢且不中斷的使用者體驗。
如何做到這點
為了抵銷 Swiggy 應用程式在捲動探索頁面時遇到的緩慢啟動時間和卡頓問題,您需要找出並應用合適的工具。
Google 的分析有助於他們朝著正確的方向著手。透過 Perfetto 和 gfxinfo 等合適工具協助這些人員,作業程序得以加快。
Google Play Vitals 的用途是監控應用程式的啟動和轉譯效能。透過 Vitals 資訊主頁,他們可以確認相關變更可以大幅提升使用者體驗。
同時,Firebase Crashlytics 也幫助他們及早發現與效能相關的當機和非重大錯誤。因此,他們能在發布版本初期找出一些與檢測相關的錯誤,並立即發出熱修正。
接著,我們利用 Perfetto、Android Studio 分析器、版面配置檢查器和 gfxinfo 等工具,縮短啟動時間,找出需要放置在 ViewStubs 中的加載檢視畫面,藉此辨識加載時間非常大的版面配置,並全面評估應用程式的 Jank。
Android DevRel (ADR) 針對效能查詢提供一貫的指引,因此能夠快速行動,並迅速取得記錄時間。他們採納了許多 ADR 在分析期間提供的建議,並在分析期間另行建議,為使用者提供最佳使用者體驗。
成果
Swiggy 運用了許多工具,成功縮短應用程式載入時間、主要活動載入時間,並縮短選單/搜尋頁面的卡頓。這些成果大幅提升了互動時間互動指標的改善程度。
- 跳出率降低約 28%
- 每月額外獲得超過 1,100 萬印度盧比的收益
- 改用首頁和瀏覽喜愛的餐廳時,這項服務的改善幅度可提升約 50%。
Vitals 指標提升了下列百分比: |
冷啟動時間緩慢: |
-50.54% |
暖啟動時間緩慢: |
-51.59% |
熱啟動時間緩慢: |
-17.68% |
緩慢影格: |
-58.97% |
凍結影格: |
-19.66% |
隨著減少資源浪費,使用者現在可以更順暢探索更多餐廳。
總而言之,這不但使用者參與度和滿意度提升,也讓 Swiggy 應用程式使用者對各種社群媒體平台的正面評價都非常好評。
因此,Swiggy 進一步強調,「專注的應用程式體驗」是對於每天為數百萬名使用者服務的任何應用程式而言最重要的元素之一。
考量未來,打造一流的使用者體驗並擴展消費者族群是他們的首要任務。
「在 Swiggy 的消費者應用程式團隊的核心重點領域,是提供無與倫比的消費者體驗。我們堅信,高效能的應用程式有助於為使用者提供引人入勝且愉快的使用體驗。因此,提供流暢、流暢且快速的體驗是最重要的關鍵。我們開始與 Google 開發人員相關團隊合作,在短時間內大幅改善重要的應用程式體驗指標,並大幅改善所有指標。我們的目標是讓 Swiggy 應用程式成為業界應用程式體驗的基準。」
– 資深工程經理 Tushar Tayal
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2022-06-01 (世界標準時間)。
[[["容易理解","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-06-01 (世界標準時間)。"],[],[],null,["# Swiggy boosts user interaction by 50% after addressing Jank issues on their Android app\n\nIntroduction\n------------\n\nSwiggy is India's leading on-demand convenience platform with a tech-first\napproach to logistics and a solution-first approach to consumer demands.\n\nSwiggy currently holds an impressive resume;\n\n- **100M+** Installs on Android\n- Active in **500+** cities\n- **270k+** delivery executives\n- **185k+** restaurant partners\n- Delivering \\\u003e **1M+** orders daily\n\nBuilt on the back of robust **ML technology** and fuelled by **terabytes of data\nprocessed every day**, Swiggy offers a fast, seamless and reliable delivery\nexperience for millions of customers across India.\n\nThe challenge\n-------------\n\nAs a brand that provides convenience to consumers on a day to day basis,\nSwiggy's tech team's goal is to make the ordering experience as convenient and\nseamless as possible. As the team proceeded to analyse and identify areas of\nimprovement, one area that stood out was that, while the app worked well for\nmost of their users, they still had a lot of room to improve, especially for\nusers experiencing jank (skipped frames from slow UI rendering) with **mid to\nlow-end devices**.\n\nWith their next version of the UX on the way, **dev, and QA** time were important.\nThis resulted in **time-sharing** between **feature development** and **performance\nimprovements**, which required picking and choosing the improvements they wanted\nto release that quarter.\n\nAfter observing and understanding the major pain points in the UX, they decided\nthat they wanted to make sure that a user's discovery experience was as **seamless**\nas possible, by taking out any Janks and distractions in their **Home to Menu to\nCart funnel**.\n\nSo, in H2 2021, **Swiggy and the Android DevRel team at Google** got together to\nwork on **reducing Jank on the Swiggy app** for a smooth and uninterrupted user\nexperience.\n\nHow they did it\n---------------\n\nTo counteract the slow launch time and jank problems that the\nSwiggy app was facing while scrolling the discovery pages, the right tools\nneeded to be identified and applied.\n\nGoogle's analysis helped them get started in the right direction. By helping\nthem with the right tools like **Perfetto and gfxinfo**, the process was\naccelerated.\n\n**Google Play Vitals** were used to monitor the app's Launch and Rendering\nperformance. Through the vitals dashboard, they were able to confirm that the\nchanges being made were leading to a significant impact on the end UX.\n\nAt the same time, **Firebase crashlytics** helped them catch performance-related\ncrashes and non-fatal errors early. Because of this, they were able to identify\nsome errors related to instrumentation very early into the release and raised\nhotfixes immediately.\n\nTools such as **Perfetto, Android Studio Profiler, Layout Inspector** and **gfxinfo**\nwere then used to improve launch time to identify inflated views that needed to\nbe placed in ViewStubs, to recognize layouts which had very large inflation\ntimes and to overall measure the app's Jank.\n\nWith the constant guidance that Android DevRel (ADR) provided regarding\nperformance queries, they were able to move quickly and make progress in record\ntimes. They took in many of ADR's recommendations, made during the analysis, and\nworked on top of that to **deliver the best possible UX for their users**.\n\nResults\n-------\n\nWith their arsenal of tools, Swiggy was able to improve their **Application load\ntime, Main activity load time, and also reduce Jank in Menu/Search pages** . All of\nthis led to some significant improvements in their **Time to Interactive\nengagement metric**. \n\n- Bounce rate decreased by \\~28%\n- Additional 11M+ INR revenue per month\n- Getting to the homepage and browsing their favorite restaurants was improved by \\~50%.\n\n|----------------------|---------|\n| Vitals improved by the following percentages: ||\n| **Slow Cold Start:** | -50.54% |\n| **Slow Warm Start:** | -51.59% |\n| **Slow Hot Start:** | -17.68% |\n| **Slow Frames:** | -58.97% |\n| **Frozen Frames:** | -19.66% |\n\nWith **Jank reduction** , users are now able to **discover more restaurants** , with **less\nfriction**.\n\nAll in all, this **increased user engagement and satisfaction** , leading\nto Swiggy app users being quite vocal with their **positive feedback on various\nsocial media platforms**.\n\nThis further reinforced Swiggy's belief that **focus on App experience** is\none of the crucial elements for any app that wants **to serve millions of users everyday**.\n\nAs for the future, creating a **top notch user experience and expanding their consumer base**\nis their top priority.\n\u003e \"Providing an unparalleled consumer experience across all categories is the\n\u003e core focus area for the Consumer Apps team at Swiggy. We strongly believe a\n\u003e highly performant app can help in delivering an engaging and delightful\n\u003e experience for our end users. Hence making that experience fluid, seamless and\n\u003e super fast is the most important thing. We started working with the Google Dev\n\u003e relations team on improving our critical App vitals and improved all metrics\n\u003e significantly in a short time. Our goal is to make the Swiggy App as the\n\u003e benchmark for app experiences across the industry.\"\n\u003e\n\u003e **-- Tushar Tayal, Senior Engineering Manager**"]]