Much like in other software development fields, there is increasing interest in using low-code development platforms for mobile development. Low-code platform developers paint a picture of a future where the need for traditional software development is reduced and mobile development becomes possible for entirely new audiences. However, if a low quality user experience leads to low application usage, the benefits of low-code may not be realised.
Low-code platforms like OutSystems and Power Apps make a tantalising promise: much of traditional software development work can be minimised or removed by replacing coding with a development environment based on visual composing and pre-built components. This speeds up the development of applications while reducing the need for specialised expertise. Mobile applications intended for internal or external user groups are an especially interesting target for leveraging low-code, because top notch mobile development expertise has traditionally been expensive and hard to find.
Business units see low-code as a delicious opportunity to respond to the reality that business IT requirements are growing faster than IT departments. Research and consulting firm Gartner estimates that by 2025, up to 70% of companies’ new software development will leverage low-code solutions. The rise of low-code has created the concept of citizen development, which refers to software development done by business unit representatives. From the business unit perspective, it is an appealing thought to be able to directly take part in the development of business applications instead of specifying business needs to the IT department and waiting to see what actually rolls out of the development pipeline.
In contrast, IT departments are often quite sceptical of low-code platforms. Software developers shake their heads at the technical limitations and architectural shortcomings of low-code platforms, while user interface designers feel that low-code limits creativity and user experience quality.
Good usability dramatically improves an application’s chances of reaching its goals
For a mobile application to reach its goals, it’s critical to provide a good user experience, even though a good user experience in itself is often nearly invisible to the user. A well-designed application’s internal logic stays out of the user’s way. A bad user experience is often easier to identify and can often lead to costly consequences. If the goal of a mobile application is to enable fast CRM data entry for salespersons in the field, but the application is sluggish or the user interface is cumbersome to use, the quality of CRM data will quickly deteriorate.
The possibilities for shaping a good user experience are still maturing in the low-code market. Low-code platforms are generally based on pre-built user interface components that can be connected to an organisation’s APIs and data sources without coding effort. Depending on the low-code platform, editing and customising these pre-built components may not always be straightforward. If editing and customising the platform-provided presentational templates is difficult or impossible, it can be tough to provide a good user experience or ensure that the organisation’s brand identity is applied correctly.
Some modern low-code platforms, such as OutSystems, provide a component library that can be customised to match the organisation’s look and feel using stylesheets or other techniques. These platforms also often provide a pre-built library of components that adapt fluidly to differently-sized screens, which makes it easier to compose a user interface that suits different device sizes.
However, it is important to note that user interface components and user experience are two different things, and a visually appealing user interface does not guarantee a high-quality user experience.
The unbearable ease of building hard-to-use applications
Perhaps a bit paradoxically, the effortlessness of composing user interfaces using low-code platforms makes it easy to create applications that are hard to use. It may be tempting to use pre-built solutions even if they are less than optimal for the users of the application, and even if the low-code platform could enable a better user experience with a bit of effort. It is easy to just jump directly into composing the application without a clear vision of the application’s goals, structure or user needs. The need for user testing is sometimes realised only after the new reporting application or other solution has gathered a suitable layer of dust.
Problems in application coherence and navigation are compounded by mobile devices’ small screens. Only a limited number of information fits on a smartphone’s screen at once, and hitting small buttons is difficult on a touchscreen. For these reasons, prioritising features and content is crucial for creating a successful mobile application.
The use of a low-code platform helps find the right prioritisation because different user interface variations can be tested with users quickly and easily. Finding the right focus in this way makes it possible to pare the interface down to its essentials. The most important features can be given more screen space, which has the dual effect of both making the user interface more understandable and making buttons easier to hit.
In the low-code world user experience design has a role that is very different from its role in traditional software development. It would be unrealistic to expect every low-code development project to have a dedicated user interface designer. That would run counter to the basic idea of citizen development. Instead, a user interface expert or team can leverage design system thinking to lay the foundation for great user experience outcomes. Clearly defined and documented conventions, best practices and user interface elements help business units build well-behaved low-code mobile applications. Business units’ ability to leverage design as a capability is an important piece of this puzzle.
For some mobile use cases, it may not be possible to reach the desired level of user experience using low-code technologies. The technical limitations of low-code may get in the way of applying advanced mobile technologies in reshaping complex business processes. However, even in these cases, a low-code application can serve as a simple prototype of the application idea.
At the end of the day, technology choices should be based on understanding the application’s business needs, implementation costs and actual users’ needs.
5 tips for building a good user experience using low-code:
- Conduct user testing
Citizen development does not prevent user testing. Having actual users test your application is the best way to ensure its usefulness and ease of use, even if there is no dedicated user interface designer or usability tester allocated to the project. The test build of a low-code application can be distributed e.g. via TestFlight (iOS) or the Play Store (Android) to the smartphones of a limited test group. An even easier option is to bring a test device to a colleague’s desk.
- Design for the context
In building a low-code application, it is important to understand the context where users will interact with the application. What other software or systems do users use in their daily lives? In what kind of situations will they use the application? When it is clear what the user’s context looks like outside of the application, it is easier to design a user interface that provides the right content and features at the right time.
Low-code represents an opportunity to improve the dialogue between business units, IT and design. Citizen development will create better results if business units invest in design capabilities and take design work into account in project planning. User experience experts can support business units’ efforts by creating ready-made user interface components that fit the context. It is also worth seeking the expertise of software architects when thinking about where and how to save or fetch application data. Establishing shared practices and ground rules benefits everyone.
- Respect standards
A low-code mobile application lives alongside normal applications on the user’s smartphone. Therefore it is natural to expect a user interface that resembles other smartphone applications. Users will find it easier to install and use your application if it adopts standards and best practices familiar from other applications. To identify these best practices, it’s worthwhile to get to know Apple and Google’s human interface guidelines and to benchmark other applications regardless of how they have been built technically.
- Pay attention to understandability
If it is clear to you what the user is expected to do in a low-code application, make it clear to them, too. Clearly identifiable buttons and coherent navigation paths help the user towards their goal. Both the application’s structure and its user interface texts should reflect what the user is expected to do, not the application’s internal logic.
User experience is always important for the success of an application, whether the application is meant for internal user groups or customers. Users are not concerned with how an application is built technically – they only care about reaching their goals as smoothly as possible. If the user experience is poor, it may lead to low adoption. In that case, it does not matter if low-code enabled a faster time to market or a more cost-effective implementation project. The benefits of low-code are only realised if applications built using low-code are actually used and provide real value for users and businesses.