Two years ago, in June 2016, we shared a vision with the world that highly influenced the direction of the application development market. Today, we take another big step to follow-up on this vision.
Mendix World 2016: The next generation of applications
For decades, the number of connected products has been growing quickly. Some say that the world’s first cash machine that was introduced in London in June 1967 was the first IoT object. A bit more than 40 years later, in 2008, there were already more things connected to the internet than people. The current IoT wave is not just a fad, it is the cumulation of technologies that have been in the making for years. This convergence of the physical and digital world, combined with cloud technology and Machine Learning, opens a world of opportunity for companies to create new experiences and new business models.
Don’t make the mistake to think that this will only impact industrial companies. IoT applications range from personal (wearables, smartphones, clothes), group (vehicles, smart houses, tourism, education), community (smart cities, roads, parks), to indeed industrial (smart factories, agriculture, retail, manufacturing). Just one example: insurance companies are experimenting with IoT and how it will influence their business models. Research shows that more than 40 percent of the people are open to sharing IoT data with their insurance company if it leads to a discount on their policy. And what to think about the disruptive impact of autonomous driving on insurance?
At Mendix World 2016 we shared how the only way for companies to survive in this fast-changing world is to increase their speed of innovation. Companies must adapt quickly to exploit the opportunities that are arising in the market. In a world that is becoming inherently software-driven, this means that companies have to be able to deliver and evolve software applications rapidly. In the end, there is no value in the Internet-of-Things. The value should come from the experiences that are enabled by it. The Internet-of-Experiences if you will.
That’s why we said back in 2016 that the next generation of applications will be Smart Apps. The Internet-of-Things, Big Data, Machine Learning, and new user interaction technologies (like Augmented Reality and Chat Bots) are shaping the next generation of business applications. These Smart Applications power innovative digital enterprises by being:
- Context-aware: they can tap into historical (big) data, sensor data, and know where the user it, what the user is doing, as well as the context of the current workflow or business process.
- Intelligent: they can intelligently process all data using (predictive) analytics, cognitive services, AI, and Machine Learning.
- Pro-active: they combine context-awareness and intelligence to predict what is going to happen and to pro-actively guide the user or trigger automated actions.
Probably, the name Smart “App” doesn’t fully cover how these technologies will evolve, as the “app” as we know it will disappear into ambient, augmented experiences across multiple touchpoints, connected to a back-end of smart, cloud-based agents.
Smart Apps need a Smart Platform
These digital experiences are now in high demand as businesses find themselves competing to engage their customers in rich and meaningful ways and to do so seamlessly across the customer’s journey and across channels. Businesses must analyze data from many sources, digitally automate processes behind the scenes, and deeply understand the customer and their intent in order to create the best possible experience. Building these applications is challenging and requires new technologies and skills. Let’s break down the anatomy of a Smart Application that delivers a great digital experience.
A useful way to think about the key aspects of a Smart Application is in a matrix with three columns (as we did with structuring the cloud landscape): compute, communicate, and store. These columns help to categorize every layer from hardware (compute, network, storage), software (behavior, messaging, state) to Smart Apps (intelligent, proactive, context-aware).
|Industry Solutions||Industry-specific cognitive services and algorithms||Industry-specific UI templates and chat bots, pre-defined AR scenes||Industry-specific data models|
|Smart App||Intelligent: predictive models, cognitive capabilities, workflow and case management||Proactive: push notifications, chat bots / Conversational UI, Augmented Reality (AR), SaaS plugins||Context-aware: historical data, sensor data, location data, data patterns|
|Low-Code Platform||Workflow, case management, security, BI||Omni-channel UI, out-of-the-box connectors to data, services and back-end systems||Domain models, visual mapping|
|App Services||Predictive analytics, Machine Learning services, Cognitive services||REST APIs to communicate with and manage things||Big data stores, data warehouses|
|Cloud Infrastructure||Containers, functions, rules||Messaging middleware, event logs, streaming data||Database-PaaS (relational, NoSQL)|
|Ingestion||Stream / event processing in the cloud and on the edge, device management||Digital – physical integration (HTTP, MQTT), edge connectivity||Timeseries databases|
|Things||Sensors, actuators||Bluetooth, RFID, NFC, Low-power wide-area networks (e.g. LoRaWAN)||Local storage|
The table above shows the different technical components that are needed to build and deliver a Smart App. It starts, at the lowest layer, with the connected things with their sensors, communication protocols, and potentially local storage. Then we need a way of ingesting all that data into the cloud, often by first filtering and transforming on edge devices. Once the data is available in a timeseries datastore we can build applications that use that data. These applications consist of services running in containers or functions running on serverless platforms. With, of course, the needed messaging middleware and databases (the Cloud Infrastructure layer).
To succeed with Smart Apps we need two additional layers that provide abstraction and automation over the lower layers in the stack. First, on the App Services layer, we need the big data stores to hold all the historical data and allow for efficiently querying that data. We also need a range of app services that help to process and analyze all that data, detect patterns, and predict future values. While these services provide the necessary building blocks, configuring and combining them, along with the lower layers of the stack, is the job of multiple experts and takes a lot of time. That’s why we need a Low-Code Platform that combines all the underlying layers and adds application development capabilities, all in an easy-to-understand and productive visual programming approach. This includes workflow and UI capabilities, as well as data management and out-of-the-box connectors to all the app services and back-end systems.
The Smart App row of the table above describes the resulting Smart Apps, enterprise applications that combine all the building blocks in the lower layers. These applications give users insight into the historical data, data patterns, and live data from the physical world. With predictive models and cognitive services, they predict what is going to happen and guide the user in the right direction. Not only by providing the web and mobile interactions, but also by enabling new interaction channels like augmented reality (AR) to combine the physical and digital world quite literally and conversational UI to reach the user proactively via the most popular messaging platforms.
With all these layers in place, we enable companies to quickly experiment and innovate without the need for large teams. With a Low-Code approach for building Smart Apps, we enable domain experts, people with a business background, to actively take part in developing the software a company needs to survive. Not only for their own companies but also by creating industry solutions (the top row of the table). With an increasing talent gap combined with an increasing need for more software, we must radically shift our approach to software development and enable more people, with different backgrounds in the application delivery process.
Smart Apps in the wild
Since sharing our vision on Smart Apps and the accompanying product releases to enable our users to build them, we have seen many great applications. Ranging from startups building their business around the smart use of software to large, established enterprises that are introducing Smart Apps for efficiency or innovative new business models.
For example, a startup that set out to solve an issue for the pharmaceutical industry. Over 90% of medicine that is used at home, does not meet the quality standards because they are kept at wrong temperatures. By creating a small sensor to include in medicine packages the temperature is measured along the journey while a Smart App acts when needed. With the included light sensor, it can even detect if a package is opened and deliver all kinds of services on top of that.
A lighting manufacturer for the horticulture industry built a Smart App that leverages IoT sensors in light armatures and predictive analytics to perform predictive maintenance and optimize lighting, power consumption and plant photosynthesis. An airline company proactively shows where the right equipment is, based on the next task of an engineer. A festival organizer delivers personalized services build on wristbands and sensors.
We also saw many examples in the building management space. Predictive maintenance for elevators, for example, based on how often they move and at what floors they stop. Or smart scheduling for field engineers based on their location, skills, and the sensor data from all the installations in buildings.
These are a few examples that show how applications are becoming smart and how software is driving the integration of the physical and digital world.
What we learned and how to fix it
If we look at how these Smart Apps are built by our developer community we see the huge advantage of Low-Code. Small teams can quickly experiment to find the right use case on top of all the available data and connections. They can also quickly iterate with the actual end-users to find the right balance between proactively guiding the user and giving freedom and flexibility.
There are still some challenges, though. Developing the application itself is quick and easy including the user experience, application logic, data integration, and the use of out-of-the-box connectors for IoT and Machine Learning services. However, to make the application work a developer also has to configure the devices and connections in the selected IoT platform and define and train the necessary Machine Learning models. This makes the development of a Smart App an expert job that can only be done by a limited number of people.
Sensors often don’t come with ready-to-use business-level events that a Smart App can listen to and act upon. Sensors emit raw data that needs to be cleaned with e.g. signal analysis, patterns need to be detected, and outliers reported on. This processing sometimes needs to happen on the edge, close to the source to enable instant responses and limit the amount of data transfer. Then, the event data needs to be combined with data from other systems like e.g. ERP, CRM, scheduling systems, and location data from personal devices. On top of the combined data, application logic needs to be defined and often an additional layer of smart analytics is needed to create the right predictions.
As the world is moving towards Smart Apps, we need higher levels of abstraction and automation across the entire Smart App stack. Facilitating domain experts that have the knowledge about what the data means and how to add value to the business, requires a Low-Code approach with visual models across all services. We need to define a unified developer experience that offers high-level constructs to clean and analyze data, that provides a library of Machine Learning templates including easy ways to adapt them, and that uses AI to assist developers. In other words: we need a Smart Platform for Smart Apps.
How Mendix and Siemens intend to deliver the next generation Smart Platform
The only way to create a unified developer experience that is offering the right balance in ease-of-use, expressiveness, and flexibility is deep integration across the entire Smart App stack. A stack that’s much deeper and broader than app platforms have been. That’s why we are excited to join forces with Siemens. The combination of the Mendix Low-Code platform and Siemens MindSphere uniquely covers all elements of the Smart App stack. MindSphere is the cloud-based, open IoT operating system from Siemens that includes IoT connectivity, asset management, timeseries storage, event management, data processing, and analytics services (e.g. anomaly detection, signal calculation, trend prediction). We intend to create a unified, AI-assisted developer experience with deep integration of the event management, data, and analytics services of MindSphere into Mendix, to create the world’s leading Low-Code and (Industrial) IoT platform.
For the low-code market, this means that the vision leader in Low-Code (according to Gartner) now includes the muscles to handle enormous amounts of data and provide advanced analytics on top of it. It also means that the development experience for Smart Apps can now take a giant leap and that development and testing can be done against the rich digital twins of the physical products. The product lifecycle software of Siemens includes all the design and simulation capabilities to enable app development on top of realistic digital twins that can be adapted continuously based on the live data from production systems.
For the Industrial IoT market, this means that the conversation will move to what matters most: business value. In our opinion, the IoT market lacks a vision on application development. Most focus is going to the bottom of the stack, the sensors, connectivity, and data, which is understandable and necessary. However, it will be impossible to meet the high expectations for value and actual business change. The connectivity, data, and even the analytics aren’t delivering any value to the business. They are necessary, but not sufficient. In the end, it is all about the experiences that can be built on top of this. Experiences that lead to more efficiency. Experiences that lead to new products and services. Experiences that deliver the business model of the future for companies struggling to survive in a software-driven world.
The combination of Mendix and Siemens can lead to an open platform that enables rapid delivery of Smart Apps with a unified, AI-assisted developer experience across all Smart App aspects.
Disrupting the market, again
Over a decade ago, we had the bold vision to disrupt the enterprise application development market. Over the years, we pioneered what is now called the Low-Code market. We strongly believed that software development needed a paradigm shift to keep up with the demands of the business. Software development had to be faster and a much larger group of people had to be enabled to take part in it.
Today, it feels like we are still at the beginning. We never imagined the oceanic opportunity that is now in front of us with the merge of the physical and digital world, with technologies like IoT and AI. We feel we have to disrupt and pioneer again as we believe that:
- Most enterprise applications will (have to) become Smart Apps. They need to handle large amounts of data, often coming from IoT connections and the user interactions will become increasingly rich and dynamic. These applications need to be context-aware, intelligent, and pro-actively guide the user across all interaction channels including AR.
- The future of application development is not Low-Code. It is AI-assisted development on top of a Low-Code foundation.
- The future of development platforms is integrated. To accelerate development and apply AI to all aspects of delivering a Smart App we need to unify the whole experience and deeply integrate across the entire stack. This includes UI development, application logic, but also data management, events, analytics, and Machine Learning.
We believe that the platforms that will win, are the ones that succeed to deliver value at the moment the business needs it. Platforms that cover all aspect of a Smart App, across the entire lifecycle. Platforms that purely focus on Low-Code or platforms that purely focus on IoT will not survive the wave of disruption that is happening in the market.
With the backing of a stable and trustworthy partner like Siemens we are ready to take on this challenge. We intend to significantly accelerate investments in three main areas:
- Stand-alone low-code business: in addition to the purchase price, Siemens envisions investing significantly in Mendix over the next 3 years to accelerate investments for R&D and go-to-market expansion. We will continue to have an independent roadmap and we will continue our legacy as the most innovative, open, extensible, and scalable Low-Code platform. We will deepen our support for the SAP and IBM ecosystems, including, of course, IBM Watson and SAP Leonardo which are strong enablers for Smart App development. We will also continue to invest in our direct and partner sales teams, and continue licensing our technology to customers and partners across all verticals and technology ecosystems.
- Industrial IoT: Mendix and Siemens MindSphere are the first and only combination of Enterprise Low Code and IIoT. We intend to invest in a cohesive developer experience with the goal to create the Operating System for the Physical World.
- Industry Solutions: we intend to jointly develop highly integrated industry solutions across all Siemens divisions and business units.
With all these investments, our developer community will see an accelerated delivery of innovations and the broadening of our platform to cover all aspects of Smart App development. Now is the time to brush off those ideas for innovative Smart Apps. We like to hear them to make sure we invest in the right places! And even if your app is not “smart”, our platform will continue to be the best place to deliver enterprise applications. With all the investments we are doing to become the best platform to deliver Smart Apps, any type of enterprise application will benefit.
During the first half of this year, we released many improvements to our platform. We also announced the first AI-assisted Low-Code development environment and called it Mendix Assist. Later this month we will let you experience a first glimpse of the future by bringing Mendix Assist to all our users. Stay tuned!