If you’ve been keeping up with us, you know that our core goal is to deliver extreme agility with no limits, allowing everyone to innovate. And if you’re new here, now you know what OutSystems is all about.
A future with no limits is one where intelligent tools augment the work of users with the expertise learned from millions of anonymized code patterns. At outsystems.ai, we’re building that future with the ultimate goal of making app development 100x faster, while enabling pro developers and business people to deliver robust, high-quality applications with different levels of complexity.
That’s why we’re happy to announce the general availability of our next-generation AI-Assisted Development capability, which is built right into Service Studio — the OutSystems development environment. This AI assistant allows pros to be more focused and productive while also helping beginners learn the ropes faster, making the development process easier for all.
Making App Development Simple For Everyone
Extreme agility is not just about technology; it’s also about talent. One of the ways OutSystems has been impacting the market is by unlocking the potential for app development in people with different backgrounds, not just software engineers.
However, the path from explorer to pro takes time and going through multiple projects and challenges. Our brains are pattern-matching machines, continually trying to find patterns and unconsciously matching them with previous experiences.
This learning process is particularly challenging when we’re talking about software development, where there are always many scenarios and requirements specific to each company and each product. A lot of these advanced use cases need to be implemented with high quality and the right architecture, using best practices and the proper patterns.
OutSystems makes the whole lifecycle easier by abstracting a lot of the complexity. On our AI team, we wanted to take this even further by embedding an assistant in the product to augment developers’ productivity.
And so, with state-of-the-art AI and machine learning research done in-house and in collaboration with top research institutions, we created an artificial expert. It can go through this learning process, at scale, and over millions of code patterns and applications, learning and building its understanding of the most relevant patterns.
We embedded this capability in Service Studio to help developers at any stage of their career lifecycle, providing them with a co-pilot that allows them to be more productive and effective, while also guiding them to the most likely next steps.
Rafael Valadas, a trainee in the ITUp Turn Up program, says, “I use the AI assistant to make my work easier and not have to search for every little thing each step of the way. When it gives me suggestions, I just have to click right there, and that’s it!”
If we look at other fields, we see that AI and machine learning have already made a significant impact, enabling new levels of efficiency and assistance. However, up until now, AI applied to software development has remained in its infancy.
As we’ve seen in a previous blog post, there are particular challenges in successfully embedding AI in software development. Today, we believe that we’re changing the game for developers who use OutSystems.
A built-in experience in the OutSystems development environment helps beginners by suggesting the right path to their goals, faster and with higher quality, while also enabling pros to be more productive and challenge their limits in reaching their business outcomes.
Improving Your Logic in Every Flow
With AI-Assisted Development, you get inline suggestions for the next step in your logic flows. These suggestions are specific to your business logic and highly accurate.
It works anywhere in a flow, and in any flow: web, mobile, reactive web, services, business processes; you name it. Wherever you need to create or edit logic in your application, the AI assistant will be there for you.
You can access the assistant by hovering and clicking in any connector. It then shows you up to six suggestions, unless it’s very sure of your next step. If that’s the case, it’ll only give you a single precise suggestion, and you can move on with a single click. We crafted the user experience so that it never gets in your way, but it will always be there when needed.
You can also accelerate your flow development by simply dragging a connector from a node and have the suggestions appear automatically. Our users liked this so much that we’ve seen some developers creating whole flows with just these draggable suggestions.
“I just tried this for the first time on some CRUD Wrappers. When creating these first I took around five minutes and a lot of mouse movement, but now it was completed in a moment because the AI guessed exactly what I wanted to do! Impressive!”
- Vincent Koning, software engineer at Royal Boskalis Westminster
Additionally, the assistant will attempt to auto-fill all node properties instantly, allowing you to focus on more creative tasks and delivering value to your business. For instance, if you define custom CRUD wrappers – actions that “wrap” one or more of the default Entity Actions – the assistant will suggest them instead of vanilla entity actions where it makes sense.
One of the fundamental principles we have in all our initiatives is that what matters is the real-world value these capabilities have for our customers. This means that we’re focused on improving the efficiency of developers who are using OutSystems and letting our beginners be more efficient earlier. More than having a great demo, we want to have a great product.
That’s why we iterated so much in the user experience and model accuracy, and that’s why many people who have been using AI-Assisted Development acknowledge significant real-world productivity and learnability gains. Stay tuned, as we’ll have a blog post dedicated to the user experience side of this feature soon.
Building AI-Assisted Development
The technology powering AI-Assisted Development is the result of extensive research into machine learning on code, automated reasoning, and code analysis. From this ongoing research, we developed two core technologies that unlock new levels of AI code understanding: X-Ray and Code DNA.
- X-Ray is a code analysis and normalization engine. It scans each anonymized flow, normalizing them, and examines the structure that is behind what you simply see in Service Studio. It does so to learn generalized patterns that translate across different scenarios and apply to specific business logic. This deep code analysis expands the context and information of a single flow with other implicit contexts, relationships, and dependencies. This means that our AI agent will be able to see an order of magnitude that contains more information than what a user can usually see in Service Studio, allowing it to make decisions.
- Code DNA: With the flow data analyzed, augmented with X-Ray, we train a series of machine-learning models that understand OutSystems code and groups different code patterns semantically to address the nuances of different applications and contexts. The algorithms we developed to achieve this represent the state-of-the-art in deep learning applied to graphs. This engine is what enables the AI assistant to predict what the most likely next steps are, with high-accuracy and business-logic specificity.
Both technologies work in tandem to create an artificial expert that can understand and act on the context of the specific code each developer creates. You’ll hear more about X-Ray and Code DNA, as they’ll support several other AI-assisted development capabilities coming in the future.
AI Infusion Throughout the Whole Development Cycle
The OutSystems platform integrates the whole software development lifecycle (SDLC), from a simple idea to delivering value to your customers. Our customers have been able to innovate fast and transform their businesses because our product compresses the lead time of this entire cycle. To take this ability to the next level, OutSystems is working on a new set of tools that were announced at NextStep, such as Workflow Builder, Experience Builder, and Architecture Dashboard.
Therefore, our vision for AI-Assisted Development is not restricted to Service Studio and pure software development tasks. We’re working to infuse AI throughout the whole SDLC in different tools. You can see this in the Workflow Builder, with intelligent suggestions while designing your case. In 2020, you’ll also see the Architecture Dashboard benefit from intelligent architectural recommendations and AI-driven architecture refactoring.
With our next-generation AI-Assisted Development capability, we’ve taken a powerful deep learning engine that gains expertise over time and embedded it into our development environment.
If you want the most advanced software development experience, download the latest OutSystems development environment and start using AI-Assisted Development to boost your productivity now, learning and effectively innovating with no limits!
Haven’t tried OutSystems yet? Sign up for the personal environment and get started today.