Software development

Building Mini Programs on Africa’s first Super App

Building Mini Programs on Africa’s first Super App

Last year, a large South African telecommunication company launched their first Super App in South Africa. So what is a Mini Program and how does it relate to the Super App?

Well, to understand this topic better we need to take you on a little tech journey. First, there were apps. Yes, something you are familiar with and use every day. Surprisingly, apps haven’t actually been around for that long. They were first introduced when Apple launched the App Store in 2008. Google followed shortly after with their version, the Play Store. At that time apps became the “thing to have” with every company wanting their own. Of course, we quickly saw this change as apps became more of a necessity, and less of a nice-to-have.

Initially, the approach was to have a one-size-fits-all app. This worked well, however large organisations soon realised that they were dealing with a proliferation of their own apps. Their users were struggling to keep the apps updated and also didn’t know when to use which app from the same company. This led to the inevitable bloated enterprise app and created more problems than solutions.

Many organisations have very diverse companies in their groups, so having the one-size-fits-all app didn’t always work and subsequently companies had to split the apps into multiple versions. Larger organisations, however, started to identify how they could make these smaller apps work together. Companies like Microsoft and Adobe realised that they could release multiple apps but house them all under the same login and allow them to interoperate seamlessly. This led to the App Suite solution. Here a user could download one or more of the app suite apps and get benefit from them working together, with each app still updating independently.

More recently, and specifically in the Asian markets, there has been the birth of the “Super App”. This is one app, typically a payments or messaging app, that provides a platform with additional integration points and self-contained journeys as part of its available capabilities. These can be updated independently without needing to download the core app from the underlying app store, in direct comparison to a traditional app which requires a full update from the app store for any change. This step of needing to redownload the app has become a major bugbear that many organisations have fallen foul to due to app stores’ rigid processes to protect phones and operating systems by preventing companies from rapidly releasing new functionality and fixing critical bugs that may have a significant risk to their business. Most organisations don’t have a good solution for this in place yet – until the Super App that is. The Super App addresses this issue by separating the apps (business and feature functionality) from the core app (platform and core services) and isolating them so that they are deployed independently. In this way, new functionality can be released and updated as frequently as required, while still maintaining device security.

The Super App has grown even further to the extent that the maker of the Super App can open their app to third-party engineers. Engineers get access to a full integrated development environment that feeds into a fully-fledged app store experience from an engineering perspective. They can then independently build and test their apps as they please. This is what is known as a Mini Program.

As long as the core Super App host exposes the functionality that the Mini Program requires, the development cycle of the Mini Program is entirely self-contained. The Mini Program also follows the same sandbox model that Apple created to protect the underlying phone and OS by limiting the access the app has to the underlying functionality. This has two benefits:

  1. Mini Programs are written in a familiar yet limited extension of HTML, CSS and JavaScript. Software engineers create their UI using JavaScript and a flavour of HTML and CSS. There is an API which provides a whole host of functionality. This functionality includes the payment capability and main user data, but also limits the low-level functionality that engineers normally have access to. This creates a protected environment.
  2. Mini Programs, because of the limited instruction set and well-defined building blocks, end up being significantly easier to write than native web apps. By limiting the instruction set, complex apps can still be built however, the number of options is just smaller. This therefore levels the playing field. Junior engineers can build good looking apps quickly. Experienced engineers can build amazing looking and working apps an extremely short time periods. This is the attraction behind building Mini Programs.

Another model for rapid development of a Mini Program is to build a basic shell that simply hosts your existing mobile responsive or PWA version of your enterprise merchant app. This technique has proved to be very popular as the investment is far lower from both from a development and longer-term maintenance perspective. Existing functionality for shopping carts and integration points into the organisation can be reused. The hosting infrastructure could also be shared as the Mini Program libraries are available to server code inside the merchant to detect if the code is running on the phone or inside a Mini Program. In this way it has been possible to rapidly deploy a number of Mini Programs on the Super App platform.

The number of Mini Programs developed and released in South Africa currently stands at approximately 80 with many still in the pipeline.

Peter Scheffel, a BBD executive running the Mini Programs team says that BBD has been actively involved in the process of building Mini Programs and supporting the development community around Mini Programs. “We have been building Mini Programs for merchants as well as assisting other development houses and internal IT competencies to skill up to be able to incorporate this new channel into their digital offerings. We are proud to share that we have in excess of 50 engineers who have been trained and are able to develop Mini Programs.”

If you’re looking to build your own Mini Program either from scratch, or would like to integrate into Africa’s first Super App, reach out to BBD.

What’s next? We’re ready!