I had an interesting call a few days ago from my long-time friend who sold me my first Lotus in 1989. Apparently Lotus had just announced a few changes. I was informed that Lotus have decided to form a strategic partnership with a Korean auto company (KCL) to manufacture their cars. When I asked why, my friend explained how Lotus had become so unionized they had struggled to remain competitive. Lotus would remain responsible for the design and sales of its vehicles, but manufacturing would be placed in the hands of KCL. So then came the pitch. I was offered the chance to join an exciting new program. If I was willing to make a ten-year commitment, I would be first in line for each new model Lotus released between now and 2025. A new Lotus, the Lotus X, would be released in 2018 with the promise of a steady stream of exciting new models after that. I was also going to be given the chance to attend a Lotus Jam and provide input to the teams at Lotus that were designing these new cars.
As a long-time Lotus enthusiast I was very interested. My interest in driving a Lotus had waned a bit over recent years as I focused more on the pleasures of spending time with my family than the pleasure of driving my yellow sports car. Now seemed like a good time for me to renew that enthusiasm.
My first thoughts turned to the Lotus X. What would I want in my next Lotus? It had been a few years since the last Lotus was released so there were a lot of things to look out for. I know from driving my wife’s BMW how useful it is to have HUD. Something that seemed like a gimmick until I experienced it. Also simple things like keeping track and displaying the prevailing speed limit or warning me when a car is in my blind spot make driving so much safer. Living in Southern California I had also learned the value of getting real-time traffic updates for my GPS. Knowing ahead of time of potential delays in traffic when commutes on local freeways can often be well over an hour have saved me on a number of occasions. Equally, my wife’s BMW had also taught me about a few things I didn’t want. Run When Flat tires sounded like a good idea on the brochure. In reality they turned out to be something of a nightmare. Each time a tire is damaged it has to be replaced completely. And often not just the one tire, it usually means replacing two tires as nobody ever seems to recommend having two front or rear tires with significantly different levels of wear. And these things were also VERY expensive. All that to provide the needed amount of space in the trunk (boot for you Australians out there!).
When I started talking to my family and friends I soon found myself overloaded with ideas of what I might want. Many of the ideas my friends suggested, like 20 cup holders, were not high on my own priority list. I could see how my view of a Lotus in 2017 may not match that of others. I would be competing with my own ideas and priorities against a lot of other people’s views. Lotus would have to make some tough choices as to what they added in next year’s Lotus X as there was a lot of possibilities and only so much time to make changes.
I then turned my thoughts towards what would I want from a Lotus in 2025? That’s a lot tougher question as cars are going to change a lot over the next 8 years and may be almost unrecognizable to what I am driving today. A Lotus in 2025 is almost certainly going to be electric. It will probably drive itself which means it is going to be offering a wide range of features to the “driver” that were never possible before when a driver would be in total control over almost every aspect of the car. Integration with the Internet of Things so that I would have access to various aspects of my life at home and work would be important. Its not clear what legislation would allow me to undertake as a driver of a self-driving car in 2025 but I am pretty sure my car would provide a WIFI hotspot for its occupants and that numerous screen and input devices, including voice, would be available.
Then it hit me…. It’s getting harder to differentiate many of the brands of cars now on the market, and a lot of new brands look likely to emerge over the next 10 years. Porsche now sells SUVs. Maserati is selling sedans. What’s next, a Ferrari truck to compete with the F150? I drive rentals every month and almost every car I drive looks the same no matter the make. If I was going to invest in Lotus over the next 10 years I really needed to go back to the Lotus brand. Isn’t there a danger that if all I did was add features that are missing today but found in other cars that instead of creating a car that was true to the Lotus brand I would merely have a clone of something else that had a Lotus badge? So I began to think…. What was it about Lotus that enticed me back in 1989 and how would that brand be relevant to me in a car built in 2025?
Rather than answer that question, let’s now jump to the other Lotus, Lotus Notes. A product which by some very strange coincidence is also in a very similar position. A product that has survived in the market since 1989 despite many predictions of its ultimate demise. An announcement by IBM of a new strategic partnership with an Indian company, HCL, with a promise to deliver a new version of Notes and Domino in 2018 and the opportunity to provide input as to the future direction of what is now being referred to as the “Domino product family”.
It would be fair to say that it would be easy for me to provide a list of 10 enhancements I would most like to see in the next release of Notes/Domino. We all have those those lists stored in our heads, documented in IdeaJam, or stored in e-mails that have been sent to Peter Janzen or Barry Rosen. It’s also likely we have debated those lists with each other over a drink (or two) at conferences and seminars over the years. In some ways, I’d have to say my list has evolved over the years to become more of a bucket list.
Obviously HCL are not investing in the Domino product family because they think its going to disappear in the next 10 years. They are forming this strategic partnership with IBM because they believe they can take the product in directions that IBM may not have been able to. IBM probably think so too. That really requires a different type of discussion. What would be needed to make Domino a viable product not just for the next 10 years, but beyond? To answer that question I really need to go back to what it was that put Lotus on the map many years ago. To remind myself what was the original Lotus Notes brand. For the first 10 years of its existence Notes had been a leader that others were unable to copy. For the past 10 years Notes has become more of a product trying to catch up with other products. Like many others I had bought into a product because it was a thought-leader.
I still remember my first experience with Lotus Notes. It was an IBM presentation in Melbourne, Australia for Lotus Notes 3. I recall seeing the UI, a tabbed two-dimensional grid of applications. At the time that was pretty radical for software. I also remember that it didn’t matter I was not working in IT. It was possible for me to get a set of floppy disks that allowed me to install the software on my computer and quickly get a working application up and running in hours. Not only that, but I could also install the same software on a few of my colleagues computers as well as a computer we designated as a server that then allowed us to replicate that application and all its changes between our computers. After a few weeks, word began to spread of what we had been able to accomplish, and even the IT department were dropping by for a look. These things seem very fundamental today, but at the time it was totally radical.
I wasn’t an IT professional at the time and it took me several years before I was brave enough to start programming in LotusScript. But that didn’t matter. There were a series of templates for things like discussion databases and document libraries. Again, things we take for granted now but back then the concept of applications that supported collaboration and integrated e-mail for workflow was also quite radical. After I had pushed the boundaries of templates I began to explore the power of @formula (or macros as they were known back then). One of the beauties of Notes was that the data and code was all integrated into a single, NSF, file. And the Notes client itself had Designer built into the one client. Simply put Notes provided everything I needed as part of the one product. As I grew more confident I could progress from templates, to custom applications using @formula and later LotusScript.
Later on I became a Notes developer and Notes truly gave me super-human capabilities. Even though my programming skills were nowhere near as well developed as others in IT who were playing around with technologies such as VB.Net, C#, SQL Server, and Java, it didn’t matter. I could usually produce an application every bit as good in a fraction of the time and at a fraction of the cost. At many of the clients for whom I worked there was often many people in IT who resented what I was able to do. They had their strategic platforms that they wanted to standardize all important business processes but business units were usually requesting Notes solutions by name. Those were the glory days of Notes and what lead to the creation of around 20 million Notes applications and as many as 200 billion lines of frequently-copied @formula and LotusScript code.
This is the Lotus “brand” that I would want to see carried forward in Domino 2025. Not necessarily a set of me-to features that narrows the gap between Notes/Domino and other competing platforms out there. But something that would be a leader that returns those same super-human powers to a new generation of people, only in a “slightly” more modern context. Something simple and easy to get started.
Let start with what is the entry point for many people wanting a highly product application platform that can be used by programmers and citizen developers alike. In the era of Lotus Notes it never really had a name, but now the term no-code application development tends to be used. The original templates that came with Notes covered things like discussion databases and document libraries. Solutions for these types of applications are now very well covered by what we know as persistent chat clients (Slack, Watson Workspace) and cloud file stores (Box, OneDrive, Connections Files). The more sophisticated collaboration needs covered by Team Room have evolved into products like IBM Connections, Office 365 etc. We now need a new set of out-of-the box solutions that duplicate commonly used business functions in which some degree of customization can add value. SalesForce provides a very good example of solutions such as CRM, Call Center, ECM, Portals, Employee Engagement for which simple solutions could be delivered as a new breed of templates.
Many of the original Notes applications automated manual processes for the first time. In other cases we were taking business processes modeled in personal spreadsheets such as Lotus 1-2-3 and Excel and making them available as departmental applications. Many of the target applications for Domino 2025 are likely to now have data that is stored in data-stores such as Excel, SQL, SharePoint, Access, and MongoDB. We will need a simple way to build a new Domino application by pointing it to one of these data-sources. What better way to fight-back against the in-roads these data stores have had on Notes over the years than to start pinching back some of those same applications. To add some real WOW to Domino and external data we should look at ways in which the data could be replicated between Domino and these data sources. Integrating LEI into Domino 2025 or picking up on some of the work done by Darwino on replicating with SQL would be areas to explore. By 2025 it is almost certain that Domino applications would also need to have the ability to seamlessly integrate with the IoT.
The ability to provide some low-level language for basic customization is the next step in application sophistication, now known as low-code. Simple Actions are perhaps the easiest way for a citizen developer to get started with programming, removing the need for learning programming syntax. @Formula was originally adopted from Lotus 1-2-3. And while it still viewed as being proprietary, it remains a reasonable option for low-code, one that is also being used within LiveGrid. Other options that should be considered is the IoT style of programming such as that used in IFTTT.
Transitioning from the old to the new could prove to be challenging. For this we should look closely to the approach taken by the Connections team with Connections Pink. By building a virtualization layer into Connections it is possible to implement a completely new architecture for Connections Pink and still provide backwards compatibility for the legacy Connections components. Something similar is likely to be required for Domino if we are going to get away from the compatibility trap.
A modern Domino platform is almost certainly going to need to support REST out of the box. Just as LiveGrid allows citizen developers to build applications that automatically have a REST API generated that conforms to OpenAPI (Swagger) specification, so too should Domino. In addition to OpenAPI, Domino would also benefit from having Postman integrated into the Domino Designer IDE. I’m not sure if LoopBack could be integrated into the same environment without making the whole thing too complex but it would be helpful for developers wanting to add complicated business logic via Node.js.
It’s not clear if the Notes client has a future in Domino 2025. One of the biggest advantages of the Notes client was that it provided a way to deploy Notes applications that ensured the applications always looked and behaved the same. This worked well in a time when devices were constrained to desktop computers and later laptops and the resolution of monitors were largely the same (VGA). Today applications need to be deployed to a much wider range of devices that includes tablets, smartphones, and wearables. Input has gone from being a keyboard with the addition of a mouse to now include touch screens and voice input. I have heard suggestions of offering an Electron client as a way of providing a much lighter client. A modern application platform has to support web browsers, and possibly native mobile clients. Citizen developers are not going to want to have to deal with the complexities that these choices bring, which means Domino would need to support a mechanism in which the application is programmed once and then automatically ported to these platforms.
We now know that a successful application platform like Domino can result in thousands of applications being built in a single enterprise. Consideration should be given to helping manage applications at this level. The concept of About and Using policy documents needs to be replaced with the concept of an application store that would allow Domino applications to be fully documented and easily distributed on demand. This should include a mechanism for easily keeping track of who owns and supports each application. A major overhaul of the catalog.nsf would be a good start.
We should also look at the value that could be added by providing functionality such as Panagenda’s Application Insights and/or Teamworkr Analytics into the base product. Why wait until we have a problem before we start to keep track of the usage patterns for applications and the levels of similarity in the code base for applications as they are built and deployed. Lets make these tools available to all applications from day one! Lets build the business case to help justify building more Domino applications into the product itself! When applications stop getting used we should automatically let somebody know that they can be removed from a Domino server rather than letting them accumulate over the years. We should always know how many applications we have in use and key metrics that help define the business value being generated. Surely there is a role here for Watson!
Domino 2025 should be designed and documented much like Connection Pink. All the APIs should be both public and documented. As of today there are only a few Lotus Jedi remaining who understand the deep dark depths of the C API. We need to encourage a thriving population of business partners to build innovative solutions that extend Domino. Just as the Connections team has opened up the Connections code to everyone at IBM resulting in 10% of commits coming from outside the Connections team, so too should we push the boundaries on the ways we can get a greater level of contribution to Domino. We should aim high here. Instead of following the lead of Connections Pink why not go further and open-source key areas of Domino and use OpenNTF as a clearing house to get everyone on the Notes.Domino community contributing to the code?
Domino 2025 needs to reflect the ways in which modern applications are now built and deployed. Source code control, automated builds, automated testing, and deployment should be baked into the platform in a way that allows citizen developers to get started without even noticing these things are available. We should then provide more sophisticated developers with the ability to fully harness the power of these tools. The challenge for Domino 2025 will be to find a way that delivers all this in a way that is simple to operate and understand. Simplicity is the ultimate form of sophistication.
With the benefit of hindsight, Lotus Notes made it too easy for citizen developers to build ugly applications. We allowed users to set the color, font, and style of almost every component of an application allowing almost every Notes application to look and behave differently. Applications then became eclectic as design elements were then copied from various applications to easily create what some refer to as “crapplications”. We now know the importance of building applications that make users happy to use. IBM is already investing heavily in its own design thinking. Domino 2025 should be making it easy to build applications that incorporate many of the ideas that are coming out of the IBM Design labs. A hallmark of a Domino 2025 application should be that it looks good and is easy to understand and use.
Perhaps the one thing for me that set Lotus Notes apart from everything else was the simplicity that came from working with the platform. There was a time when there was only one product that took all the code and data for a new application and stored it in a single NSF. There was one client that was installed that was used to both create and use the application. For me the world of Notes started to unravel when the Designer client was separated out as a chargeable option and then when IBM decided to make QuickPlace a separate product rather than extend the Teamroom concept within Notes itself. It may have allowed IBM to make more money in the short-term but it started to complicate the decision model for enterprises that wanted a collaboration platform. Look at the challenges Microsoft currently face in trying to create their own collaborative platform by taking the myriad of components that are needed for Office 365. Also consider the complicated development environment required to build modern web applications. Red Pill Now runs one-hour presentations just to explain what all these products are. I still don’t understand half of them, which is why I probably am not allowed to write code any more. Perhaps more than anything Domino 2025 needs to return us to a simpler time in which I have one thing that allows me to build and run modern applications.
I’m not sure how much I care about which features make the cut for Notes/Domino 10. What I will be looking out for more than anything is an indication of what that release might say for where the product may be heading over the next 10 years and the level of investment that is apparent to reinvigorate the Notes/Domino platform. Lotus Notes did not establish itself by being a product that followed the trends being set by existing application platforms. Instead it dared to innovate and be different allowing those that used it to create needed applications that could not be easily done using anything else. It recognized the importance of being relevant to what we now know as citizen developers first and foremost and supporting them to create solutions that were every bit as good as those developed by professional developers but for a fraction of the time and cost. Despite all the changes in application development since 1989, that same need and opportunity still exists today.
It is my hope that Domino 10 shows us a path forward and I very much look forward to the discussion that will follow in the coming days, months, and years. If there is any yellow blood still flowing in your veins you owe it to yourself and the community to get involved and have your say. To earn the right to be critical of Notes and Domino and the direction it is going you really need to be prepared to roll up your sleeves and nudge it in the right direction.