Nowadays every business uses in its daily activities a lot of business or management programs, as ERPs, CRMs, accounting, inventory, management of virtual shops, etc. And long before the "office" companies, the factories started, with control systems for machines, wagons, rails control and more automatisms. We can say that there isn't a process in a business without a program assigned to control it.
All these systems are, in essence, mathematical equations and formulas that calculate results based on inputs. They are responsible for transforming data, passing it from a raw structure to something that makes sense for the business and drives it, and provides useful information to improve it.
It seems very complex, but in reality it isn't. All these systems are based on mathematical rules whose logic is easy to understand. But there is a variable I am not saying anything about, one that changes the rules of the game. These systems aren't black boxes that we keep in a dark room and let them do their work, they need to work with a quite unpredictable entity: the user, the human being.
In the beginning, this program-human communication was carried out using the typical green on black consoles that allowed us to send commands that the programs obeyed. Over time, these consoles have evolved into fully visual applications with buttons, forms and menus and have become so complex that we have created a new type of programmers, those responsible for developing the "front-end", which make programs more intuitive and easier to use.
But in this transformation, users have lost much more than it seems, they have lost their power.
I was very surprised when I discovered that many mathematicians and scientists work directly with Python and Jupyter Notebook. They work with a text console, although with many more features than fifty years ago, and they can visualize tables, graphics, rich text, etc. It's true that their profile is relatively close to the programmers one, but even so, it's surprising that they prefer the "rudeness" of the console to visual programs.
And then, I realized that the most valued program in any office is not the latest fashion ERP; on the contrary, the most valued is the white grid of the spreadsheet. As for mathematicians, the possibility of creating, of using the power of the machine up to its limit, is the most valued by any professional. Maybe, when you are starting from scratch, gentle interfaces may help a lot, but after, users want to go further, they want to break the barrier between the program and the human and do incredible things that otherwise they couldn't do it.
A lot of programs are developed taking into account that they will be accessed with graphical interfaces, their architecture is conditioned by the front-end, and I think it's a big mistake. Programs shoud be developed to be used with text consoles. Graphical interfaces are useful, we shouldn't forget that, but the development of a progam should be centered on the data, not on the user interface.
Many people see text consoles as something from the past, but imagine a near future in twenty years. How will we use programs with speech recognition? Will they look like the current graphical interfaces? Or will we be talking to "voice consoles"?