OutSystems Update: AI and Machine Learning for Application Development
The last big announcement OutSystems made about our efforts and investments in AI research was when we launched OutSystems.ai, the evolution of our initial AI program, “Project Turing.” This announcement also coincided with my joining OutSystems and my introduction as the new head of the AI group. A lot has happened in just a few months, and I am excited to tell you that we are close to making some very impressive announcements in the coming weeks.
If you attended either our NextStep or OutSystems Developer Conferences in Boston or Amsterdam, you got a peek behind the curtain at our recent research and some practical applications of AI. As well, at Web Summit 2018, you heard from our CEO, Paulo Rosado talk about his vision for AI in the platform.
Since then, we have further expanded deep research and development in AI-assisted development and machine learning on code (#MLonCode). We are also very close to announcing the release of several AI-specific features in the OutSystems platform that will allow developers to add AI capabilities to their own apps. More importantly, we learned a lot from the first prototypes we opened to some of you via our EAP, and we used it to take the user experience and capabilities to new levels. We are focused on ruthlessly iterating until we have an amazing, AI-assisted user experience where the Machine is working for you and making you truly more productive.
In this post, I’ll go over what has happened so far, what we learned, and what we’ve been doing. Some exciting things are coming and we want to keep you involved.
Low-Code and AI: Accelerating Moore’s Law In Application Development
Going back to February 2018, once again, OutSystems revealed that it was betting on its ability to change the future of software development by ushering in a new level of automation and developer assistance through AI. Project Turing was named after Alan Turing, a pioneer in computer science and AI; our goal was to create a center of excellence in AI for software development. Another goal was to invest 20 percent of our total R&D budget in AI and machine learning, ultimately accelerating the future of coding and pushing the state-of-the-art forward.
This was the mission that inspired me to join OutSystems. I arrived at the company on March 12, 2018, and we immediately got to work on this ambitious project, assembling a team, establishing partnerships, and setting a vision and a plan to get there. I introduced myself to the OutSystems world just six months after that at NextStep, the OutSystems annual conference for anyone interested in application development. By that time, we had evolved Project Turing into a more robust business collaboration with fully staffed teams of dedicated researchers and engineers. And from that was born the next level of AI for application development—OutSystems.AI.
My “First 90 Days” in Action
OutSystems.AI has an internal AI research group and associated product teams, as well as collaborations with top universities, such as Carnegie Mellon. At the OutSystems conferences, I was thrilled to host a live demonstration of the first prototypes of true AI-powered application development assistance and share our vision for the future. You can see my presentation on our OutSystems AI page. I’m the one walking across the stage in the first video.
Our next initiative was the creation of the OutSystems.AI Early Access Program. Our goal for this program was to bring together a group of active members of our online community of professional developers, testers, security experts, and others who were interested in testing early prototypes of AI and machine learning technology that stemmed from our AI research so we could gather feedback and understand what worked and what needed more iteration.
The EAP was focused on providing recommendations for “next steps” as developers used OutSystems to build applications. For example, say you were modeling the logic flow for what should happen when an organization receives an inbound registration for an event or a downloadable eBook. As you can see in the screenshot I’ve provided, the developer has already modeled the logic flow, including the action taken if the contact information is not already in the system (exists → false). Now the developer is coding the opposite (exists → true).
We know from our own experience—backed up by data we collected during our EAP and other sources—that typically the developer will code in one of three logic actions to a known registration contact: “Assign,” “ListAppend,” or build in an “If” statement. Or maybe even all three. Rather than hand-coding this, or even going and searching for it in the code library, it’s already right there. The developer just has to select the desired code snippet and it automatically drops right in.
Now imagine if everything you did was accompanied by accurate predictions, similar to these, of the next steps. How much time could you save then?
To EAP, and Beyond!
We had a tremendous amount of interest and early adoption in our EAP (250+ people). To really put it through its paces, we also opened the prototype to a small group of developers, and we’re glad we did. We learned a lot—not only about how our machine learning models were behaving in the real-world but also, and more importantly, how our developers interacted and wanted to interact with machine-powered agents while they are coding.
We took what we learned, and since then, we’ve been continuously iterating on the user experience, making our models more powerful and accurate and, more importantly, more specific. The more specific the models, the better we can provide highly relevant suggestions that truly accelerate and augment developers.
So that’s what we’ve been working on for the past few months. Well, this and building in some specific AI capabilities that we’ll be announcing in just a couple of weeks. We’ve been busy!
Ultimately, our goal is not to just throw together some half-baked AI functionality into our product just to say we did. We want to make sure we are bringing real assistance and real value to our developers and we’re hard at work now on some significant improvements that we’re testing with a restricted group.
In my next blog, we’ll explore some of our ongoing research and talk about the unique challenges that AI and machine learning researchers face when working with code versus natural language. Cool stuff!