Share on Twitter
Share on Facebook
Share on HackerNews
Share on LinkedIn

Building better mobile experiences: tips from Riot Games and Nextdoor

Building high quality, performant mobile apps is hard. Developers need to keep up with rapidly changing technologies, high user expectations, and competitive app stores.

We sat down with Julius Skripkauskas and Walt Leung to discuss how mobile developers can build better mobile experiences, including choosing the right technology, focusing on the right KPIs, and staying on top of trends in device formats and AI. Julius is currently building Riot Mobile, the official companion app for leading gaming development company Riot Games. Walt works on the iOS infrastructure team at Nextdoor, the neighborhood social networking app with more than 66 million users. Watch the full video or read the top tips below.

Should we build with native or cross platform frameworks?

Although Riot Mobile and Nextdoor are both native apps, Walt and Julius have previous experience with cross-platform frameworks like React Native and Flutter. These frameworks have their advantages. As Julius explains, “Cross-platform frameworks are great for prototyping when you want to pump out a lot of apps in a short time.”

Cross-platform frameworks may fall short if you’d like more precise control over performance details. Nextdoor initially used React Native but moved off it as they scaled and “needed to focus on performance… it ultimately became easier to maintain native stacks.” Julius noted that companies that do scale well with React Native “are very closely aligned to React Native frameworks themselves – they contribute back to the framework and are bigger companies that have teams around the technology itself.”

As mobile trends change fast, Julius wonders if another cross-platform player may emerge: “I’m interested in what will be the next big player in cross-platform. Is it going to be progressive web apps? Is it going to be something else?”

Should we start adopting declarative UIs?

React Native and Flutter started the declarative UI trend, and Android and Apple have followed suit with Jetpack Compose and SwiftUI, respectively. Nextdoor and Riot Games, built with native frameworks, have both introduced declarative UI frameworks into their projects. Walt estimates that the Nextdoor Android team is able to build twice as fast with Jetpack Compose (“declarative UI is definitely the way to go”).

Although Julius feels “quite certain” that the industry will move to declarative UI, he suggests that teams take a gradual approach: “if it’s new projects, definitely move to [Jetpack Compose]. If it is a pre-existing project, then you have to validate it against the migration cost.”

Why and how should we measure mobile app performance?

For Nextdoor and Riot Games, which have millions of mobile app users, ensuring their apps are highly performant is critical for the mobile experience. At Nextdoor, the health of their mobile app is such a high priority that Walt’s team consistently reports “TTI” or “time to interactive – essentially how soon it takes before your application is usable from when you touch the icon”— to company leadership. Sentry, Walt adds, makes it easy to quantify the user impact of other performance issues, like app hang rates for iOS, so their team can prioritize fixes.

Given how competitive the gaming space is, Riot Games has been tracking performance for a while. Initially, they were using Firebase Performance Monitoring, but when they realized it “wasn’t enough” to meet their needs for ensuring their app’s performance, they looked into other options. Ultimately, they chose Sentry because it was “very clearly on top based on the capabilities it offers.” As Julius explains, “We don’t want to have engineers to have to be experts in the areas to be able to optimize performance. We want anyone to be able to jump in and see something actionable. That’s where Sentry helps us.”

For teams that are just getting started with performance monitoring, Walt and Julius recommend simply using your app periodically and comparing it to leaders in the industry. At Nextdoor, Walt and his team, “use our app and then use other apps and just have a feeling that something isn’t right so we start defining metrics and numbers that we want to hit.”

Julius and his team do a similar exercise: “The worst scenario is your user telling you through bad reviews and calls to support that things are bad. Hopefully, you can realize you need to improve performance by just using your own product.”

What is the future of devices in the mobile experience?

As consumers seek better mobile experiences on their mobile devices, we may see greater adoption of larger screens and formats. As Julius notes, “tablet support is going to be pushed for and there’s obviously the foldable devices that are coming into existence. I don’t see it happening soon, but who knows when a form factor which would work for all mainstream users is found.” He also pointed out that, just as the Android and iOS ecosystems have evolved to support additional devices, like watches, TVs, and cars, we may see them expand into additional surfaces.

Walt agreed, adding that we may even see broader adoption of wearable devices in the future of mobile development. In any case, he explains, building for these new devices will be, ”somewhat similar to building mobile… because at the end of the day, we have an interface and we want to build applications on top of it.”

How can we use AI in mobile app development?

With the record-setting growth rate of ChatGPT, we covered the role that AI may play in the future of mobile development. Walt reported that he and his Nextdoor colleagues have used ChatGPT and GitHub co-pilot for quick, easy tasks: “I personally have used ChatGPT to help me convert some Objective C or write some doc strings for a function. But nothing really more advanced than that.”

Julius noted that the GitHub co-pilot and similar tools aren’t as useful for mobile development as they are for JavaScript and other web coding, where there is more data available to train the AI. He notes that he “has used some of the AI tools for copies, for generating images… that is more valuable than coding tips, which I can just google… perhaps if you build up the skills to ask the right questions, that may be valuable as the tools become more popular.”

Where can I learn more about performance and mobile development?

Relative to other platforms, mobile development is still nascent. And, as Walt points out, there are fewer communities and resources. “As a mobile developer, it was much harder to actually find places to learn from, which was surprising because that’s almost the opposite from the web community… It’s hard to find a community to learn from that’s not within a company. I think as mobile grows we will see more learning resources across iOS and Android.”

At Sentry, we strongly believe in the value of communities. Join our mobile community on GitHub or Discord and learn more about our mobile performance monitoring solutions for a better mobile experience.

Your code is broken. Let's Fix it.
Get Started

More from the Sentry blog

ChangelogCodecovDashboardsDiscoverDogfooding ChroniclesEcosystemError MonitoringEventsGuest PostsMobileOpen SourcePerformance MonitoringRelease HealthResourceSDK UpdatesSentry
© 2024 • Sentry is a registered Trademark
of Functional Software, Inc.