Speed - The ability to accelerate the delivery of new software applications is one of the most integral parts of a low-code application platform. Some of the capabilities which make low-code a rapid platform to develop on include; drag-and-drop functionalities, easily implemented APIs and connectors and one-click deployment.
Thank you for registering to receive our Definitive Guide to Low Code in 2021.
A long time ago in a galaxy not too far away, a new star was born. He wore a space helmet and suit and liked to roam his planet called Lowcode.
Ok, so it might not have been that long ago but there was a guy, let’s call him Atlas. Atlas had a vision like none other and that was to fuel a future of digital innovation!
It wouldn’t be long before he built an empire that would be recognised globally and fuel more than half of the world’s enterprise businesses.
The guide that you’re about to embark upon is an exclusive look into the world of low code, covering all you need to know about the platform solution and how it can increase your business productivity.
Chapter 1 : What is Low Code?
- Can low code benefit my business?
- What does a low-code architecture look and feel like?
- How long will it take from build to deployment of a low-code application?
- What security measures can I put in place for my low-code application?
Like any technology platform, low-code can be daunting if you’re not familiar with it. You may have several questions and concerns and that is completely normal, considering it’s an unfamiliar territory and you only want the best for your business.
A low-code application platform (LCAP) refers to techniques such as declarative, model-driven application design and development together with the simplified one-button deployment of applications. In conjunction with an Agile Methodology, a low-code application's time to market will significantly decrease by weeks-and even months!
There are three sections that typically define a low-code application platform. These include Visual IDE, Connectors, and the Application Lifecycle. Below we have defined each section:
- Visual IDE – This refers to a visual environment where you are able to define the User Interface (UI), workflows and data models of your application and, where required, add hand-coding.
- Connectors – Referring to an automatic process where your data is managed.
- Application Lifecycle Manager – This refers to a process and handful of tools that help during each stage of the application lifecycle including the design, build, deployment and testing.
Solving your business problems with low code
Chapter 2: Low Code Architecture
- What does my current application architecture look like?
- What concerns are keeping me up at night about my current application structure?
- How long will my next application development take?
- What major business factors will influence my application and its development?
Similar to building blocks, a low code application architecture is designed for the purpose of reusability and drag-and-drop functionality.
Low Code Process Explained in Seven Steps
There are seven steps to defining your low code process from initial requirements to deployment. These steps have been outlined below.
1. Business Requirements: Determine your business requirements with some questions including:
- What is the intention of my application?
- What do I want to achieve by having this application built?
- Who are my end users?
- What is their demographic?
- How will this application benefit both the business and my end users?
2. APIs: Decide on your Application Programming Interface (API). An API allows you to extend the capabilities of your application. There are various types of APIs including business processes, integrating charts, client-side behaviour, databases, emails, end user management, infrastructure and IT users management.
3. Let’s get moving! Now it’s time for the developers to design and start developing your application. Using an agile process, your application will be seperated into phases. For example: design phase 1, development phase 1, testing phase 1, design phase 2, development phase 2, and testing phase 2.
4. Connect your APIs: Refer to Step 2 in regard to APIs.
5. Hand-coding: Some applications will still require minimal custom hand-coding, so this is the time where developers will analyse and add where required.
6. Complete User Acceptance Testing (UAT): This is where you can have an internal (or a select group of external) users test the application for bugs, other glitches and overall layout of the application.
7. One Click: It’s now time to deploy your application in just one click! In a matter of seconds your application can be ‘published’. Don’t fret though, as any further updates and bug fixes can be completed and updated accordingly.
Low Code Tools
There are three categories of low code tools including Ecosystem, Niche and Purpose-built tools.
- Ecosystem Tools: Refers to large software application vendors, generally providing greater value for cloud ecosystems.
- Niche Tools: Are used to exclusively satisfy a single business need. This tool is best used to.
- Capture and store data.
- Define a business process.
- Create a mobile front-end.
- Purpose-built Tools: Refer to applications that are custom architect, using a low code approach.
Chapter 3: Benefits of Low Code
It’s predicted that by 2024, low-code application platforms will be responsible for 65% of all application development activities.
Agility – A low-code application helps enterprises pivot to new digital initiatives.
Multi-Experience – Low-code enables you to deliver great omnichannel customer experiences, providing frictionless experiences across several touchpoints.
Accessibility – OutSystems' low-code application platform is built for anyone to use, from any location.
Automated Governance – Monitor and control all projects in a central location for consistency and quality control.
Chapter 4 : Who are Novata Solutions
Novata Solutions are market leaders in the application development space, using our team combined years' of experience and up-to-date certifications to be valued partners to both clients and vendors. Having used low-code application platforms for many years and partnering with organisations such as Microsoft and OutSystems, we are low-code application platform leaders in Western Australia.
We are the winners of the prestigious OutSystems Global APAC Winner Enterprise Transformation for 2020. The Award was won for the development of a Mobile workforce management application that mobilises over 2000 employees per month to remote mining sites across Western Australia. This was achieved in 12 weeks by three of our developers.
What trends we have seen?
What we have found is that low-code is starting to heavily be adopted in Western Australia, specifically within the mining and Aged-Care sectors. This is especially true when transforming traditional paper-based forms and intensive manual activities to fully digital, automated workflows and business processes with integration of existing legacy systems.
Chapter 5: Who are OutSystems
In 2001, OutSystems pioneered the low-code market with a huge vision to transform the way enterprise software was being delivered. Now, nearing 20 years on, OutSystems is recognised as the globally leading low-code, rapid application development platform of choice by companies worldwide.
An OutSystems low-code application platform enables:
- Fast development through full-stack visual modelling.
- Automatically updating databases table and queries.
- Offline data synchronisation.
- Automatically track changes and deployment processes.
- Enhance user satisfaction and adoption with visually rich, responsive web and mobile apps.
- Simply drag-and-drop to create a pixel perfect experience.
- Connect your application to any existing system with ease.
- Integrate external enterprise systems, databases, or custom apps.
- Application version history is stored in a central repository,
with support for rollback.
Built In Validation
- Impact analysis is executed upon deployment, with resolution of all conflicts supported to reduce risk
- Once the build is validated, simply deploy with one click.
- Decrease maintenance costs.
- Single-click rollback.
Testing and QA
- Reduce the need for repetitive and time-consuming testing with automated self-healing and impact analysis functions.
- Enable proactive management of application performance through built-in comprehensive auditing and monitoring tools.
Chapter 6: Microsoft Power Platform
Microsoft is a globally recongised and trusted brand. It provides businesses with applications to improve their day-to-day activities. Microsoft’s Power Platform is home to four major tools, based on a low-code application platform and leveraging all pre-existing applications (such as Excel) to formulate calculations, track data, and other business analytics to gather better insights.
There are four specific tools used in Microsoft’s Power Platform application suite, all aimed at various aspects of gathering and analysing data for your business.
- Power BI – This application empowers teams of all experience levels to make confident decisions using up-to-date analytics for sound results and data security.
- Power Apps – Increased agility for your organisation by rapidly building LCAPs, using a modern process and seamlessly integrateing with Microsoft Azure and other custom connectors.
- Power Automate – Provides the ability to streamline repetitive tasks and paperless processes, therefore, boosting productivity in your day-to-day activities.
- Power Virtual Agents – Refers to Artificial Intelligence (AI) integration and providing you the ability to create your own chatbots through managed workflows.
*Read on to receive a Free 2 Hour Ideation Workshop
Chapter 7: Adopting an Agile Process
Agile was developed to describe the flexible nature and iterative stages of sprints within the world of application development.
Fact: 71% of companies are implementing an Agile Strategy.
Does your company fall in the 29% that haven’t implemented an Agile Strategy yet?
We explain what you need to know about an Agile Methodology.
Agile is based on interactive developments, where requirements and solutions evolve through collaboration between self-organising and cross-functional teams.
Eight Principles of Agile
- Customer Satisfaction: Continuous iterations and re-evaluation of sprint delivery processes based on experiences and expectations of the client.
- Changing Requirements: A modern Agile framework works heavily off the basis of adaptability and responsiveness.
- Frequent Delivery: Immediate value is provided to clients as short, sharp sprints take place to acknowledge any changes throughout the development process.
- Cooperation: Working closely together ensures that all requirements throughout the build are met and everyone stays on the same page.
- Face-to-Face: The best form of communication is verbal; this way individuals can direct discussions and trouble shoot problems easier.
- Sustainable Development: An Agile methodology focuses on a balanced development solution, consitently communicating and collaborating possibilities through each stage of the development.
- The Art of Simplicity: This refers to the 80/20 rule. Prioritising core tasks which will produce the best results with minimal exertion for the best return on value.
- Self-Organisation: In using an Agile Scrum methodology your team will be able to achieve autonomy and responsibility which is met through sprint goals.
The Benefits of Agile
There are three types of benefits when it comes to implementing an Agile methodology.
- Towards Customers: An Agile methodology allows features to be delivered in a shorter, continuous cycle, therefore creating a more responsive design and increase in communication.
- Towards Vendors: This focuses on high-level features and developments, decreasing overhead and increasing efficiency.
- Towards Development Teams: Using an Agile Scrum methodology, teams are now able to maximise their workloads.
Why choose an Agile Development?
An Agile development will encourage flexibility, collaboration and transparency between all parties and facilitates a results-oriented solution.
Chapter 8: Security Driven
Security is an integral part of any application development and/ or ICT developments in general.
Have you heard of the Confidentiality, Integrity, and Availability (CIA) Security Triangle?
The Confidentiality, Integrity, and Availability Security Triangle (commonly referred to as the CIA Security Triangle) breaks down all three levels of security required for ICT developments/solutions.
- Confidentiality – Only authorised users and processors are able to access and/or modify data.
- Integrity – Data should be maintained and protected, allowing only authorised users to make changes to data.
- Availability – The authorised users should be able to easily access data whenever required.
Questions to consider when implementing security for your application:
- How can your business re-assure your customers/users that the application is safe and trustworthy?
- How can you determine what the major software vulnerabilities are?
- Thinking from a developer's perspective, what does the scope of security regard and how will this be implemented?
Chapter 9: Reactive & Progressive Web Apps
Reactive Web Applications
There are many different types of application development. This guide specifically focuses on two types of application developments: reactive web applications and progressive web applications.
Reactive Web Applications
Reactive web applications are considered a powerful tool in the modern world of application development!
There are several features that can be found in an OutSystems reactive web application. The following features provide added value throughout the whole application process, resulting in a seamlessly smooth transition and deployment:
Server-side and client-side logic – Refers to the call for - and abstraction of - business logic for an action to be completed.
Asynchronous data fetching – As a request takes place "details" are loaded in the background and updated as the data is received.
Reactive client-side rendering – Using a modern run-time architecture, most code and resources are cached, resulting in the UI being presented to the client user with immediate effect.
- Unparalleled Performance – Ability to create interfaces that work when data latency becomes an issue.
- Enhanced UX/UI capabilities – Patterns optimised for client-first development paradigm.
- Unified Development – Enabling you to create mobile and web applications in the same way for any channel.
Why Choose Reactive Web?
- Delivers lightning-fast applications.
- A single development experience.
- Provides state-of-the-art web architecture.
- Responsive designs in server communication, always keeping your apps responsive.
Progressive Web Apps
Progressive web applications, commonly referred to as PWAs, are web applications that deliver user experiences through progressive enhancements, for example the experience and functions on one device compared to another.
- Available Offline – Reliable and faster as the apps are available in weak network conditions.
- High-performance – Smoother load times provide users with confidence and a higher guarantee of staying on the page.
- Discoverability – Commonly viewed as snippet cards or suggested results at the top of a search engine results pages.
- Responsiveness and connectivity – Increased adaptivity due to immediate integration of requirements as they develop.
- Reduce costs – Multiple platforms supported by a single code base.
- Easily deploy – No need to use the app store to distribute this app.
- User engagements – Easier to re-engage with customers after the app is closed.
- Increased conversions – Significant increase in conversion rates.
Overall benefits of a PWA
- Rapid time from development to market.
- Only a single code base provided.
- Hassle-free extra device capabilities.
- Customisation with no limits.
The table below outlines the similarities and differences between a progressive web application and native mobile application (app developed for a specific device, only able to be installed on this specific device).
Progressive Web App
Native Mobile App
Works across all devices
Indexed by Google
One place to enter content
No download required
Can be linked and shared
Low data requirements
Chapter 10: Mobile Apps
- What does a successful mobile application look like in your eyes?
- Does it align with your brand identity and colours?
- What is unique about your mobile application and why should your target audience invest their time in using it?
- How can you cut your mobile app development time in half without compromising on quality?
A mobile app is a type of software application designed to run on phones and other smart devices. The main aim of a mobile app is to seamlessly connect and interact with its users, creating a valuable modern experience.
Top Six Mobile Features
- Visually develop User Interface (UI) and create incredible User Experience (UX) including a drag-and-drop editor, grid and flex layouts, smart vertical spacing, and accelerators.
- Offering offline applications, easy and powerful designs.
- Native device capabilities.
- World-class front ends and managed back-ends.
- Secure and sophisticated offline functionality.
- One-click deployment.
Benefits of a Mobile App
- Leading UI and UX.
- Offline functionality providing capability to build applications in poor network areas.
- Security architecture.
- One-click deployment.
Chapter 11: Working Offline
We’re taking an offline approach!
Offline is explained as having the basic capabilities to implement processes on a mobile application and only requires network connectivity to access data from the server at a later point in time.
Planning for off the grid
There are a list of questions to consider when planning to go off the grid including.
- What features and capabilities should be available offline?
- Will your users be required to browse data offline?
- Is there multimedia that needs to be viewed offline?
- What data needs to be stored locally? Bearing in mind that local databases are lightweight, remember to store only the essentials!
- What conditions will trigger synchronisation?
- When will you require a connection to the server?
Using visual language, a low-code application platform enables you the control required in the synchronising between devices and servers.The two most common ways that syncing can occur are:
- When the application starts.
- Alternatively, when connectivity to the server has been restored.
Using low code rapid technologies, a mobile application enables organisations to use and work with applications offline, generating increased productivity within day-to-day activities. Then syncing information when connected to the server or when the internet is restored.
Chapter 12: Tips & Tricks
Top Three Tricks
Here are three tricks to consider implementing when using an OutSystems low-code application platform.
- Create entire web pages with BREAD functionality by dragging and dropping an entity onto a UI flow.
- Edit basic CSS properties with style editors.
- Easily create entity diagrams.
Chapter 13: Glossary of Terms
Agile is based on interactive developments, where requirements and solutions evolve through collaboration between self-organising and cross-functional teams.
Application LifeCycle Management
Simplify and streamline the stages within an app development lifecycle, this includes development lifecycle, debugging, testing and deployment.
Enabling developers to build and deploy applications that are compatible on all core platforms and devices.
A low code application platform (LCAP) refers to a family of tools that dramatically reduces the hand coding required in traditional application builds.
Applications that are built and customised with zero programming experience.
In line with Out of the Box Functionality, these modules have common functions that several apps would require during their build.
Built to grow with your business needs in a timely manner.
Chapter 14: Bonus Chapter
OutSystems Client Case Study: Monadelphous
Due to the unprecedented circumstances of COVID-19, Monadelphous, a leading Western Australian Engineering Company, needed to quickly distribute an application that could track and monitor close contacts across multiple mine sites and offices.
Monadelphous engaged Novata Solutions to develop this Close Contact Application as we had previously created a Workforce Management Application built on the OutSystems Platform.
The Close Contact Application built on the OutSystems Platform as a PWA was the quickest solution to get this application out to their employees and contractors. It is accessible from any device and uses location of the close contact, on their own devices camera and then each user has a unique QR code, which they can share or scan. This information is compiled daily to a Site Administrator who then gets a report giving names, dates, time and latitude and longitude coordinates of the close contact parties. Following Privacy Laws the users do not have any information regarding who they have come into contact with, no historical data is stored on their device and only the administrator can see who they are. Due to the remoteness of the mine sites this application has the capability to work offline and is not required to have Bluetooth connectivity.
We hope you found this guide useful, fill in the form below to register for your Free 2 Hour Ideation Workshop.