From the advent of the internet in the 90s to the rise of social media and now AI, the entertainment and media industry keeps evolving rapidly. Through these changes, we've seen the emergence of the 'attention economy', leading media companies to seek out new ways to win the hearts and loyalty of customers and keep them coming back.
These shifts in the market and user expectations have led BuzzFeed, a Bitrise customer, to reinvent its audience experience to better serve its loyal customers. As its CEO, Jonah Peretti, puts it, "We have a tremendous opportunity to build the defining media company for the AI era” by "spreading truth, joy and creativity on the internet."
With this mission in mind, BuzzFeed partnered with Bitrise to transform its approach to mobile development to drive new efficiencies and increase customer value.Â
Recently, we caught up with Josh Walker, the company's Principal Software Engineer, to learn more about their journey with Bitrise and how it's empowering Buzzfeed to experiment, innovate—and spend less time talking about builds!
Here's a recap of our chat.
What challenges led you to consider Bitrise as a solution?
'We were working on a lot of cutting-edge development work on the latest iOS and Android releases. However, getting access to the latest beta releases was a challenge with our existing solution at the time, which was a hybrid of Jenkins and CircleCI. Most of the time, we had to wait weeks, or even months, to get access. And so when new features or widgets were released, we couldn't experiment, test, or create builds until we had access.
This left us always playing catch-up.In the worst cases, it could take us about two months to get our hands on the latest Xcode version, when in reality, to get a head start, we needed the beta version two months in advance. And so we were often left facing the prospect of choosing between doing a manual build on our own machines—something we tried to avoid at all costs—or delaying the release of new features until we had access. It was a very frustrating experience.'
How difficult was it to manage manual builds before Bitrise?
'It was just the constant worry that we had got everything right. There were multiple steps that had to be completed, from compiling it, exporting it, and ensuring that all of our certificates were set up correctly on the system. Of course, it was also possible that something installed on the machine of the person running the build might affect the security of the final release. There was no way of knowing for sure, so there was no guarantee everything would go according to plan. It was a stressful and risky process.'
What was your ultimate goal in overhauling your mobile development?
'Ultimately, we wanted to stop worrying about our builds as developers. We wanted everything to work as expected without constantly worrying about things day-to-day and week-to-week, like, “Will the build server be available? Will it update to the latest version when needed? Is it going to run out of space?"
We used to push out builds every Wednesday, but it was a very manual process, and would often run out of server or bucket space. The build manager would have to clean out the archives before every build to ensure we didn't run out of space. The ultimate goal was to find a solution that we didn't even have to think about, where everything would work as planned without constant oversight from our team.'
Were there any non-negotiables in finding a new solution?
'We needed uptime and build speed to match or exceed our benchmarks. Rapid access to the latest beta updates was also top of our list. And, of course, cost-wise, we wanted to stay at or near our current spending levels.'
What convinced you to choose Bitrise?
'We chose Bitrise because of its strong mobile-focused reputation and its proven track record of providing rapid update cycles, especially for mobile apps. Overall, it checked all the boxes we were looking for and more. We really liked the way apps and teams are organized in Bitrise.
For example, adding a new application under an organization is really straightforward. Previously, all of our builds were randomly mixed together without any kind of separation, making it hard to track specific builds. With Bitrise, we have been able to keep all our builds neatly organized, which was especially helpful after we acquired Huffington Post. We were able to migrate their apps from their existing solution on Jenkins to Bitrise without cluttering things up.
As a result, we have been able to keep our core apps—BuzzFeed and Delicious—cleanly separated and grow without the pains that might have been associated. There's no need to navigate through a jumbled list trying to understand where everything comes from. With Bitrise, everything is clearly laid out, so you can see the whole picture clearly and focus on one set of builds at a time.'
Can you tell us about your migration to Bitrise? How did it go?
'The switch to Bitrise literally took a couple of days. Our Bitrise engineer assured us it would be quick, and they delivered on their promise. We started with a trial, running both our legacy system and Bitrise side by side. Our Bitrise engineer spent about a day converting our old YAML file to the new one and migrating our shared secrets.Â
One big improvement we immediately noticed with Bitrise was how smoothly it handles secrets. It's really great. In general, the way Bitrise handles data configuration is impressive. All in all, getting everything migrated and converted over to Bitrise was straightforward and painless. Testing it and seeing it work the first time without a hitch was great.'
How is it going with Bitrise now, and are you taking advantage of any new features?
'We've continued to evolve our use of Bitrise. We recently switched to pipelines for Bitrise to host our builds as well. We used to have Fastlane post our builds and then build the webpage so that if you wanted to install the build, it was pretty much pointed at the bucket somewhere. And, of course that just cost us more money as we were filling up buckets that would live forever. It just made sense to have Bitrise host and manage this for us. All it involved was a simple configuration change, and that was it.
We also like the UI, as it provides a nice big link and tells you exactly what to do, so even our non-technical team members can install builds easily.Â
We also recently introduced having builds posted directly to the app store, which has been very helpful. This saves us going into Bitrise, downloading the artifact, uploading it manually to the app store, writing our release notes, etc.Â
We've implemented testing and uploaded test artifacts that we can now use for Bitrise insights. Previously, we would debate internally about why a test would fail multiple times. I might notice an issue, but others would say they didn't notice anything, it was all anecdotal. Now, I can just send a link to Insights. If something fails, you immediately see the percentage of builds affected. There's real data at your fingertips to back up your gut feelings—like when unit tests start taking longer or fail randomly. Before, I'd have to click through builds, find the failed ones, and piece together a case. Now, I just go into Insights, find the test, get the exact percentage, and that's it. It’s transformed our approach to testing.'
So far, what have you gained from Bitrise?
'The biggest win has been the boost in build speed. Our build times used to be 30 minutes or more, but with Bitrise, they're down to as little as 5 minutes in some cases. The whole process is way more predictable and straightforward now.
Before Bitrise, we were always up against the clock, and then a last-minute bug would pop up and push things back.  It could take a while to complete the whole process because you were often pulled in different directions doing other tasks. There was constant context switching to deal with, which was just an attention drain. Every time you have to shift your focus and then back again, your efficiency plummets. It was especially challenging at the end of the day when you just wanted to get it validated and done. Being able to get releases out so fast now with Bitrise has been a huge boost to our developers and all the other teams involved.
With Bitrise, I can kick off a build, go grab a coffee, and come back, and it’s done. I can check the results and move on to my next task with the confidence of knowing the build is complete. There's no need to juggle multiple tasks while waiting for the build to finish. You're able to focus on one thing at a time, which is a developer's dream.'
Are there any other benefits you've noticed?
'The reliability of Bitrise has been a big plus for us, both in terms of build reliability and test results. We now have much greater trust in our test suites as a result.
We used to face constant issues with flaky tests, especially UI tests, which meant running extra builds to get them to pass. At one point, we even turned off the requirement for all tests to pass because failures were so common. There was little purpose in having that step any more. Instead, we'd just check failures individually as they came up.
We've reached a point where we can re-enable that requirement step as our testing process is successful. Now when we get a failure, it's usually due to something we have broken, not just the build server acting up again. It's saved us a lot of time and frustration now that our tools do exactly what we expect them to do.
Bitrise has definitely helped improve the perception of our team, too. Previously, it felt like we were bringing up build server issues all the time to stakeholders. Tests were failing, so we were having to rework things to make them more reliable. We spent a lot of time on test reliability and a lot of time waiting for access to the latest updates so we could get on with our work. As everything is now so reliable and quick, I can manage a release without really thinking about it.
Basically, I start a build, I get an email later saying Apple approved it, and then I release it. Faster release cycles also reduce the chances of bugs and issues creeping in.Â
As a result of all of this, we are talking about builds a lot less. Now we don't have to explain why releases are delayed due to last-minute builds that took half an hour or why we can't release this week because we are waiting on an update for the build server. I mean, the less we have to talk about the build server to our stakeholders, the better. With Bitrise, we can now be confident that no news is definitely good news.'
Are there any problems you have encountered so far?
'We've only had a few minor issues, and the Bitrise team has always responded quickly and given us helpful guidance to resolve them. In truth, it's been a while since we've had any issues, as everything's been running so smoothly. Certainly, there have been no issues worth remembering, which has been fantastic!'
Anything else you'd like to add about your experience?
'I have been really impressed by Bitrise's evolution. Every time we meet with the team, we hear about new features and products designed to solve our problems and help us build faster, such as Release Management and Build Caching.
All this innovation shows it’s a strong product and that they really care about the developer experience. Bitrise doesn't just focus on getting things up and running; it also works to make developers' lives easier by solving the many challenges they face every day. That's great news for us here at BuzzFeed.'
‍
Ready to transform your mobile app experience and boost customer engagement? Chat with our team today!