Users Demand Performance & Low-Code OutSystems
Users demand Performance
Jeff Bezos once said: “for each 100ms delay in loading Amazon.com we lose 1% in sales”. That remark still holds.
(see sources listed below)
In a market driven economy, you will evolve your products to fill a need in your clients. As a disruptive innovator, you may find yourself in the small group of those that create their own market, but even then, in this fast-pacing world, competition will always be just a few quarters away.
For the past 20+ years (1) with the explosion in the 90’s of personal computers and information technologies, the user interface / user experience (UX/UI) is gaining ever more relevance – so much so that it ranks in the Top 5 skills of 2020, in lists of the best jobs to have, with 289% increase in requests for UX interviews in 2020 (2).
Customer demands are increasing, and especially regarding response times: “Your customers no longer compare you just to your direct competition. You are being compared to the best service they have ever received – from any company or any person. It could be a vendor, a retail store, even an online seller – any business.” (3).
In an analysis made in 2015 (4), users were ranking quality in the applications mainly by Usability and Performance:
and that response time is a very important factor:
Today this trend has only increased speed – with a demand for ever faster response times from the solutions. Amazon says that a page load slowdown of just one second could cost the company $1.6 billion in sales each year (5) – how’s that for a sobering perspective?
To evaluate and measure performance of software applications, the APDEX (Application Performance Index) score was created. The APDEX Performance Score purpose is to convert measurements into insights about user satisfaction, by specifying a uniform way to analyse and report on the degree to which measured performance meets user expectations (6).
Low-code Application Platforms (LCAPs), OutSystems and Performance
There is this trend about low-code and no-code platforms, with the promise of having average business users being able to create and deploy solutions, the so-called “citizen’s development” without needs of a professional engineering team.
Gartner expects 65% of application development will be low code by 2024 and a survey by No-Code Census in 2020 showed a 4.6X productivity gain over traditional programming (7).
We can be reasonably sure LCAP influence is here to stay and growing with ever more vendors and maturity levels (8) – from platforms focused on small businesses and open source solutions, to platforms that are fully capable of delivering enterprise level, mission critical solutions like OutSystems (9).
The UX/UI in OutSystems is already built in the platform, so even without a specific UX/UI expert in your team, you can build a beautiful application fast (10) with predefined layouts and widgets, in a WYSIWYG (What You See Is What You Get) type of editor.
Following the automation and low-code mission, OutSystems will also try and help you with out-of-the-box performance optimizations (11).
But what kind of monitoring and analytics does OutSystems offer – particularly when it comes to your applications performance, that ever more relevant client focus? (12)
OutSystems Lifetime Analytics gives you a dashboard of high-level information around your end user experience, detailing it from the perspective of what runs on the client, the network and server (13), albeit limited to Traditional Web Apps (not Mobile or Reactive apps). Specially if any performance issue is related to database query’s times on the server, this OutSystems audit allows for a drill-down and identifies which query it is (14). This information of OutSystems metrics and high-level analytics can also be obtained through an events API, the “PerformanceMonitoring API”, although information there is kept for only 48h (15). Finally, it may be low-code, but when starting projects, taking your time to guarantee you are following the OutSystems Performance Best Practices (17) is also highly recommended!
Additionally, if you are asking yourself how application performance is measured in OutSystems, the OutSystems APDEX score (16) defines a time of over 8 seconds as a frustrated client, 2-8 seconds as a tolerable experience and less than 2 seconds has a satisfied experience:
OutSystems Performance Monitoring
Infosistema in its Intelligent Performance Advisor (IPA) solution (18) offers you a performance monitoring tool for OutSystems, available for free directly from the Forge (19).
IPA already gives you the capability to instrument your OutSystems apps to get performance metrics on a deeper level and being able to tackle use-cases such as:
- For each transaction flow (grouping of probes/data points) you define across your applications, configure the SLA and receive automatic notification alerts.
- Troubleshoot the performance of any OutSystems application, that for example usually runs OK but in a small X% of the time is frustrating clients (creating a high risk of them leaving).
- Visually deploy performance probes as you would any other component anywhere in your OutSystems apps code flow, so you can get detailed information on any step in your transaction flow, and have these probes deployed and collecting data seamlessly and without impacting operational performance – so you can have this monitoring always active.
- Execute performance tuning on transaction flows or sequences of application steps, where there may be no issue now, but identify how close you are to something bad happening and what can you do to prevent it.
- Validate system performance changes and get hard data and measures on those changes versus other historic data (without limitations), to better understand the impact of changes or optimizations you’ve deployed.
- Continuously and automatic monitorization of response levels against pre-defined business requirements of user interaction service levels – you’re able to group probes into transaction flows that make sense in the specific context/application domain.
- Identify patterns of application performance, for example identifying issues at certain hours of the day or days of the week.
What more will IPA offer you soon?
IPA through an artificial intelligence (AI) & machine learning component will give you a prediction of future performance problems based on data and algorithms your current OutSystems solution has (20).
How many times have you seen an application that works well now, but in 1 year time slows down and starts to become ever more unusable and unfriendly to users?
Looking into the OutSystems metadata, database specification and algorithms, together with your own transaction flows and their expected SLAs defined inside IPA, it will pinpoint problems before they are visible in dashboards or any monitoring tool – or felt by your clients!
So instead of having your team being in firefighter mode, solving performance problems as they arise, you will have insightful feedback about how your apps will scale in the future and why, allowing you to program into your project or maintenance plan the needed changes or upgrades and avoid the production impact.