Developing applications using a traditional approach can be a costly and time-consuming venture. For this reason, many organizations are now using low code to develop their own custom apps at a much faster pace. As developing apps this way doesn’t require a full team of developers, even smaller organizations can experience the benefits of having their own software.
As low code has become increasingly popular over the past few years, more and more low code platforms have emerged. However, OutSystems’ CEO Paulo Rosado believes that many of these platforms are making the same mistake that others did with Visual Basic 20 years ago by offering solutions that don’t really meet the needs of businesses or developers. TechRadar Pro spoke with Rosado to learn more about how he helped pioneer the low code industry and where he believes it is heading.
- We've put together a list of the best laptops for programming
- These are the best Linux distros for developers
- Need something more powerful? Check out the best mobile workstations
Why is low-code becoming so popular among businesses and what advantages does it provide when compared to traditional software development?
New approaches to development are gaining in popularity recently because while pressure on IT to deliver value to the business has never been higher, the success of developers is increasingly stymied by the productivity limitations of traditional development. Only a small, elite group of tech companies are finding success with traditional development approaches, and for everyone else it just isn’t fast enough, efficient enough or flexible enough for them to be able to consistently get their jobs done. In short, low-code helps more companies - even ones with small development teams - build software faster - and the advantages are so significant, like you, we are seeing interest explode.
That being said, we identified these core challenges and started working on ways to solve them more than 20 years ago, and a visual, model-driven approach to coding (i.e. “low-code”) was a natural place to start to get teams building high quality applications faster. As one of the inventors of low-code, we discovered early on that as the solutions customers were building became more complex, that “low code” by itself wasn’t enough. Customers didn’t just need better, more efficient development tools, they needed an entire platform that improves the full application lifecycle in the same way that low-code improves the development experience. For customers with serious development needs they require a platform with no compromises. They are looking for real development, but under a different set of rules. So we have invested in taking that low-code foundation, and building a set of platform services and capabilities around it that make it very different from anything else in the market.
By combining the speed and efficiency of low-code development, with the expressiveness and capability of traditional development, customers of any size are capable of tackling the most complex applications - so they can innovate, compete or just do a better job of running their organizations and servicing their customers needs. At the end of the day, it’s not how you accomplish something, it’s whether or not you deliver the result. Modern applications platforms just do a better job of helping organizations solve their most complex software challenges - and those advantages are getting more and more people interested in making the switch.
How long does it take on average for an organization to build an app using your platform?
The answer depends on the level of complexity, but a simple rule is 1/10th of the time it would take you in traditional development. A simple first version of a mobile app in a few hours, a more complex MVP candidate in a day, or completely rebuilding a massive, inflexible back-end system in a few months. When the first round of COVID lockdown orders hit, we had customers building completely new applications that enabled their employees to work from home - over a weekend! These were apps that would have taken weeks or months had they built them using traditional code.
Ultimately, OutSystems helps businesses create applications they need at a speed far greater than any alternative, without compromising on functionality, scale, reliability or security. Most importantly, with OutSystems, once you’ve deployed an application, you can continually evolve it as quickly as your requirements change. The dramatic speed and flexibility that OutSystems delivers applies not only to version 1, but version 2, 3, 4 and everything beyond.
What are Service Studio’s ‘Builders’ and how do these visual toolsets help speed up the development cycle?
Service Studio is the primary development environment for the OutSystems platform, and it enables OutSystems developers to quickly assemble mission-critical applications either from scratch or from a massive library of templates and pre-built code modules. Our Builders are complementary tool sets that are designed to be used by team members with specific skill sets or are focused on enhancing a specific part of the development process. All of the builders, like Service Studio, rely on a visual, model-based approach and they are all seamlessly connected to enable team collaboration. This means that diverse teams can collaborate on applications with the expressiveness of traditional development, but with superior speed and efficiency. For example, Experience Builder is designed for a UI/UX expert to build out the user interface of an application. That interface design can then be augmented - seamlessly - by a developer using Service Studio. Similarly, a business analyst can define the application workflows that underpin an application - and those workflows seamlessly integrate with Service Studio.
Each of the Builders add unique, specialized application design and creation functionality to the platform. More importantly, the Builders enables all of the diverse members of a multi-functional - including business analysts - to all seamlessly contribute to the creation of enterprise-class software solutions.
Can you tell us more about how OutSystems is using AI to reach the goal of making application developers one hundred times faster?
OutSystems uses AI throughout the platform - not just for development - to improve every aspect of the Dev/Sec/Ops lifecycle.
Through deep integration in our development tools, AI assists developers in the application building process by automating, guiding and validating design choices. Leveraging our experience with tens of millions of anonymized application graphs, we have developed an AI engine that subtly suggests and validates design patterns based on learned code patterns and best practices, reducing developer guesswork and eliminating most of the repetitive tasks associated with traditional, procedural coding. This seamless integration of AI enables developers to express their creativity without being intrusive and while ensuring that customers reach their desired business outcomes faster.
Along with using AI to help developers more efficiently build applications, OutSystems includes powerful tools so developers can include AI-powered functionality in their applications. ML Builder is a great example of this - it enables developers to train new models based on their own data to power new features in the software they are building. We have other AI-based development features that rely on OutSystems own models. For example, we have models built into the platform for natural language interface creation (e.g. chatbots), text recognition and image processing. We also have a collection of pre-built components to help developers take advantage of cloud AI services such as Rekognition in AWS.
In addition to AI-powered development capabilities, something that sets Outsystems apart is the extent to which we also rely on AI to enhance our platform automation services and management capabilities. For instance, enabling applications to continuously change is one of OutSystems most important capabilities and this is powered by one of our most innovative features: TrueChange. This platform service, powered by AI, manages all of the dependencies across the entirety of the application modules in an organization's software portfolio. TrueChange ensures simultaneous updates by multiple developers are seamlessly merged. With automated, AI-powered impact analysis, it protects changes in one module from breaking any dependent modules, and TrueChange eliminates costly issues caused by inconsistent version control.
This AI-powered automation also enhances deployment and management functionality. We all know that deploying applications to the cloud has traditionally been complex and daunting. With intelligent, AI-powered automation, OutSystems is able to make this as simple as a single click. Powerful platform services, including TrueChange, automate most of the complexity associated with application deployment such as version control, application/module impact analysis, management of multiple operating environments (i.e. dev, test, production), database management, access control and generation of KPI and metrics. Even deployment rollback functionality is fully automated.
Finally, we’ve recently introduced some ground-breaking AI-powered functionality to help with architectural analysis. Architecture Dashboard is a state-of-the-art, AI-powered management tool that helps architects evaluate the application of design best practices, enforces approved architectural patterns, and performs technical debt classification. With unique, AI-powered intelligence, Architecture Dashboard also performs refactoring analysis across enterprise-wide portfolios of applications and modules. Refactoring detects and suggests solutions for remediating redundancy. By enforcing good architectural standards and by detecting and eliminating repetition, we dramatically reduce the complexity of making future updates and, at the same time, dramatically reduce management overhead.
OutSystems takes advantage of AI to improve every step of the application lifecycle - from design and development to deployment and management. We are on a mission to not only make developers 100x more productive, we want to help make the entire IT organization 100x more productive.
What is TrueChange and how is it able to check for bugs and architecture errors in an application?
TrueChange is a patented AI-powered engine that helps developers address the complexities created by ever-changing software requirements. While developers are using the IDE, TrueChange is able to understand how each change impacts the various layers of an application – visual interface, logic, process, data. Take something as simple as changing the column name in a database table. With traditional development, this change requires a developer to know all of the different layers of code that have to be updated. TrueChange automatically updates all of the dependent code and infrastructure e when changes like this occur, saving the developer time and ensuring bugs don’t enter the code.
Modern applications are assembled from often countless different parts, and access a huge swath of data sources and APIs – too much to manually manage. TrueChange tracks all versions and compatibility across these dependencies, not just at an app level, but across the entire portfolio of OutSystems applications. This means that whether you’re updating a microservice, or an API, or a UI component, or a database table, TrueChange identifies all impacted apps and services, automatically fixes required dependencies, and ensures builds are smooth, and applications don’t break no matter what’s been changed.
What benefits does OutSystems’ new Machine Learning Builder bring to application development?
Machine Learning Builder offers developers democratized access to advanced machine learning capabilities, so they can create custom AI apps with personalized experiences. ML Builder solves two of the toughest problems with AI in the enterprise: the lack of data scientists to build models, and the difficult process of getting an AI model into production in an app. Using ML Builder, developers are able to integrate with their company’s own data, then they select “I want to train this machine learning model to predict this field,” and ML Builder will run dozens of experiments, select the best algorithm, and then build the model. From there, developers simply drag and drop the model into their application — no advanced data science knowledge or complex coding required.
How does your company’s AppShield help secure mobile applications against malicious attacks?
AppShield represents some of the most advanced protections available to secure mobile applications against sophisticated malicious attacks. As part of the OutSystems platform, AppShield adds additional layers of security during deployment to make applications more resistant to intrusion, tampering and reverse engineering. AppShield also makes it more difficult for attackers to spoof an app, tamper with its security controls, inject malicious code, run in an insecure environment such as on a rooted (Android) or jailbroken (iOS) device, and perform other malicious activities.
What’s next for OutSystems?
OutSystems growth has been monumental, even in 2020. In fact, our customers’ successes in quickly building software solutions forced by COVID has shown many more companies the power of the OutSystems platform, and we’ve seen more strategic opportunities as a result.
OutSystems is helping more and more companies - of all sizes - seize new opportunities by simplifying development and building change into the process. While of course it’s important to build applications quickly, companies will continue to understand that “quickly” just isn’t enough. So we’re continuing to invest in sophisticated technologies, like AI, so that whatever is built quickly is also built well (i.e. securely, scalably, and reliably) and that applications are able to continuously adapt as quickly as the needs of the business change.
- We've also highlighted the best mobile app development software