Summary: As the low-code market grows, so does the confusion. Potential low-code users find that comparing options is like comparing apples and oranges. What key elements should you look for in a low-code development platform? We explore some ‘must-have’ features in this article.
Photo by Simon Abrams on Unsplash
Low-code development software has a problem. Since the phrase was coined back in 2014, we’ve seen an explosion of low-code tools. These days, you’ll find over 200 options.
The problem: They’re all different. Since “low-code” is such a vague term, low-code software is all over the map.
For instance, some low-code tools focus on specific functions. Others let you create anything. Some are basic. Others are enterprise-class. Some require a fair amount of coding. Others need no coding at all but still provide the option.
To make matters worse, software vendors slap the term on anything remotely related to low-code. If their offering has any low-code element, they market it as a low-code solution.
The result: Confusion. Low-code software buyers must wade through a jumbled mess of options. Different low-code solutions offer different approaches and capabilities. They find that comparing options is like comparing apples and oranges.
Today, I’d like to cut through some of this confusion. Sure, most low-code tools are different. But, what should you look for? What are the “must-have” elements that every low-code platform should include? While I’m sure the list could be longer, I’ve rounded up the top 10 below.
Low-code tools let you create web applications without coding. They should provide a clean, point-and-click interface.
But, they shouldn’t be a “black box”.
What does that mean? A good low-code tool provides transparency. It lets you “pull back the covers”, giving you access to the generated code if needed. You should be able to edit and customize your applications through the interface, or at the code level.
Why is this so important? As explained below, transparency improves trust, provides more flexibility, and helps you troubleshoot issues should a problem arise.
“The absolute most important feature of low-code software is transparency,” says Jesse Spencer-Davenport, Marketing Director at BIS. “The defining value of low-code is easier results but if the validity of results is uncertain, or worse, they are proven to be wrong, the solution won’t be trusted. So by providing a layer of transparency, results are verifiable, and users gain an understanding of how the tool works in the background. This enables users to learn the platform better, and what “knobs” and “buttons” to use to achieve desired results.”
In a digital world, automation is the name of the game. It improves efficiency. It reduces errors. Automation is often the difference between top performing companies and those that lag behind.
Yet, a recent study found that inefficient processes are the biggest source of wasted time in the average workday.
Why do so many businesses struggle in this area? It usually boils down to the fact that their applications and processes weren’t built for a digital era. Their applications don’t integrate with each other. They don’t use data changes to trigger workflows. The result: Employees must fill in the gaps manually.
That’s why automation is such a critical part of modern low-code tools. They must be able to pass data between other applications and services. They must be able to trigger workflows when data is added or changed.
Most importantly, they must include a workflow automation designer. Workflow designers let users automate business processes using a drag and drop interface. They let users set workflow triggers that fire when data is added or changed. These triggers can start all types of workflows, ranging from email notifications to API calls and everything in between.
“The tool should be intuitive enough to be able to execute automation workflows based on event-generated triggers, drastically reducing human intervention,” says Murali Palanisamy, chief solutions officer, AppViewX. “Any tool can perform linear task automation, but only truly intelligent tools can accomplish end-to-end process orchestration with minimal prodding.”
3. Environment flexibility
Where’s the best place to host your low-code platform? On-premise or in the cloud?
There’s no one answer that applies to every situation.
Rather, I believe in development freedom. If that calls for on-premise hosting, so be it. If that means you move your application development to the cloud, that’s fine too.
Environment flexibility is a critical aspect of low-code platforms. Applications should deploy anywhere and port easily. Be wary of any platform that locks you into their cloud, or a single deployment location. A good low-code platform gives you options.
Here are a few questions to ask the vendor before licensing a solution:
- How portable are the applications you create?
- Will applications work outside of the development platform, or are they tied to the platform?
- Does this platform give us the flexibility to move from the cloud to in-house, and vice-versa?
“Most low-code tools work on a SaaS model, which automatically qualifies them for cloud deployments,” says Palanisamy. “However, some industries prefer to host their data center on-premises, and it’s a major win if the tool can be integrated into their existing framework. Ideally, the low-code tool should be capable of working across on-premise, hybrid-cloud, and multi-cloud platforms.”
4. Customizable UI and UX with white-labeling options
In my experience, customization (or the lack thereof) is one of the most common fears about low-code tools. Many assume that low-code platforms limit your ability to customize generated applications.
While this might be true for some tools, it certainly doesn’t apply to all of them. How can you tell the difference before you choose? Here are a few questions to ask the vendor:
- How do you customize the generated applications? Does the tool include a graphical editor? Does it let you modify the HTML/CSS if necessary?
- Do you allow white-labeling? Can you customize the output to match your company’s look and feel?
- Can you create/modify application templates? This is important because it lets you customize the look/feel of every generated application without manually changing each one.
“The tool should provide extensive customization capabilities for the applications that are developed on it,” says Palanisamy. “This includes provisions to build HTML pages based on end-user specifications for easy accessibility, white-labeling of apps for more personalization, etc. The tool should provide low-code elements to accomplish all of the above, too, apart from workflow automation.”
5. Custom code
Low-code platforms are built to eliminate much of the tedious coding required for web applications. But, every business is different. They have different business rules and requirements. A single low-code platform cannot account for every single business.
That’s why the ability to add custom code is so important to a low-code tool. What do I mean by custom code? It boils down to a few questions:
- Can you add custom business logic when you build applications?
- Is there a way to call external code from the applications?
- Can you customize the generated code if needed?
- Can you create rules/logic so the applications fit your business processes?
“When solving a problem with a low-code platform, you’ll often run into a wall of something that the tool just wasn’t designed for,” says Blake Burch, Co-Founder of Shipyard. “You want to find a platform that allows you to write and execute custom code when needed, so you aren’t stuck creating poorly designed workarounds or waiting around for feature requests.”
6. Granular permissions
Does everyone in your organization have the same application permissions? Does everyone have access to all of your data? Probably not. That’s why permission control is so important to a low-code platform.
What do I mean by “permission control”? Any enterprise-class low-code platform should let you manage user permissions on a few levels:
Application-level: Application-level permissions let you control application access on a per-user role or per-user basis. This typically includes a role-based menuing system, which displays different menu options to different users based on their role.
Row-level: A critical aspect of B2B, BI, and reporting applications, row-level permissions (or multi-tenant) controls data access within a single application at the row level. Multiple users can access the same application, but only view the data they’re authorized to see.
User privileges: User privilege parameters are used to personalize features and security to individual users or user roles. They can control an application’s look and feel, add or hide user options, limit user capabilities, and more.
“You want a tool that lets you manage user permissions for almost every action and element within the platform,” says Burch. “Avoid platforms that have sweeping application-level permissions. While you may not be able to envision a reason for those permissions today, you’ll thank yourself later when you run into a unique use case.”
Web application attackers are becoming more sophisticated. But, application security isn’t keeping pace. Poor application security is an epidemic. A recent report found that half of all web applications contain a high-risk vulnerability.
Why do so many businesses struggle with security?
Many businesses assume application security in the developer’s job. Of course, that’s in addition to everything else they do–and the fact that businesses regularly impose tight deadlines on development projects.
How can developers address these growing security requirements while still meeting their tight deadlines? This is a big selling point for low-code. Many low-code platforms come with enterprise-class security baked in, like encryption, white-lists, black-lists, IP access restrictions, encoding, parameterized queries, edit checking, and more. These built-in features let your developers keep pace with security requirements and meet their deadlines.
While those security options are important, it doesn’t end there. Beyond those standard security features, here are a few advanced options look for:
Flexible authentication options: Business-focused application development software should offer flexible authentication options–letting you authenticate your applications using whatever authentication sources you already have in place.
Single Sign-on: Single sign-on (SSO) is a session/user authentication process that lets users enter their name and password in only one place, and access multiple related applications.
Application activity auditing: Application activity auditing lets developers log end-user activity for signon/signoff activities. This lets IT departments quickly see when a user has logged in, which application they accessed, and when they logged off.
“As good as it sounds low code development really makes the job easy but one thing to look for is data security especially if the application is designed to store users’ information,” says Anas Ahmed Siddiqui, Founder & CEO of TechoGhetto. “It is always a good practice to manually check the code of the application to confirm and to make sure that all classes are rightly named as public, private and protected accordingly.”
8. Reusable “code” blocks
“If you break down the most complicated math problem, you always come back to the four basic operations: addition, subtraction, multiplication, and division,” says Shayne Sherman, CEO of TechLoris. “Many algorithms are the same way. They use the same operations in different ways.
A good low-code solution come with these basic operations ready to drag into your process out of the box.
A great solution will give you the ability to save your own, more complicated operations for reuse in your system.”
It’s a great point. Great low-code platforms take a building block approach to application development. But, I’d like to take it even a step further.
Great low-code platforms let you reuse applications (or parts of applications) in other applications. They let you create reusable functions and capabilities that can be added to any other application. It provides the basic building blocks and lets you combine them however you wish.
The result: A fast development process that improves over time. As you create more and more reusable “blocks”, development time improves.
9. Friendly licensing
Not all licensing structures are created equal. Some seem cheap upfront but pile on the fees as you use it. Before licensing any low-code platform, understand the fees. Here are some of the common fees to ask about:
Developer seat fees: These fees are charged based on the number of people who will be building apps with the platform.
End-user seats: These fees are charged based on how many people are using the applications created by the developers.
Run-time fees: While I don’t see run-time fees that often anymore, it’s something to watch for. These are fees that occur every time the generated applications are run.
Distribution fees: This is an important point to consider if you plan to distribute or sell the generated applications. Many vendors charge a distribution fee per application, which can get expensive quickly.
Maintenance fees: Is maintenance and support included in the license fees, or is that an extra charge? If they charge a maintenance fee, understand what’s included in the plan. Ideally, any good maintenance plan will include expert support and all product enhancements.
One of the most important aspects of low-code software is also one you can’t see: The architecture. While application architecture might be invisible to the users, the impact that architecture has on your overall application is enormous.
Why should you care so much about architecture? It plays a major role in your overall experience with low-code platforms. It impacts portability, security, flexibility, and more.
Most importantly, architecture plays a massive role in a low-code tool’s integration capabilities. With any low-code platform, you’ll need to answer two questions:
- How easily can we integrate this with our existing systems?
- How easily can we integrate this with third-party services?
Before you license any low-code platform, understand its integration capabilities. Does it support RESTful web services? Is it built using open technologies? What kind of code does it generate? These questions will save you from many integration headaches down the road.
“Integration capabilities are top of the list for us,” says Brett Downes, Founder of HARO Helpers. “This should always be among the top priorities when companies are weighing up which low-code platform to use.
Presently it has become more important to have incredibly strong integration capabilities that are bi-directional, fast, secure, and powerful. It is key to be able to tap into your company’s data wherever it might be is necessary in order to be agile, flexible, and easily adaptable to change.”
These are just a few essential elements of low-code software, but I’m sure the list could be longer. Would you add anything to this list? Feel free to comment below!