{"id":210083,"date":"2024-03-04T13:08:33","date_gmt":"2024-03-04T13:08:33","guid":{"rendered":"https:\/\/michigandigitalnews.com\/index.php\/2024\/03\/04\/nordvpn-boosted-the-speed-of-its-login-user-flow-by-60-using-baseline-profiles\/"},"modified":"2025-06-25T17:21:15","modified_gmt":"2025-06-25T17:21:15","slug":"nordvpn-boosted-the-speed-of-its-login-user-flow-by-60-using-baseline-profiles","status":"publish","type":"post","link":"https:\/\/michigandigitalnews.com\/index.php\/2024\/03\/04\/nordvpn-boosted-the-speed-of-its-login-user-flow-by-60-using-baseline-profiles\/","title":{"rendered":"NordVPN boosted the speed of its login user flow by 60% using Baseline Profiles"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div>\n<meta content=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEix_9Pg9uDhiZqukM_tY4Xkzf1KoIZRvXfM8VG1lUOFmuzYOqsQZCvwkBDqi7jtLe00iTby5XMsR6m2ESHF7wv9f_eF2I2OGhGJswjO-zdlbxIicvKlzAe0Tg5U3A2w8MOc37fN_YCTkS9ZmDz1Nkw23seFJn91XWcRxda8POAnO8e7pElfWoPPXZ60Q4c\/s1600\/image3.gif\" name=\"twitter:image\"\/><br \/>\n<img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEix_9Pg9uDhiZqukM_tY4Xkzf1KoIZRvXfM8VG1lUOFmuzYOqsQZCvwkBDqi7jtLe00iTby5XMsR6m2ESHF7wv9f_eF2I2OGhGJswjO-zdlbxIicvKlzAe0Tg5U3A2w8MOc37fN_YCTkS9ZmDz1Nkw23seFJn91XWcRxda8POAnO8e7pElfWoPPXZ60Q4c\/s1600\/image3.gif\" style=\"display: none;\"\/><\/p>\n<p><em>Posted by Ben Weiss, Senior Developer Relations Engineer<\/em><\/p>\n<p><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEix_9Pg9uDhiZqukM_tY4Xkzf1KoIZRvXfM8VG1lUOFmuzYOqsQZCvwkBDqi7jtLe00iTby5XMsR6m2ESHF7wv9f_eF2I2OGhGJswjO-zdlbxIicvKlzAe0Tg5U3A2w8MOc37fN_YCTkS9ZmDz1Nkw23seFJn91XWcRxda8POAnO8e7pElfWoPPXZ60Q4c\/s1600\/image3.gif\"><img decoding=\"async\" border=\"0\" data-original-height=\"800\" data-original-width=\"100%\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEix_9Pg9uDhiZqukM_tY4Xkzf1KoIZRvXfM8VG1lUOFmuzYOqsQZCvwkBDqi7jtLe00iTby5XMsR6m2ESHF7wv9f_eF2I2OGhGJswjO-zdlbxIicvKlzAe0Tg5U3A2w8MOc37fN_YCTkS9ZmDz1Nkw23seFJn91XWcRxda8POAnO8e7pElfWoPPXZ60Q4c\/s1600\/image3.gif\"\/><\/a><\/p>\n<p><a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.nordvpn.android&amp;hl=en_US&amp;gl=US&amp;pli=1\" target=\"_blank\" rel=\"noopener\">NordVPN<\/a> is a virtual private network (VPN) app that protects users while they\u2019re browsing the web by providing them a more secure and private connection. As a network utility, NordVPN\u2019s users deserve a responsive UI, allowing them to set up their protections at a moment\u2019s notice. That&#8217;s why NordVPN developers recently integrated <a href=\"https:\/\/developer.android.com\/topic\/performance\/baselineprofiles\/overview\" target=\"_blank\" rel=\"noopener\">Baseline Profiles<\/a>, a profile-guided optimization that helps Android developers improve an app&#8217;s startup and runtime performance using ahead-of-time compilation.<\/p>\n<h3>Improving performance with Baseline profiles<\/h3>\n<p>As part of its product roadmap for 2023, the NordVPN team wanted to boost the application\u2019s performance. Before implementing Baseline Profiles, NordVPN\u2019s startup times on Android devices didn\u2019t meet the team\u2019s standards, prompting them to examine new ways to make the app run better.<\/p>\n<p>After exploring ways to improve its runtime performance and streamline the login process for users, NordVPN developers identified an opportunity to make the app faster using Baseline Profiles. Baseline Profiles lets the Android Runtime (ART) know which code paths to optimize through Ahead-of-Time (AOT) compilation before an app launches, boosting speed, stability, and overall responsiveness during startup, when navigating through the app, and while viewing content.<\/p>\n<p>\u201cApp speed and stability are essential for a better user experience, so we\u2019re always looking for new ways to improve NordVPN\u2019s performance,\u201d said Himanshu Singh, senior Android engineer at NordVPN. \u201cWe wanted to speed up the app\u2019s load time and make launch and navigation faster than ever.\u201d<\/p>\n<p>By <b>applying Baseline Profiles, NordVPN improved its launch speed by an average of 24%.<\/b> Using tools like <a href=\"https:\/\/developer.android.com\/topic\/performance\/vitals\/launch-time\" target=\"_blank\" rel=\"noopener\">Android Vitals<\/a>, the NordVPN team measured that it had reduced the application\u2019s <a href=\"https:\/\/developer.android.com\/topic\/performance\/vitals\/launch-time#cold\" target=\"_blank\" rel=\"noopener\">cold start<\/a> time from 4.3 seconds to 3.2 seconds, the warm start time from 2.7 seconds to 1.8 seconds, and the hot start time from 1 second to 0.7 seconds.<\/p>\n<p>After implementation, NordVPN developers&#8217; also noticed that Baseline Profiles made it faster for users to login to the app, improving the user login flow. The login flow is measured from when a user starts an app to when a user is logged into it. Using the <a href=\"https:\/\/developer.android.com\/topic\/performance\/benchmarking\/macrobenchmark-control-app\" target=\"_blank\" rel=\"noopener\">Macrobenchmark<\/a> library to monitor the improvements, the team observed that <b>the NordVPN app runs its login flow 60% faster than before.<\/b><\/p>\n<p><image><\/p>\n<div style=\"text-align: center;\"><img decoding=\"async\" alt=\"A black quote card featuring a headshot if Ernestas on the right with text in white that reads \u201cThe introduction of Baseline Profiles helped us achieve outstanding results, elevating our application\u2019s speed with minimal effort.\u201d \u2014 Ernestas Bal\u010di\u016bnas, engineering lead at NordVPN\" border=\"0\" id=\"imgCaption\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEh6jtumDl6v87ydw0J7JLDf1oiZgLWm5L8U0oKxQVfqh9sYEbV9TkE0FeMR4Ixrm1m1mYo8HKzXWx5srwMZzGyVLGeIsbHSBKDQLzNqlvHVyUn8kFYASGuu3OtpTuE555w-PiXqu4fT1lPU0j_JpuAspBBTGUAxu7UJ-izZYL3f2fLkAa5Uv3DcLo7eT0Y\/s1600\/image8.jpg\" style=\"margins: auto; width: auto;\"\/><\/div>\n<p><\/image><\/p>\n<h3>Integrating and testing Baseline Profiles is easy<\/h3>\n<p>The ease of implementing Baseline Profiles impressed NordVPN developers. The available resources, in-depth <a href=\"http:\/\/d.android.com\/baseline-profiles\" target=\"_blank\" rel=\"noopener\">documentation<\/a>, and <a href=\"https:\/\/developer.android.com\/get-started\/codelabs\" target=\"_blank\" rel=\"noopener\">codelabs<\/a> from Android allowed them to enhance the app\u2019s UX without having to write an extensive amount of code themselves.<\/p>\n<p>Using the <a href=\"https:\/\/developer.android.com\/topic\/performance\/benchmarking\/macrobenchmark-overview\" target=\"_blank\" rel=\"noopener\">Macrobenchmark library<\/a>, NordVPN developers quickly generated Baseline Profiles for the application. To do this, they used a <a href=\"https:\/\/developer.android.com\/topic\/performance\/baselineprofiles\/configure-baselineprofiles#support-gmd\" target=\"_blank\" rel=\"noopener\">Gradle managed device<\/a>, which enabled them to create new profiles without a physical device. Using a Gradle Managed Device also allowed NordVPN developers to <a href=\"https:\/\/developer.android.com\/topic\/performance\/baselineprofiles\/configure-baselineprofiles#auto-generate-for-releases\" target=\"_blank\" rel=\"noopener\">create fresh profiles<\/a> for each app release build on their Continuous Integration platform. Looking forward, NordVPN developers plan to migrate Baseline Profile generation to the <a href=\"https:\/\/developer.android.com\/topic\/performance\/baselineprofiles\/configure-baselineprofiles\" target=\"_blank\" rel=\"noopener\">official Gradle plugin<\/a>, which will further automate profile generation.<\/p>\n<p>NordVPN developers combined development workflows to create an integration pipeline, allowing them to test the app under various conditions. Then, the Macrobenchmark library ran Baseline generation tests, pushing the latest Baseline Profiles into the code base.<\/p>\n<p><image><\/p>\n<div style=\"text-align: center;\"><img decoding=\"async\" alt=\"A black Quote card featuring droid on the right side and a green half oval overlay on the left with white text that reads, 'Applying Baseline Profiles in the NordVPN application led to a 29% improvement to overall in-app speed.'\" border=\"0\" id=\"imgCaption\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjAgQLjgYmQccIWg_24SS1dRnwcYsuAw8DX2zlSxDFRlyoqmyIjPdGSqVFPCrIfKjw8VGRbA1jBcrFOCnsNxrrrH0Y5JL66zhVYtygS-UE5lYHFmapJHzb8JEOwc5bWsV5BvkfnYpmwOBItT4gDe_f0DdQ9UkpJ_ffnt7j5IqQT1Fxk-rf9EIdVui3rgHU\/s1600\/image2.jpg\" style=\"margins: auto; width: auto;\"\/><\/div>\n<p><\/image><\/p>\n<h3>A quick boost to app quality<\/h3>\n<p>After integrating Baseline Profiles into NordVPN\u2019s code, its developers saw immediate speed improvements. The engineering team assessed the app\u2019s overall speed after finishing the project and found that, beyond improving the app\u2019s launch times, <b>applying Baseline Profiles led to a 29% improvement to overall in-app speed<\/b>.<\/p>\n<p>&#8220;We\u2019re constantly working to improve app quality, and Baseline Profiles integration has proven to be one of the most successful steps we\u2019ve taken,\u201d said \u0160ar\u016bnas Rim\u0161a, product owner at NordVPN. \u201cWe\u2019re helping users access the services they\u2019re entitled to faster. What&#8217;s not to like?&#8221;<\/p>\n<h3>Get started<\/h3>\n<p>Learn how you can improve your app\u2019s performance using <a href=\"https:\/\/developer.android.com\/topic\/performance\/baselineprofiles\/overview\" target=\"_blank\" rel=\"noopener\">Baseline Profiles<\/a>.<\/p>\n<\/div>\n<p>[ad_2]<br \/>\n<br \/><a href=\"http:\/\/android-developers.googleblog.com\/2023\/11\/nordvpn-boosted-speed-of-login-user-flow-using-baseline-profiles.html\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Posted by Ben Weiss, Senior Developer Relations Engineer NordVPN is a virtual private network (VPN) app that protects users while they\u2019re browsing the web<\/p>\n","protected":false},"author":1,"featured_media":210084,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[146],"tags":[],"_links":{"self":[{"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/posts\/210083"}],"collection":[{"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/comments?post=210083"}],"version-history":[{"count":2,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/posts\/210083\/revisions"}],"predecessor-version":[{"id":340336,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/posts\/210083\/revisions\/340336"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/media\/210084"}],"wp:attachment":[{"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/media?parent=210083"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/categories?post=210083"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/michigandigitalnews.com\/index.php\/wp-json\/wp\/v2\/tags?post=210083"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}