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.
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?”
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.”
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.”
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.”
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.”
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.