Gaining Wisdom from the Ghost of Lotus Notes
Rapid application development has always been the Holy Grail of information technology. The idea that someone with little to no technical expertise could automate their own processes by creating a functioning application is a powerful concept.
Low-code and no-code developments promise to make this elusive Holy Grail a reality. But they are not the first. Promising the same results as Lotus Notes did in the 1980s, will these developments be able to succeed where Lotus Notes could not?
From Lotus to Low-Code
Lotus Notes, a multi-faceted program released by Lotus Software, turned 34 in December. Lotus Notes was a lot of things: it was a mail client, a calendaring system, a semi-structured data store based on documents, and collaboration software. However, its biggest promise was that of a rapid application development framework.
According to a 1994 money.cnn.com article entitled Why Microsoft Can’t Stop Lotus Notes:
Nontechnical users can construct simple applications after a few hours of training. Secretaries, for example, have no problem setting up a database to log incoming correspondence or to track the office’s latest restaurant choices. Says Richard Eichen, a consultant at CGI Systems in New York who installs lots of Notes setups: “It’s the first time mere mortals can go in and really help build their own applications.”
Using a Designer client, Lotus Note users without programming experience could use buttons, fields, and automated processes to create entire applications. In his 2008 NetworkWorld article entitled 7 Things IT Managers Should Know About Lotus Notes, Thomas Duff stated:
To build [Lotus] Notes applications, developers use the Designer client to create and modify all the different parts of a Notes application, such as forms, views and agents. It can be viewed and tested in the Notes client or in a web browser for instant feedback. In terms of productivity, developers get a lot done with very little effort.
But useful Notes applications don’t always require attention from the IT department. It’s common in Notes for power users to develop applications that meet a tactical need, with little assistance from IT.
This might sound familiar to the modern reader. A 2020 ZDNet article by Daphne Leprince-Ringuet, entitled Low-code and no-code development is changing how software is built – and who builds it, described low-code and no-code development in a similar way:
Instead of writing every single line of code for a given application, users of a low-code or no-code platform can build their project with point-and-click interfaces. Non-coders can, in theory, assemble Lego-like blocks of pre-defined code to create customized software, rapidly and at a much lower cost than hiring a professional programmer.
Articles talking about the rise of these solutions are common because the idea of application development evolving from a specialist field to an enterprise tool is as attractive now as it was when Lotus Notes was released.
According to No-Code Is The Future Of Software: Here Are Five Critical Things To Drive Success In 2022 And Beyond, a 2022 Forbes article by Katherine Kostereva, “low-code/no-code platforms democratize the ability to create new software applications, making it possible for individual departments or units to solve problems without a direct need to rely solely on scarce IT resources.”
If a rapid application development framework is so appealing, why hasn’t Lotus Notes or any of the low-code/no-code solutions been able to deliver?
Lessons from Lotus Notes
As we strive to create a future of easy application development using no-code/low-code solutions, are there lessons that we can learn from the era of Lotus Notes? I would argue there are quite a lot. Here are a few items to consider:
1. Sophistication Requires Expertise
Though Lotus Notes, in its heyday, allowed users to build their own applications, it could not offer frameworks with the level of sophistication that most users desired. It was one thing to build a bulletin board to share company information; it was another thing to have a data-entry system integrated with accounting software for expense reimbursement.
Quoting the ZDNet article above, “Even if non-developers start playing around with Lego blocks of code to build applications, a degree of programming will still be required to create those blocks in the first place; and it is likely that a human coder will also be necessary for higher levels of sophistication, even when using low-code tools.” No matter how far these rapid application tools progress, they will forever fall short of the sophistication and specialization that a software engineer can provide.
2. Technological Changes Render Applications Obsolete
When heavy client-side applications were abandoned in favor of web browsers, Lotus Notes quickly became an obsolete tool. In a ZDNet article, entitled Alas, poor Lotus/IBM Notes, we knew ye well, which was published in 2018, David Gewirtz puts it well: “Over time, of course, the world changed. The idea of a distributed client software system, even one as revolutionary as Notes, became obsolete. The idea of client software, in general, has entered obsolescence in the face of cloud-based operations.”
Technology changes over time and the shift from one end of the technological spectrum to the other, such as the switch from heavy client to thin client applications, is all too common. Some of these changes are so profound that people quickly forget that there was ever another way to do things.
Just as Lotus Notes eventually became obsolete, so too will low-code and no-code solutions find it impossible to stay relevant forever. Whether it is the promise of virtual reality, Web3, blockchain, or a technology that has not yet been invented, technologies change and creating an application that all people can continue to use is nigh impossible.
3. Even Rapid Application Development Takes Time
It may be easier to build applications with low-code and no-code solutions, but it’s not instantaneous. Even a simple application requires an existing employee with an already-full workload to invest time into learning and building the software.
Once the application is created, other employees will be needed to keep it up-to-date and healthy. Inevitably, most of these applications eventually become the responsibility of the IT department. No-code and low-code solutions tend to be a stop-gap solution to buy time, rather than an actual step away from software engineers.
The Future of Low-Code/No-Code Tools
Are these new tools doomed to eventual obsolescence just like Lotus Notes? Can we expect low-code and no-code to wear out their usefulness in the face of inevitable change? The answer is fuzzy and somewhere between yes and no. These development tools will have their space and time. They can provide a great deal of value for small to mid-sized applications and, by using them, a company can better utilize their IT developers’ time.
The lesson here is that change is inevitable and, by learning from the rise and fall of Lotus Notes, these tools might better prepare themselves for the future.