Version migrations in GeneXus commonly include enhancements relative to the automation of the development process.
Two Starting Points for Digital Transformation
In this post I’ll outline what, in our view, is going on in technology. Also, I want it to be the initial spark or inspiration to take action from IT for digital transformation.
Our world is experiencing a multifaceted or multidimensional transition. We’re moving towards multi-experience development and a world where artificial intelligence will assist us in making decisions and automating processes.
To order all the factors in play, I’ll divide this analysis into two galaxies, as Gastón Milano, GeneXus CTO, did in his presentation
GeneXus in the short and medium term
There are transitions that occur at the users’ level, because they will work differently, and will interact differently with our solutions and systems.
Also, other transitions occur at the enterprise level. The enterprise world will be interacting differently as well.
All this brings profound changes to the software we will deliver, how we will integrate with the rest of the world, and even how we will develop software.
First, let’s look at the changes taking place in the world of users.
Users’ world: from single to multi-experience
The users’ world has led us to change many systems from enterprise-centric to user-centric. In this sense, we are transitioning from the construction of a single experience to creating multiple experiences.
As a side note, but one that indicates how current this topic is, for
GeneXus to be included in Gartner’s MADP quadrant
we had to demonstrate how our technology makes multi-experience possible.
Details of the multi-experience transition:
- Transition towards web AND native
: In these months there was a discussion in the world of software and programmers if the solutions had to be created web or web mobile or native mobile. The discussion does not make sense if you have a multiplatform tool that allows you to create everything at once with reasonable effort. This was the process followed by
which currently offers a Web, Web Mobile application, as well as native applications for the most popular devices. To achieve this, multiplatform development is required
- Multiple devices:
The previous point leads to a clear picture: access no longer takes place only through cell phones, tablets and desktops, but through multiple devices. For example, to reach as many users as possible, the GeneXus Meeting
app was developed for the following devices: native Android and iOS for phones and tablets, native Apple Watch, native Apple TV, web Desktop and mobile. More than 4,000 people attended in person, and there were more than 70,000 online viewers in three days. Online viewing of presentations was so successful partly because users could watch them on the screens of their choice.
Now, this is a solution on its own (I think it’s safe to say that it’s no longer just an application). It has multiple access routes, and regardless of the device used, users will always find design consistency.
- Design Systems:
The wide range of points of access creates the need for design consistency, something that has already been addressed by several large companies giving rise to the emergence of
. They are a set of principles, patterns, and practices for the company’s solutions to be consistent so that they reflect its philosophy or the ecosystem. These big companies then made their design systems public to let everyone who makes solutions for their ecosystems and users follow their design guidelines, thus offering a coherent experience. Some of the companies that did this are Airbnb and Google, but there are more. For example, SAP has the Fiori design system and I expect that all our companies will be working in this direction soon. K2B is developing its own, as announced at
GX28 by its Director Karina Santo
- Zero UI
: When we talk about multi-experience and aiming for the widest possible reach, we talk about Zero UI
(also known as Invisible Interface). A flagship case of Zero UI is Amazon GO. You just go in, grab the things you want to buy and leave. Things happen which are transparent to buyers: through the app, Amazon knows that you’ve entered the store, it knows you. Through sensors in the products, the system knows what you are taking and therefore charges you for them. In this scenario, I’d like to highlight the case of GeneXus with
They receive trucks of scrap metal and, on their arrival, they have to calculate how much each load is worth. This calculation is based on the various materials included –zinc has a price, iron has a different price, and so on. An expert at the entrance knows how to estimate this. The problem is that experts can make mistakes, so it would be great if assistance was available. For this reason, they created a system using Artificial Intelligence and image recognition that analyzes images and estimates the cost. This is a co-innovation project of Gerdau –
SAP and GeneXus
Maybe in the future, with enough training, it will not only be able to provide assistance but also become an invisible UI.
- Conversational interfaces:
In addition, we’re transitioning towards conversational UIs, also known as virtual assistants.
Gartner predicts they will be widely used
(25% in Customer Service Operations by 2020), especially in relation to user support. Why is that? Well, it’s clear to me. The impact on user experience of
, for example, is enormous. The chatbot understands both written and spoken natural language; it responds promptly, using links or embedded application components, and can even perform tasks for us. Also, they can escalate an issue to a human assistant when it no longer knows what to answer. This experience is unparalleled compared to what we were used to.
We at GeneXus are experimenting with this technology in a project intended precisely to enable user searches to end up in a conversation and vice versa. The objective is to better respond to queries about our products and services by relying on artificial intelligence. In the GeneXus Community, several companies have already implemented solutions including chatbots and even offer associated products, such as
Enterprise world: advancing towards ecosystems
On the other hand, companies are focusing on creating ecosystems. This explains why we in IT are moving from building enterprise solutions to building solutions for ecosystems. Within the framework of enterprise application development, Design Systems are proof of that. As for SAP, the publication of the Fiori Design System is to ensure that any solution that interacts with the ERP and is used by its users follows its guidelines to be perceived as part of its ecosystem. In this way, companies succeed in making this trend work to their advantage.
Details of the transition towards ecosystems:
From monolithic to distributed:
Moving from monolithic to distributed environments involves modularizing, providing APIs for solutions, and offering services.
Enrique Almeida, from the Uruguayan company Concepto,
mentioned in his blog
that Lucía –the Customs management system that has been installed in several countries in Latin America– integrates with more than 20 entities through web services and other connectors. I think it’s a clear example of how interconnected any system is today. In addition, it shows how it was gradually modularized, reaching more than 100 modules. The way to go to achieve distributed architectures requires modularization; this has several advantages, one of the key ones being the speed at which you can move forward. The ability to advance (through different stages of the life cycle) in one module without having to wait for another is very important. In this context, speed is key and will become increasingly so.
Multiple data sources:
The number of data sources that we will be interacting with is increasing and it will continue to do so in the future.
The files handled by our systems will be stored in more sophisticated storage systems that scale better; they are called Object Storage, such as Amazon S3. Data that used to be handled only by an RDBMS will now be scattered in sources specially designed on a case-by-case basis: they will be stored in NoSQL systems when they originate from IoT; in Streams such as Apache Kafka when we have to exchange messages between multiple systems; or even in BlockChain when a storage system is required that multiple entities can trust as a reliable source.
From Programs to Processes:
In the path towards digital transformation, automation is key and in that framework programs are not executed in isolation, but always within in the framework provided by business processes. So, first of all, we need BPM tools for process definition and formalization.
Coincidentally, in GeneXus China we’re working on several BPM projects where batch programs are guided by flows. In Uruguay, at the Social Security Institution (BPS) I also recall a BPM installation, which was mainly batch-based. The process for generating and printing all receipts for pensions and other benefits is a very complex process with calculations and derivations, all guided with BPM.
We’re also working on event-driven applications. For example, in the
Soccer Mexican League
app, one component is responsible for alerting when a goal is scored and others then react to that event; for example, one sends notifications, another updates statistics, and so on.
Finally, another clear trend is
execution in containers or even serverless.
This scales better and for many applications is also a cheaper and more flexible solution, which only uses the resources needed at any given time.
We’re transitioning from Single experience to Multi-experience environments in the users’ world, and from Enterprise solutions to Ecosystem solutions in the enterprise world.
Some questions remain open…
How do we make our way towards digital transformation? How do we take the next step? What examples of rapid application development tools do we have?
Regarding the last question, you know you can count on GeneXus, the best rapid application development platform
Its value lies in the complete solution, where each component integrates with the others and is part of something much bigger. For example, we can’t think of a chatbot in isolation, because it becomes valuable when there is artificial intelligence behind it, when it is integrated into the company’s processes and starts to perform tasks for the user. This is only a small example of the advantages provided by GeneXus for AI-assisted software development.
In this transitioning world, the value of GeneXus lies in knowledge-based development, automatic maintenance, and an agile and fast development platform.
This post is based on the rationale of a presentation given at the event “Two Starting Points for Digital Transformation” for IT Managers at Hyatt Montevideo, in November 2018.