The software development landscape continues to change at a remarkable rate. New innovations in technology have created opportunities for businesses to grow as well as change how they operate. Amongst these is the current interest in building applications in low-code.
“Low-Code” refers to development systems that claim to allow non-programmers to create applications without coding. As a result, low-code projects could potentially provide quicker turnaround times, improved productivity, automation capabilities, accessibility, as well as lower costs and limited room for error. In place of programming languages and code, developers can use simple visual interfaces and drag-and-drop features to build apps within a low-code development platform.
As with any area of technology, there are many systems claiming to be low-code, and a huge variety of capabilities within those systems. There are systems like Microsoft Power Apps which are very large, and comprehensive – and can be a useful option in some situations. There are also systems like Feathery which focus on Form building. In fact, user-driven Form Builders are a big sub-genre of the low-code world.
Is Low-Code the Best Option?
Blueberry is approached by customers from time to time, asking us if we can build their application using a low-code system, or maybe use a Form Builder to save time on form construction. The short answer is that while we can build using low-code, it may not be the wisest choice.
The main issues with low-code are:
- No IP ownership. If a customer is building a product, they want to own the Intellectual Property rights, and their investors absolutely insist on it. If you build a system on Microsoft Power Apps, you may have some claim to the IP in the form design, but you don’t really own it – you rent it from Microsoft.
- Platform Risk. Google had a low-code system some years ago, and then they cancelled it – thousands of projects died suddenly. There are some systems which address this – some generate code that you can run outside their system - but it’s still a risk if the low-code system is how you make changes.
- Functional Risk. When we build a system using traditional tools, we know we can meet almost all customer requirements. However, when you’re using low-code, you can easily get stuck when a seemingly simple customisation, like a specific colour, isn't supported and can't be added, creating major headaches for developers. If we quote a customer on building a system with low-code, we’re effectively taking on the functional risk – if the platform has some missing feature which turns out to be essential, we have to pay to move it to another platform – ouch! Some platforms do have some extensibility built in, which can help.
- Reduced Dev Processes. When we build a web application, we create multiple environments – Live, UAT, Test. We have a clear process: deploy new features to Test, and only when they pass move to UAT, then Live. Many low-code systems don’t support this process – they either don’t have environments at all, or it’s painfully hard to copy a configured application between servers. Of course, being able to make changes very quickly is part of the appeal of low-code – but we really shouldn’t be doing this on mission-critical live systems!
Blueberry has recently reviewed feathery.io for a customer: it looks impressive, and does have a good number of features, but we can see that it has most of the risks above.
We’re currently working on an alternative solution – we’re integrating a major open-source form builder into our Blueberry Web Template (BBWT) platform. This solves all the problems above; systems built using this Forms technology are hosted on customer-owned servers, so there’s no platform risk, we use our standard build process, so the Dev Process risk is addressed.
Summary
While low-code development platforms have revolutionised app creation with their speed and ease of use, it's essential to fully understand their limitations. Low-code offers:
- Lightning-fast Development: Build apps quickly without extensive coding experience, saving time and resources.
- Drag-and-Drop Simplicity: Visual interfaces and pre-built components streamline the development process.
- Democratisation of Development: Empower non-technical individuals to contribute to app creation.
However, low-code comes with caveats:
- Ownership Concerns: You might not fully own the intellectual property (IP) of your app, potentially hindering future control and modification.
- Limited Customisation: Pre-built templates and functionalities may not cater to unique needs or complex requirements.
- Restricted Development Processes: Platform limitations might hinder established development practices and quality control measures.
For applications crucial to your business operations or demanding specific functionalities, custom development offers advantages:
- Complete Ownership: Full control over your app's code and future development path.
- Unmatched Customisation: Tailored solutions precisely matching your specific needs and vision.
- Flexible Development Processes: Implement established best practices and quality control measures.
Ultimately, the decision boils down to your specific project requirements and priorities. Remember, choosing the right development approach can significantly impact your project's success!
If you are considering a low-code project, contact us today to discuss your specific needs and leverage our expertise to determine whether a low-code solution is the best fit for your project.