A line which moves indefinitely
Bishop & Co. logo

SZIN

Hungary's longest running festival in Szeged, attended by tens of thousands each year. We have developed iOS and Android apps to support participants during the festival.

Open WebsiteAn arrow going through a rectangle&s top right corner
A grid of dots
A grid of dots
SZIN mobile application displayed on a Google Pixel, an iPhone and an iPad

Challenges

Explore the inherited codebase

Before our company took over the development in 2019, there were two native SZIN apps, both built with older technologies. They also functioned erratically and with errors. The Android version sometimes even crashed immediately after launch. The two native codebases used Java and Objective-C - two languages that were replaced years ago in the mobile development world - followed no industry standards and had no architectural design. A third codebase - the backend - was handed over in an incomplete form - whole chunks of code were missing, which meant that some functionality simply did not work. Also, there was no documentation and/or knowledge transfer in any form.

Ensure high code- and product quality

After considering the possibility of fixing the native app bugs, we decided to do a full rewrite in Flutter. By then Flutter had reached a level of maturity that we felt was satisfactory to try. As it turned out, the Flutter components work pretty well on both platforms, not to mention the various packages available out there solving the most common mobile development problems. Supplementing that with the growing community and support behind Flutter, it was quite obvious to us that this was the way to go.

Restore reputation of the apps

An app that crashes immediately does not please its users or serve them in any way - it just produces tons of one-star ratings and negative feedback. That was the Android app before 2019, and the verdict on the iOS version was not much better. So our second goal - besides the rewrite - was to raise user satisfaction to the highest possible level.

Our Solutions

Native apps rewritten in Flutter and Dart

The natural choice for applications like SZIN is Flutter, which can provide a cross-platform and uniform experience. With a powerful language like Dart behind it, development is easier, more efficient, and faster. The machine-optimized code generated by ahead-of-time compilation leads to better performance on both Android and iOS devices, while just-in-time compilation results in immediate reflection of changes to the source code, while also providing stateful hot reload, where changes can be reflected in the running app without losing any state of the app.

Complete User Interface redesign

We worked with a design studio to thoroughly redesign the app's user interface. The new design they created was well thought out, consistent, and visually appealing from the start. The consistent design also made our job easier, allowing us to create reusable components that look exactly the same out-of-the-box on both platforms - again, thanks to Flutter.

Introduction of a CI/CD tool

To ensure code quality and consistency, perform testing, and automate code signing and publishing to app stores, using a continuous integration/delivery and deployment tool can be a solution. In the case of SZIN we chose Codemagic which is capable of doing all of the above. It also manages different product flavours (dev and prod in our case), environment variables (like Firebase configuration files), and manages the secrets associated with app signing.

A grid of dots
A grid of dots
Festival map and splash screen of SZIN application on a Google Pixel and an iPhone

Results

Enormous growth in the number of returning users

After the release of the new version of the apps, we continuously monitored the statistics on their usage. We noticed a big difference compared to the previous version: The number of app deletions dropped drastically, and the number of returning users increased significantly. In fact, the new Android and iOS apps performed much better in terms of user acquisition across all relevant metrics.

Increased productivity and confidence

Maintaining a common codebase takes significantly less time than maintaining separate Android and iOS codebases. The design team created a unified user interface for the SZIN app across the two platforms, so we can manage not only the business logic, but also the UI code in one place. Now everything only needs to be developed once.With Flutter's hot reload, changes to the code are immediately visible in the application while maintaining the current state, further increasing development efficiency. Thanks to the rich repository of third-party packages that, like the components of the Flutter framework, provide well-maintained, thoroughly tested solutions, we can release bug-free applications from our hands with great confidence.

Way better user feedback

The most important measure of an application's success is user feedback. There is a significant shift between application reviews received before 2019 and those received since. The former were almost invariably 1-star ratings accompanied by negative criticism and complaints, while the latter were mostly 5-star ratings with absolutely positive feedback and words of praise. Of course, it's not easy to translate such a bad review and it does not happen overnight, but we will continue to do our best to provide an even better user experience for SZIN app users in the future.

Testimonial

Bishop & Co. successfully developed the right application for us. They worked flawlessly with our design and business teams and responded professionally to the last minute changes we made. The mobile apps they created are fast, reliable and exactly what we needed. We've been working with them for years because they always provide us with the best solution.

Barnabás Szécsényi
Barnabás Szécsényi Lead Organizer, SZIN

Do you have an ongoing project or would you like to start one?

Contact us and share your vision. We are here to help you.

A line which moves indefinitely