I have been working with HCL Notes (formerly Lotus Notes and IBM Notes) and Domino since 1996. I gradually started working with the platform, it was really not a conscious choice. I had started working with HTML a year or so before, and I was asked by a friend to help out with some HTML on a couple of websites he was working on. He was building them using Domino, and he needed help with the HTML coding. By doing this, I got an understanding of how Notes and Domino worked. A few months later, I was asked to write a document archive for old articles at the publication I worked for.
I then created a Notes based editorial workflow application for the journalist and desk editors to use for the articles to be published. It was created in December of 1997, and as of spring 2013, it is still in use, virtually unchanged despite being run on Notes 8.5 while originally developed for Notes 4.5. That's a pretty good testimonial of the backwards compatibility of the platform.
What is Notes & Domino?
So what is Notes and Domino? It is a client-server platform from HCL. It was originally developed by Iris, on behalf of Lotus, and later acquired by IBM as they bought up Lotus. In 2018 HCL purchased Notes, Domino, Sametime, Connections and several other software products from IBM.
Notes is the client, while Domino is the server. Notes/Domino comes with several applications, including mail, calendar, to-do, team rooms/discussions, etc. Using the RAD (Rapid Application Development) tool Domino Designer, programmers can create custom applications tailored to the company's business needs. In 2020 a new no-code/low-code development tool called HCL Volt was introduced, integrating tightly with Domino.
Applications can be built for the Notes client -- also known as the "rich client" -- or for web clients (browsers). In the past, creating a Domino web application required substantial changes to the Notes application, but as of Notes 8.5 IBM added a technology called XPages, allowing the same application to be used in both places.
IBM Notes and Domino is considered one of the first (if not the first) NoSQL databases. This means that the data is not structured as strict as a traditional relational database, instead data is stored in elements called a note. This makes it possible to store everything, from a few characters to long pieces of rich text, including pictures, tables, etc. The data just takes up the space it needs, and it makes databases much more flexible.
Why do I like Notes?
Notes is very powerful. It support multiple languages for creating applications, and you can mix and match them in different parts of the application. I mainly use Lotusscript and Formula language, but also Javascript. Notes also supports Java.
It is also very easy to quickly build a prototype of an application and show it to a customer or project manager. Then more advanced functionality can be added, with virtually no limitations. Notes can integrate with many other systems, using COM, Web Services, REST, Ajax/JSON/XML, just to mention a few methods.
I have posted a lot of code and information about Notes and Domino on my blog, I encourage you to go there and read more.
Notes Exporter
In addition to all the applications I have created for my work, I also developed an application to export Notes databases as XML. You can read more about it here.