Software development, for mobile applications or the web, can be expensive. So how do you develop software for a client that will precisely meet their needs without ruining them financially? The answer is our two part in-house solution called “Base App” and “Dynamic Screens”.
So how do you reduce the cost of software development?
As unique as every application becomes, some parts are often the same-login, registration, forgotten password and so on.We always spend a lot of time developing these screens.
We therefore decided to pre-prepare a platform for clients containing these basics called the “Base app”. We can move straight to work on the core of the application and help the client save, even hundreds of thousands of crowns.
What is the “Base App”?
Base App is our internal term for an application containing a set of basic screens, which are found in most mobile applications - For example a splash screen, onboarding, login, registration or forgotten password menus.
Along with these, there is also another set of modules in the “Base app”, the implementation of which takes a longer time and makes the ability to pre-prepare a large part of the application and use it again later (maps and dynamic image modules) possible. Any future project containing this basic flow or parts of it can be saved into the Base App.
Another simplification is the connection to the mocked API, making it possible to pre-prepare the error handling and loading. This reduces the amount of work after the application connects to the real API.
However, this does not mean that the future application created in this way is not unique. Every application implements a different basic UI, which is always adapted to fit the project.
Dynamic screens - the perfect addition to the Base App
The development of other screens cannot be unified so much, nevertheless it is possible to prepare a certain “use case”, which we often encounter. We call this solution “Dynamic Screens”.
In the language of programmers
In a nutshell, “Dynamic screens” work by creating a library with which the application can be composed of dynamically created screens. This library allows you to create any composition from predefined native components and their parameters. The structure is typically loaded from a JSON file on the server.
The application reads the screen structure from a configuration file (eg in JSON format), which can be stored both remotely (eg in Firebase) and locally inside the application. When you change the configuration file, the dynamic screens change without the need to create a new version of the application.
In the language of practice
This all sounds quite abstract in theory, it is better to imagine this technology with a practical example - An event application we developed for the Czech Freedom Festival. During the development phase, the organizers did not know the number and names of the partners that would be supporting the festival until the last moment. However, all their logos had to be displayed in the application. We decided to go the way of dynamic screens. In doing so, we were able to change information inside the app without users having to download an application update.
This procedure reduced the cost of producing a “simple” screen and was not demanding on data consumption. Content editing is possible without releasing a new version in the store and we must not forget the native form and unification of the screen across the platform.
What’s the consensus on ready-made functions? Absolutely crucial.
Through experience, we have prepared the foundations for many types of applications for clients and certain easily modifiable screens. The Base App and Dynamic Screens are therefore a combination of a straight out of the box solution paired with easy customization (a Czech client’s dream, we would say).
They are also proof that price does not have to be an obstacle when developing software or mobile applications, and that even high quality products can be made at a reasonable price. At the same time, they are another way to avoid some obstacles in the development of a mobile application. Read other tips for developing an application.
Are you planning on developing software or designing a mobile application? Are you interested in the possibility of ready-made solutions? Contact us and let’s work on the next project together!