Tag Archives: case study

U-NEXT sees 1.5X increase in tablet installations after boosting support for large screens

Posted by the Android team

As the largest domestic streaming and digital content service in Japan, U-NEXT is always looking for new ways to connect its users to their favorite content. With just a single application, the platform hosts an extensive library of over 840,000 titles, ranging from movies, anime, and live streams to manga, magazines, and e-books.

Always looking for ways to improve its UX for its expanding user base, U-NEXT recently turned to the growing market of large screens and foldables, which includes devices like tablets and Chromebooks. Here, U-NEXT engineers saw an opportunity to create a better way to view content by focusing on what makes these devices special. For example, better multi-window support on larger screens could offer a more visually rich UX, while an improved foldable UX might better mimic the experience readers get with a traditional paperback.

But some users bumped into bugs while using the U-NEXT app with these larger and foldable viewing formats. For instance, the app would often hide important buttons when users opened U-NEXT on larger screens, forcing them to search the page for those navigation tools.

To optimize a UX overhaul to support these formats, the U-NEXT team tackled the project in two phases: remove any existing bugs, then add the features that its large-screen users would benefit from the most.

Headshot of Tomoya Miwa, Principal engineer at U-NEXT, smiling, with text quote 'We wanted to provide a better user experience using the advantages of large screens and foldables'

Clearing out the bugs

To fix the visibility issue for important in-app navigation buttons, U-NEXT engineers used a ConstraintLayout to set constraint barriers. These barriers prevented UI elements from being pushed off-screen while ensuring they’re always oriented correctly, no matter the screen size.

What’s more, U-NEXT’s application didn’t always display properly on larger screens. For example, pages displaying browsable video lists typically consist of a header and a curated list of content. These lists are supposed to occupy most of the space on the page. But on larger screens, the headers occupied the most on-screen real estate, making video content harder to navigate. The U-NEXT team resolved this issue by restricting the width of the header image on larger screens, giving the list more space and making browsing easier for large-screen users.

When users view books on the U-NEXT application, they can tap the screen to reveal a horizontal, scrollable wheel that lets them quickly and easily navigate their place in the text. But when users tried to access this navigation tool on Chromebooks, it wouldn’t appear on the page.

“Originally, we used SystemUiVisibility to determine whether a Chromebook was full-screen when a user tapped it,” said Tomoya Miwa, principal engineer at U-NEXT. “If SystemUiVisibility detected it wasn’t full screen, it’s supposed to display the controller. However, this listener isn’t called on when SystemUiVisibility is changed on Chromebooks, so the controller couldn’t be displayed.”

This meant U-NEXT had to change how they manage the visibility of the controller when SystemUiVisibility changes on Chromebooks. After this bug fix, the application would hide and display the controller at the same time when the screen is tapped on a Chromebook, resolving the issue for these users.

The last bug U-NEXT devs tackled was one that temporarily disrupted video when users folded their device during viewing. Switching device orientation while viewing content is supposed to be seamless, but the automatic deletion and recreation of the Activity during orientation changes caused videos to momentarily cut out.

Instead of letting Android handle these configuration changes automatically, U-NEXT developers changed the app to handle them manually. Using onConfigurationChanged(), the team overrode the change and prevented the UI elements from automatically being deleted and recreated, letting the app preserve them and prevent any viewing interruptions.

Making the most with more form factors

As part of its feature overhaul, U-NEXT replaced the traditional navigation bar with a navigation rail, which U-NEXT engineers anticipated would significantly improve the user experience. U-NEXT made this change in line with Android’s Do’s and Don't for Large Screens presentation from its recent Android Developer Summit, which provided best practices for developers optimizing for large screens.

“Reachability is an important factor when it comes to curating comfortable user experiences,” said Tomoya. “With a traditional, horizontal navigation bar, it makes it difficult to reach the buttons in the middle. With a navigation rail, it becomes much easier to reach these buttons.”

Image showing side by side rendering of UI before the implementation of the navigation rail on the left and after on the right

Next, the team enhanced support for two-page spreads when users viewed any e-books content on large screens. Apps typically display a single page when devices are oriented vertically on large screens and foldables. But because most large screens and foldables offer plenty of room for a double-page view, U-NEXT developers wanted to ensure users would always see a double-page spread whether in portrait or landscape orientation—even when the device was slightly folded.

The U-NEXT team also included some smaller, quality-of-life updates to make the user experience for large screens and foldables even better. These included enhancing the app’s compatibility with Compose by ensuring the Navigation component was consistent on every screen size, adding better support for Google Play in-app billing on large screens, and optimizing picture-in-picture viewing.

'The number of installations on tablets increased by more than 1.5x following the update for large screen devices.' — Tomoya Miwa, principal engineer at U-NEXT

Android support makes optimization easy

The U-NEXT team was surprised by how easy it was to optimize its app for large screens and foldable devices. Thanks to Android’s developer resources, U-NEXT was able to improve content viewing on its app, across devices, while also minimizing time and effort.

“It’s not that difficult,” said Tomoya. “Introducing the navigation was relatively easy, and foldable support in general is not hard as long as your app is compatible with basic screen rotation.”

Since updating the U-NEXT app to better support large screens, tablet installations have increased by 1.5X. Additionally, the watch time from users on large screen devices jumped by more than 10%.

Looking forward, the U-NEXT team plans to keep expanding its app’s large screen capabilities by enhancing mouse and keyboard compatibility, introducing list detail view to improve search functionality, adding greater support for tabletop mode, and implementing drag-and-drop features to make content sharing easier.

U-NEXT is excited to see Android add more resources to its large and expanding list of documentation, including the recently updated Material 3 library, which will further help support the growing number of users with large screen and foldable devices.

Start optimizing for large screens today

More people are using large screens, foldables, and other up-and-coming form factors. Learn how you can better support your users on these devices with examples from Android’s Large Screen Gallery.

Clue’s development speed improves 3X after rebuilding the app with Jetpack Compose

Posted by the Android team

Clue is a freemium menstrual health application founded in 2012 and was among the earliest developers in femtech. The app helps women and people who menstruate track their cycles and serves 11 million monthly active users in over 190 countries. Additional features, including tools for tracking prenatal and postpartum health, are available through the app’s subscription tier, Clue Plus.

Having access to streamlined and easily digestible menstrual health data can be an invaluable resource for people who menstruate, and Clue has supported these insights for Android users for over a decade. As with any codebase, however, the Clue app inherited technical debt. This limited the team’s ability to push changes and features quickly, scale developer efforts, and provide a modern UI to its users.

Clue previously relied heavily on custom views that made extending the existing codebase difficult and required time-consuming testing methods that slowed the development process. Clue’s codebase had additionally amassed UI inconsistencies from hard-coded theme values such as colors and sizes, and in 2022 Clue’s engineers recognized that they needed a more efficient and flexible solution. They ultimately landed on migrating to Jetpack Compose, Android’s modern toolkit for building native UI.

“We decided that a complete rewrite of the application, with a specific emphasis on the UI layer, would be the best course of action,” said Moctezuma Rojas, an Android developer at Clue. “This decision was based on the fact that it would enable us to have a more efficient and faster development cycle, quickly implement features that would have taken much longer to develop using views, and make our code more testable.”

Building a faster and more efficient codebase with Compose

The Clue team saw immediate benefits by rewriting its app with Compose. For one, a faster, more efficient testing and development cycle significantly reduced the time and effort necessary to improve the codebase while reducing bugs and errors. Compose also enabled Clue’s engineers to implement features faster than they could with Views.

Migrating the app to Compose resulted in improved testability for screens, faster development from ideation to release, and better standardization processes that aligned with the best practices recommended by Android developer resources. Compose also helped the Clue team double—and in some cases, triple—their development speed when compared to the old codebase.

“With the traditional view system, adding new features, visual representations, or user interactions was difficult due to the need for custom view creation and maintenance. However, by utilizing Jetpack Compose, we've been able to effortlessly develop and expand the Cycle View feature without any limitations in adding elements,” said Moctezuma.

Photo of Moctezuma Rojas, Android developer at Clue,smiling while snuggling a cat, with quote text which reads, '...By utilizing Jetpack Compose, we've been able to effortlessly develop and expand the Cycle View feature without any limitations in adding elements.'

Compose also helped Clue’s developers quickly overhaul several other important features within the application, including Calendar View, Analysis View, and the account management and settings screens.

More creativity made possible with Compose

Compose enabled developers to make Clue screens more intuitive, improve scrolling, and deploy a custom color system and component library that aligned with the brand—a huge win for the team. Previously, adding new features, visual representations, or user interactions was complicated because they required creating a custom view and ongoing maintenance.

Compose APIs made it much easier to test UI so Clue developers felt more confident about what they were shipping to users. As an added benefit, Clue developers now have more space for exploring UX innovation.

“The custom dynamic theming allows designers to freely explore their creativity without being limited by technological constraints,” said Moctezuma. “It provides a flexible and scalable approach to styling that can be easily adapted as our app evolves and grows, resulting in a visually appealing and cohesive user experience.”

All of these changes vastly improved the user experience for Clue subscribers, resulting in fewer error messages and bug reports. The Clue team also says that using Compose has enabled them to identify areas of improvement in the app’s code that could have potentially impacted its users.

“Compose increases developer velocity by eliminating boilerplate code, works seamlessly with the existing code base thanks to its Interoperability APIs, and improves UI testing—which has always been painful in Android development,” said Tilbe Saltan, a senior Android developer at Clue.

Continued success with Jetpack Compose

Compose has improved each subsequent app release and made preview and live editing features more reliable for Clue engineers, allowing for a more flexible development experience from start to finish. Since implementing Compose, the Clue team has also seen excitement from prospective candidates interested in working on the app so they can work with more modern development technologies.

“The future of Compose holds many potential development areas that could benefit developers and companies. As Compose continues to evolve, we can expect to see more improvements in performance, stability, tooling, and cross-platform support, which will make it an even more compelling choice for building high-quality UIs,” said Tilbe.

Get started

Optimize your UI development with Jetpack Compose.

Mercari reduces 355K lines of code, a 69% difference, by rebuilding with Jetpack Compose

Posted by the Android team

In 2020, the Mercari team took on a big initiative to update its app’s technical infrastructure. At the time, its codebase was seven years old and hadn’t undergone any major architectural updates. This affected the team’s ability to develop new features and release timely app updates. To resolve this technical debt, Mercari launched what it called the GroundUP initiative—a complete rewrite of its application across platforms, including Android.

The goal was to create a completely modernized application with a scalable design. While retooling the app, Mercari developers turned to Jetpack Compose, Android’s modern declarative toolkit for creating native UI. During the evaluation, the team learned rewriting in Jetpack Compose would help clean up their codebase and have more control over how the app looks.

A rewrite with less code

The Mercari team completely rewrote the architecture and tech stack for its Android app using Jetpack Compose. Mercari developers created a new design system and completely integrated it using Compose, enabling them to easily test and implement new features. Using this new design system, the Mercari team rewrote more than 130 UI screens for its marketplace and modernized the look and feel of many of their components.

With the help of the Jetpack Libraries, Mercari’s team eliminated all legacy code during the rewrite, drastically reducing its codebase and making it more manageable for developers. “Virtually, it’s the same app with way less code,” said Allan Conda, Android technology lead at Mercari. “The rewritten app has about 355,000 fewer lines of code, which is about 69% less than what it had before.”

Moving image showing lines of code that appear and disappear on the leftmost panel of the screen. The spacing between the boxes in the center panel changes, and the overall app view reflects these changes in the rightmost panel.

Interoperability with Views as an early adopter

When the Mercari team first began its GroundUP initiative, Jetpack Compose was only available in developer preview. They wanted the app written completely in Jetpack Compose due to its new declarative approach to creating UI. However, because it was still so new, they found themselves having to solve for unique edge cases using both toolkits.

For example, on Mercari’s listing form screens, users are prompted to input details about the merchandise they want to list. Users were then supposed to be able to select photos from their device gallery and rearrange them on this screen using a drag gesture. Gesture APIs weren’t available in Jetpack Compose at the time, so the team took advantage of Compose's AndroidView to seamlessly integrate Views that handled gestures on the listing form screen. This provided a stable yet temporary solution to implementing drag gestures until the feature became available with Jetpack Compose.

The Mercari team was impressed by how easy it was to switch between the two toolkits, and having the option to use Views alongside Compose gave them better control of edge cases like this. Compose now supports gesture APIs, and Mercari developers have since completely written and integrated the drag gesture component solely using Compose.

Jetpack Compose has matured a lot since Mercari’s initial adoption, and most Android developers no longer need to worry about having to interoperate with both toolkits as Android apps can now be written completely in Compose.

Improving and monitoring performance with Compose

Using Compose, the Mercari team automated baseline profile generation for every stable release of the app and found it to be really helpful. The home screen renders frames up to 2x faster with the default Compose baseline profile compared to without a baseline profile. By providing a custom profile, there’s an additional improvement of up to 20% faster when Mercari users are scrolling compared to just having the default baseline profile.

The team also wrote automated performance tests based on the app’s core scenarios with Android Macrobenchmark. “Using Android Macrobenchmark, we can automatically test start-up, scroll, and screen load times performance,” said Allan. “Currently, we have six core scenarios covered by these tests, like search results and browsing items.”

Additionally, Mercari developers integrated Firebase Performance Monitoring, a real-time app performance monitoring tool, with custom code to calculate scrolling performance on Compose screens. With Firebase Performance Monitoring, the Mercari team detected a performance issue on its search result screen. Using the Android Profiler to pinpoint the problem, Mercari developers discovered there were poor frame rates when scrolling search results. This resulted in the slow rendering instances being reduced by around 23.6%.

The Mercari team solved this frame rate issue with guidance from Google’s Compose performance best practices and Compose stability. Mercari developers had the app skip its Composables and hoist the unused states on the search results screen, significantly improving the frame rates.

Headshot of Allan Conda, Android Tech Lead at Mercari, similing, with quote text reads 'Jetpack Compose helped us implement our Design System and rewrite 130+ screens and many of our components'

More opportunities with Jetpack Compose

With less code to maintain, it’s much easier for Mercari developers to test and implement features. “We have a ton of experiments we can finally conduct using our refreshed platforms. Our users can expect new features coming to the Mercari app at a faster rate,” said Allan.

Mercari’s developers are excited to further develop the app using Animation APIs. With Compose, it’s much easier to animate components, which can result in huge improvements for Android UXs.

Get started

Optimize your UI development with Jetpack Compose.

Concepts users spend 70% more time using the app on tablets than on phones

Posted by the Android team

Concepts is a digital illustration app created by TopHatch that helps creative thinkers bring their visions to life. The app uses an infinitely-large canvas format, so its users can sketch, plan, and edit all of their big ideas without limitation, while its vector-based ink provides the precision needed to refine and reorganize their ideas as they go.

For Concepts, having more on-screen real estate means more comfort, more creative space, and a better user experience overall. That’s why the app was specifically designed with large screens in mind. Concepts’ designers and engineers are always exploring new ways to expand the app’s large screen capabilities on Android. Thanks to Android’s suite of developer tools and resources, that’s easier than ever.

Evaluating an expanding market of devices

Large screens are the fastest growing segment of Android users, with more than 270 million users on tablets, foldables, and ChromeOS devices. It’s no surprise then that Concepts, an app that benefits users by providing them with more screen space, was attracted to the format. The Concepts team was also excited about innovation with foldables because having the large screen experience with greater portability gives users more opportunities to use the app in the ways that are best for them.

The team at Concepts spends a lot of time evaluating new large screen technologies and experiences, trying to find what hardware or software features might benefit the app the most. The team imagines and storyboards several scenarios, shares the best ones with a close-knit beta group, and quickly builds prototypes to determine whether these updates improve the UX for its larger user base.

For instance, Concepts’ designers recently tested the Samsung Galaxy Fold and found that users benefited from having more screen space when the device was folded. With help from the Jetpack WindowManager library, Concepts’ developers implemented a feature to automatically collapse the UI when the Galaxy’s large screen was folded, allowing for more on-screen space than if the UI were expanded.

Foldable UI

Concepts’ first release for Android was optimized for ChromeOS and, because of this, supporting resizable windows was important to their user experience from the very beginning. Initially, they needed to use a physical device to test for various screen sizes. Now, the Concepts team can use Android’s resizeable emulator, which makes testing for different screen sizes much easier.

Android’s APIs and toolkit carry the workload

The developers’ goal with Concepts is to make the illustration experience feel as natural as putting pen to paper. For the Concepts team, this meant achieving as close to zero lag as possible between the stylus tip and the lines drawn on the Concepts canvas.

When Concepts’ engineers first created the app, they put a lot of effort into creating low-latency drawing themselves. Now, Android’s graphical APIs eliminate the complexity of creating efficient inking.

“The hardware to support low-latency inking with higher refresh rate screens and more accurate stylus data keeps getting better,” said David Brittain, co-founder and CEO of TopHatch, parent company of Concepts. “Android’s mature set of APIs make it easy.”

Concepts engineers also found that the core Android View APIs take care of most of the workload for supporting tablets and foldables and make heavy use of custom Views and ViewGroups in Concepts. The app’s color wheel, for example, is a custom View drawing to a Canvas, which uses Animators for the reveal animation. View, Canvas, and Animator are all classes from the Android SDK.

“Android’s tools and platform are making it easier to address the variety of screen sizes and input methods, with well-structured APIs for developing and increasing the number of choices for testing. Plus, Kotlin allows us to create concise, readable code,” said David.

Concepts’ users prefer large screens

Tablets and foldables represent the bulk of Concepts’ investments and user base, and the company doesn’t see that changing any time soon. Currently, tablets deliver 50% higher revenue per user than smartphone users. Tablets also account for eight of the top 10 most frequently used devices among Concepts’ users, with the other two being ChromeOS devices.

Additionally, Concepts’ monthly users spend 70% more time engaging with the app on tablets than on traditional smartphones. The application’s rating is also 0.3 stars higher on tablets.

“We’re looking forward to future improvements in platform usability and customization while increasing experimentation with portable form factors. Continued efforts in this area will ensure high user adoption well into the future,” said David.

Start developing for large screens today

Learn how you can reach a growing audience of users by increasing development for large screens and foldables today.

Kakaonavi increased foldable adoption by 24.5% after optimizing its app for large screens

Posted by the Android team

Kakaonavi prides itself on providing fast, accurate routes while offering several other helpful features, including directions to the nearest EV charging stations, car wash order services, navigation data, maintenance reminders, and more. As Korea’s top ranking driving assistant, Kakaonavi wants to make the daily driving experience as easy as possible for its users. Recently, that meant making its services consistent across devices.

With an increasing number of people using large screen and foldable Android devices, Kakaonavi saw a need to evolve its application to optimize the driving experience across all screen shapes and sizes. To do this, the Kakaonavi team focused on establishing a high-quality user experience for large screens by using Android’s latest software features.

Meeting the growing demand for large screens and foldables

Before updating its app, Kakaonavi’s user experience wasn’t tailored for large screens and foldables. The different sizes of devices caused the UI to be displayed improperly on them, which affected the user experience because screen ratio and resolution have a significant impact on usability.

Kakaonavi also recognized that many of its users preferred foldables because they’re easier to position in vehicles, allowing drivers to prop their device on a dashboard or center console. “The reason we decided to focus on foldables is due to the flexible display options provided by them,” said Jaesun Lee, Android developer at Kakaonavi. “Drivers can view the map however they prefer depending on how they fold or unfold the device inside their vehicle.”
ALT TEXTAdditionally, some drivers, including professionals like truck drivers and taxi drivers, use Kakaonavi with three to four other apps simultaneously through Android OS’s split-screen mode. At the time, the Kakaonavi team had only established this type of multi-window supportfor devices with standard resolutions, leading to some of its users experiencing UI issues when trying to run multiple applications at once.

Cohesive experiences across form factors

Developers at Kakaonavi addressed these issues by creating a common UI for large screen and foldable devices. They needed to ensure the UI was consistent whether the device was folded or unfolded, or in portrait or landscape mode. The UI also had to work efficiently while users ran multiple apps on their device’s main display. Because the ability to display map and location information on a larger screen is one of the benefits of these devices, creating consistency across layouts was essential to Kakaonavi’s success.

Using ConstraintLayout, which lets developers create large, complex layouts with a flatter app structure, the Kakaonavi team displayed a uniform, responsive UI regardless of the screen size or ratio. To handle configuration changes that are common on these devices, such as resizing windows or orientation changes, Kakaonavi's developers overrode onConfigurationChanged().

Overriding onConfigurationChanged() ensured the app ran smoothly on all screen sizes and during view mode changes by preventing the system from recreating UI elements triggered by folding and unfolding a device or opening multiple windows. Manually configuring these changes to preserve UI elements, rather than automatically deleting and recreating them, drastically improved the app’s UI performance for these new form factors.

“Since the map and UI state are updated frequently by GPS, we decided that the app would perform better by responding only to changes in screen orientation and screen size with onConfigurationChanged(), rather than restoring the previous state by restarting the Activity,” said Jaesun.

The Kakaonavi team also used multi-resume to enhance the app’s multi-window support for large screens and foldables. Multi-resume lets its users keep multiple applications in an active state while on screen, making multitasking more convenient and reliable.


Positive results and expanding opportunities

The number of people using large screen and foldable devices has grown significantly and will continue to grow as more of these devices become available. Currently, there are more than 270 million large screen Android devices in use, including tablets, foldables, and Chrome OS devices.

Kakaonavi has seen this same trend in devices used by its consumers. Since the brand began optimizing its application for large screens in January 2022, its number of monthly active users who use the app on foldables has increased by 24.5%, and the company has received positive feedback from drivers using tablets and foldables as their main source of navigation. As of today, Kakaonavi is optimized for all available tablets and foldables.

The Kakaonavi team is excited by the opportunities these new form factors will bring by giving its users more ways to interact with the app. Looking ahead, the brand plans to further optimize its UI with Jetpack Compose and is already considering how to further tailor its multi-window support to large screens and foldables.

“There will be more devices with various screen sizes and ratios in the future,” said Jaesun. “That’s why we believe it’s important to always provide an optimized UI and meet the needs of consumers’ frequently changing screens.”

Optimize your app for all form factors

Learn how you can optimize your application for large screens and upcoming form factors.

Withings reduces 50% of its data sync code by streamlining health and fitness API integrations with Health Connect

Posted by the Android team

French consumer electronics company Withings hosts one of the largest ecosystems of digital health and wellness products in the world. The company’s products include smart watches, smart scales, blood pressure monitors, and its own health-tracking application. Formerly known as Health Mate, the Withings application gives Withings users an easy way to track all of their health information—like activity, weight, ECG records, and sleep—obtained from Withings devices.

While Withings works to create a central hub for its users to access their health-related data, the number of devices and applications for monitoring health has grown substantially. And as health and fitness data spread across multiple platforms, it can be difficult for users to easily track and analyze this information.

To extend access to additional metrics and give Withings users a chance to use the application with their non-Withings apps and devices, Withings integrated Health Connect, Android’s latest API offering that gives users a simpler way to consolidate and share their health and fitness data across applications.

Health data is more powerful together

Before integrating Health Connect, Withings users had to manually activate which health and fitness apps could sync data to and from the Withings app. Now, thanks to Health Connect, its users can grant permissions to new health and fitness applications and automatically sync their data to the Withings app, letting them find their data in one easy-to-manage place.

“We integrated Health Connect in Withings app to grow our health sphere and offer a more complete experience to our users by supporting a wider range of data,” said Sophie Zecri, a mobile software engineer at Withings. “Health Connect helped us create a richer health-tracking interface and a more efficient overview for users.”

By uniting health data using the Health Connect API, Withings application offers its users a more holistic view of their health and makes it easier to develop a deeper understanding of key health insights with the data they gather.

For instance, Withings’ users can now combine their other workout- or calorie-tracking applications with the Withings app. By doing this, users can more easily track how changes in one area of their health may be affecting another. Additionally, the Withings app can provide greater guidance and more specialized programs to meet each user's unique needs, such as specific dietary recommendations and recipes or more specialized exercise programs.

Withings also wanted the data available through the Withings application to be accessible in its users' other health and fitness apps. Integrating with Health Connect made this possible. “We wanted to extend access to additional metrics, giving our users a chance to use Withings devices with their other applications,” said Sophie.

Ensuring that users felt in control of their data was also a top priority for the Withings team. They saw Health Connect as a powerful tool that’s equally secure for both Withings and its users. With Health Connect, users can easily manage permissions in one place, with granular controls to see which apps are accessing data at any given time. And for Withings, setting up permission checks was as easy as dropping in a simple piece of code provided by Health Connect.

Simplify connectivity between apps with Health Connect

The amount of work required to connect with other third-party health and fitness applications was Withings’ biggest roadblock to giving its users access to additional syncs. All the APIs for every other app, with all their unique code, made integrations complex and expensive for Withings to maintain.

“Connecting with other apps’ APIs was onerous. Any changes had to be repeated for every API, which meant expanding the codebase and increasing the risk of bugs that could impact Withings app’s quality,” said Sophie.

Health Connect lets Withings developers maintain less code while preserving stability and minimizing potential bugs. This translates to a reduced codebase and increased productivity for other projects. By integrating Health Connect with the Withings app, Withings reduced the amount of code related to data sync with third-party applications by 50%.

Headshot of Sophie Zecri, Mobile Software Engineer at Withings, with quote, 'Integrating Health Connect was really rewarding for us. We're thrilled we can enrich the user experience by generating true synergy, letting users  dive deeper into the details of their health aspects.'

Preparing for a future with Health Connect

The Withings team attributes much of its success to the available Android resources for developers looking to integrate Health Connect with their company’s app. Withings developers used the Health Connect UX developer guide to aid the integration, and they used the Health Connect toolbox for testing and to understand how Withings app behaves with other applications that have integrated Health Connect.

The Withings team is excited to support new data types as its product range grows and new biomarker measurements become available. Currently, the company plans to expand its use of Health Connect by adding more data types related to women’s health.

“I would recommend Health Connect to other engineers looking to unite data for its users,” said Sophie. “Health Connect is a powerful, interesting, and easy tool to use.”

Join the many other apps using Health Connect today

Streamline integrations with other health and fitness apps while providing your users with deeper health insights using Health Connect.

Get started by viewing Android’s Introduction to Health Connect. Then, head over to the Health Connect Codelab and learn how you can integrate the Health Connect API today.

Google Home reduces #1 cause of crashes by 33%

The Google Home app helps set up, manage, and control your Google Home, Google Nest, and Chromecast devices—plus thousands of connected home products like lights, cameras, thermostats, and more.

The engineering team behind the Google Home app benefits from using Kotlin and Android Jetpack libraries to boost engineering productivity and developer happiness.

What they did:

The Google Home team decided to incorporate Kotlin into their codebase to make programming more productive and to enable the usage of modern language features like var/val, smart casts, coroutines, and more. As of June 2020, about 30% of the code base is written in Kotlin, and Kotlin development is encouraged for all new features.

The team also adopted Jetpack libraries to improve developer velocity, decrease the need for boilerplate code maintenance, and reduce the necessary amount of code. Jetpack libraries also helped make their code more testable, since there are clearer functional boundaries and APIs.


"Efficacy and writing less code that does more is the ‘speed’ increase you can achieve with Kotlin.” - Jared Burrows, Software Engineer on Google Home

Switching to Kotlin resulted in a reduction in the amount of required code, compared to the equivalent of existing Java code. One example is the use of data classes and the Parcelize plugin: a class which was 126 hand-written lines in Java can now be represented in just 23 lines in Kotlin—an 80% reduction. Additionally, equality and parcelizing methods can be automatically generated and kept up to date. Many nested loops and filtering checks were also simplified using the functional methods available in Kotlin.

Because Kotlin can make nullability a part of the language, tricky situations can be avoided, like when inconsistent usage of nullability annotations in Java might lead to a missed bug. Since the team started migrating to developing new features with Kotlin, they saw a 33% decrease in NullPointerExceptions. Since this is the most common crash type on Google Play Console, reducing them led to a dramatically improved user experience.

With a large, mature app like Google Home—which has over a million lines of code—it’s helpful to be able to gradually add Jetpack libraries. Incorporating them allowed the team to consolidate and replace custom tailored solutions, sometimes even with a single library. Since Jetpack libraries can help engineers follow best practices and be less verbose (for example, using Room or ConstraintLayout), readability was increased as well. The team considers many of the newer Jetpack libraries ‘must-haves,’ including ViewModel and LiveData, both of which are used extensively in the Google Home codebase.

The Google Home app team found the Jetpack KTX integrations with Kotlin coroutines to be especially helpful. The team is now able to avoid tricky asynchronous programming bugs by associating coroutines with lifecycle-aware components like ViewModel.

Java is a registered trademark of Oracle and/or its affiliates.

Get Started:

Learn more about writing Android apps in Kotlin and using Android Jetpack libraries.

Deliver more relevant experiences with Optimize and AdWords

Search is one of the most important acquisition channels in a marketer’s toolkit. But it’s not enough to just optimize search ads. It’s essential to consider the entire customer journey and keep people engaged once they reach your site. That’s why we introduced an integration between Optimize and AdWords to make it easy for marketers to test and create personalized landing pages.

How Spotify boosted conversions with Optimize and AdWords

Spotify, one of the world’s leading audio streaming services, is just one example of a company that has successfully used the Optimize and AdWords integration to drive more conversions from their search campaigns. Spotify discovered that the most streamed content in Germany was actually audiobooks, not music. So they wanted to show German users that they have a wide selection of audiobooks, and also that the experience of listening to them is even better with a premium subscription. 

Using the AdWords integration with Optimize 360 (the enterprise version of Optimize), Spotify ran an experiment that focused on users in Germany who had searched for "audiobooks" on Google and clicked through on their search ad. Half of these users were shown a custom landing page dedicated to audiobooks, while the other half were shown the standard page. The custom landing page increased Spotify’s premium subscriptions by 24%. 

"Before, it was a fairly slow process to get all these tests done. Now, with Optimize 360, we can have 20 or more tests running at the same time. It’s important that we test a lot, so it doesn’t matter if we fail as long as we keep on testing,” said Joost de Schepper, Spotify’s Head of Conversion Optimization."

Watch Spotify’s video case study to learn more

Driving your own results

Today, we’re announcing three new updates to make it easier for all marketers to realize the benefits that Spotify saw from easily testing and creating more relevant landing pages:

1. Connect Optimize with the new AdWords experience

You can connect Optimize to AdWords in just a few steps. Follow these instructions to get started.

Not using the new AdWords experience yet? Make the switch to gain access to more actionable insights and faster access to new features.

2. Link multiple AdWords accounts at once

For advertisers that have many AdWords accounts under a manager account, individually linking each of those sub-accounts to Optimize can be time consuming.

Now, you can link your manager account directly to Optimize. This will pull in all your AdWords accounts at once, allowing you to immediately connect data from separate campaigns, ad groups, and more. To get started, switch to the new AdWords experience, and then you’ll see an option to link your manager account in your Linked accounts, learn more.

3. Gain more flexibility with your keywords

You can now run a single experiment for multiple keywords, even if they’re across different campaigns and ad groups. For example, test the same landing page for users that search for “chocolate chip cookies” in your “desserts” ad group and for users that search for “iced coffee” in your “beverages” ad group.

With the Optimize and AdWords integration, driving results through A/B testing is fast and simple. Sign-up for an Optimize account at no charge and get started today.

Happy Optimizing!

Test and Build for Mobile with Google Optimize

From buying new shoes to booking weekend getaways, mobile can make life more convenient for consumers — and create big wins for marketers. While 40% of consumers will leave a web page that takes longer than three seconds to load, 89% of people are likely to recommend a brand after a positive brand experience on mobile.1 That's why getting your mobile site in shape is more important than ever.

To create the seamless and responsive mobile site that consumers expect, you need the right tools, like Google Optimize. Optimize makes it easy to test different elements of your site to find the winning combination for the best mobile site possible. Now it’s even easier with our new responsive visual editor – and be sure to read on and learn how two of our clients found mobile success with Optimize 360, our enterprise version.

New! Preview your mobile site on any screen size 

While almost everyone has a mobile device, there are so many variations and screen sizes that it’s hard to take a one-size-fits-all approach to optimizing your mobile site. Now, once you’ve created your test page, you can use the new responsive editor to immediately preview what it looks like on any screen size. Or, if you want to see how it appears on a specific device, like a Nexus 7 or iPad, we’ve added more devices that you can select to preview. Learn more about the visual editor here.

Turn ideas to tests quickly 

The responsive visual editor in Optimize is just one solution to help marketers succeed on mobile. Our enterprise version, Optimize 360, makes it easy to make improvements to mobile sites efficiently and rapidly.

Dutch airline carrier Transavia Airlines turned to Optimize 360 to try out different ideas on its mobile site. In fact, the team runs about 10 A/B tests each month on the site, all without having to spend significant time or effort. And the best part? Time spent on analyzing the success of site tests has fallen by 50%. This allows Transavia to focus more on testing to improve its mobile site. Learn more in the full case study.

The path to mobile excellence starts with the customer journey 

Need some help determining what should test on your mobile site? Google Analytics 360 is a great place to start. You’ll be able to analyze any customer interaction, from search to checkout, to figure out which points of your purchase process need help. Then, once you’ve determined where your site needs work, using Optimize 360 to take action is simple, since it’s natively integrated with Analytics 360.

This is exactly how fashion retailer Mango used Analytics 360 and Optimize 360 to tackle its mobile site: After discovering that mobile visits to its online store had skyrocketed 50% year over year, Mango decided to dig a little deeper. In Analytics 360 Mango discovered that while many consumers browsed product listing pages, few were taking the next step to add products to their shopping cart. To reduce steps to checkout, Mango used Optimize 360 to include an “Add” button to product listing pages. This increased the number of users adding products to their carts by 49%. Find out more in the full case study.

Ready to optimize your own mobile site? 

Start testing new mobile experiences with the responsive visual editor in Optimize. This update is one that can help marketers do more on mobile — because whether it’s changing a button or fine-tuning a homepage with quick A/B tests, we’ve learned that small tweaks can make a big impact.

And, if you haven’t already, sign up for a free Optimize account and give it a try.

1 Google / Purchased: "How Brand Experiences Inspire Consumer Action" April 2017. US Smartphone Owners 18+ = 2010, Brand Experiences = 17,726.

Sigma Sport spins up 28% higher revenue with Google Optimize 360

If you’re a road cyclist or triathlete, chances are you know Sigma Sport. This global retailer sells bikes, clothing, energy bars, anti-chafe balm and everything else you need to power your way through your next big event — or just enjoy your next friendly ride in the country.

Recently Sigma Sport set out to address a vital need: to find more customers with high potential lifetime value. “Growth with high-value customers is key to our success,” says Nik Hill, the company’s Head of Digital. “We knew we needed to change our website experience to better engage these customers.”

To reach its goal, Sigma Sport turned to its agency, the digital conversion specialists Merkle | Periscopix. And together they turned to Google Optimize 360, part of the Google Analytics 360 Suite.

Using Optimize 360, Merkle | Periscopix created an experiment where they replaced Sigma Sport’s homepage carousel with brand-specific images of the site’s three top-performing brands: Castelli, Specialized, and Assos. Then they targeted the experiment to the audiences they had already built in Analytics.

This allowed Merkle | Periscopix to serve personalized experiences to fans of each brand. “We used the Analytics audience targeting feature in Optimize 360 to serve bespoke experiences to subsets of users,” says Shahina Meru, Associate Analytics Lead at Merkle | Periscopix. “We created three distinct Analytics audiences who had earlier bought or interacted with the top three brands, then used these as targeting rules in Optimize 360. Anyone who had looked at or bought a Specialized bike in the past, for instance, now saw Specialized products in their carousel.”

When Sigma Sport tested its new personalized home page, they saw right away that it was a hit with users. The experiment drove a 28% rise in revenue and a 32% increase in e-commerce conversion rate during the experiment. In fact, Sigma Sport saw uplift across the entire customer journey with a 90%+ probability to beat the baseline.

The bottom line: Personalization worked, both for bike-shopping customers and for Sigma Sport. Now Merkle | Periscopix is looking for more ways to enhance user experience with personalization from Analytics and Optimize 360.