Wednesday, 3 April 2019

The story behind Snapchat’s Android rebuild

android snapchat icon on a google pixel 3

Snapchat announced a big move in late 2017. It was going to fix all of the problems its Android version had in comparison to the iOS version. The goal was a cleaner, faster, and less buggy experience. This was no small redesign or halfhearted rebuild effort — it was an entire rewrite from the ground up.

The update is slowly making its way to Android users, with a full rollout coming before the end of 2019. Whether or not it will help Snapchat’s Android numbers remains unclear right now. However, the company is optimistic about its future in Android. We sat down with Snapchat’s SVP, engineering Jerry Hunter, director of engineering Gustavo Moura, and VP of product Jacob Andreou, along with PR rep Shannon Kelly to talk about the journey Snapchat took from its original app to the fully rewritten version rolling out now.

snapchat redesign stats Recode

Step 1: Discovering the problem

Snapchat’s story of self discovery starts two and a half years ago. At the time, it even didn’t really know its Android app had problems. The company compared code of its iOS and Android versions, rather than user experience, and simply didn’t see anything wrong, according to Jerry Hunter.

“A lot of times we were tricking ourselves into thinking we were better than we were,” he said.

Snapchat had just had its biggest year ever, surely things were fine.

Snapchat's existing code base eventually became a real pain to work with.

When Snapchat’s developers finally caught on to the Android app’s user experience problem, the development team spent several months mapping out its code base and figuring out where to make improvements. Those improvements came in 2017 and Snapchat saw relatively positive feedback from Android users. However, the code base issues were far from over.

“We found, toward the end of nine months, [that it] was sort of asymptotically getting harder to create more improvement and it was still not good enough. That was really a consequence of a code base that had just been built, I’ll say naively, based on the need to get features out quickly,” said Hunter.

The team decided to do something a little more dramatic.

Step 2: The rewrite

Early 2018 was a wild time at Snapchat, with the rebuild underway. However according to Gustavo Moura, none of that fixed a lot of the larger problems, which were caused by the app trying to always run code in the background. It was bogging down the experience and things just weren’t working out. A full rewrite from the ground up would fix that.

“Gustavo [Moura] and a small band of like-minded thinkers had quietly been in the corner building a framework that would serve as a foundation for a rewrite,” Hunter told us.

The challenges were certainly there. There’s a relatively small number of iOS devices compared to Android. To Moura, the biggest challenge was getting Snapchat to use the hardware to its fullest potential on every Android smartphone and still function more smoothly on lower end devices.

The rewrite had a heavy focus on modular coding and support for lower end devices.

“[Android devices] don’t all behave the exact same way, right? It’s very easy for us to build an Android app that will work well on flagship devices like the Pixel 3. It’s more challenging when you have to capture the whole ecosystem, especially when the camera works very differently from manufacturer to manufacturer,” he told us.

Moura and Hunter both praised advancements in Android app development languages like Java and Kotlin, as well as other tools, as big reasons for the improvements during the rewrite.

A photo of Snapchat's main camera UI

Step 3: The aftermath

The development team took an end-to-end modular approach with the Android app’s code base, which should result in faster, more impactful updates, along with better overall performance, especially on low-end devices. Hunter also mentioned how Snapchat developers found working with the modular code a lot easier. Basically, it’s everything that users have been asking about, with some added bonuses for the developers as well.

Hunter also mentioned that Snapchat is now running a much broader set of test devices to ensure current and future updates all work as expected.

Current Snapchat users shouldn’t notice too much of a change in the app’s layout or controls. Snapchat developers simply didn’t have things like the app’s design or layout on their collective radar. For now, the main focus is to build a more responsive app that performs better across devices.

“Our ideal goal was that people shouldn’t really notice that the app is actually entirely changed up from underneath them except everything should be way faster,” Jacob Andreou told us.

A photo of Snapchat's Friend Location feature

Step 4: The future

The Snapchat development team has ambitious plans for the app’s future. They want the Android version to be right up there with the iOS version, if not further along. Internally, they believe this rewrite will finally put the Android vs. iOS experience gap to rest for good this time.

“With this new foundation I wouldn’t be surprised if you actually see things starting to come to Android even before iOS sometimes. Android will be becoming a place where we are really testing our latest and greatest stuff which has definitely not been the case historically,” said Andreou.

The Android rewrite should finally achieve the performance parity that Snapchat has been looking for.

For now, the goal is getting the Android version fixed as soon as possible. From there, the development team wants to focus on delivering new features while also working with Google and Apple on new augmented reality features. After that, we’ll all just have to play it by ear.

How to use Snapchat on Android

How to save Snapchat videos on Android

Snapchat’s big rewrite is rolling out now, with a full release by the end of 2019. We’ll see if it helps turn the tide on Android. Let us know what you think in the comments.



from Android Authority https://ift.tt/2WKnE5u
via IFTTT

0 comments:

Post a Comment