IBM Brings native Notes/Domino apps to iPad and more in Domino 10

Read more

In October 2017 IBM announced that it initiated a strategic partnership with HCL Technologies for the Lotus portfolio (Notes, Domino, Verse and Sametime). As business partners, we were hesitant what to think of this. The promises of this partnership looked good, but as typical Dutch, we choose for a wait-and-see approach.

We did not have to wait long. Within two months IBM/HCL held some 25 Jam sessions worldwide and got a lot of feedback from over 2000 customers. A significant request that resonated through all sessions was to bring modern development tools/frameworks to Domino and to deliver existing Lotus Notes applications to mobile devices / web without any major investments.

This is understandable given the situation most customers face. Lots of companies use Notes applications, of which some where build decade(s) ago. Building apps with Notes as Rapid Application Development (RAD) platform was quick and easy. Thanks to the great backward compatibility of Notes/Domino, these apps are never touched again by a developer and their user interface aged year by year. These Notes applications need a Notes client to run, and for years this client has received lots of aversion from its users (partly due to some decade old company applications).

IBM domino

Currently, Lotus Notes is often labeled “legacy” and mail and agenda are simply migrated to some other (cloud) platform. A common company strategy is to leave the Notes applications to be handled “in a later stage”. This leaves the company with their Domino servers and the requirement to keep the Lotus Notes client to the desktops. Nothing changed, only the mail is now in another application.
On one hand, the Domino server provides a web-server trough which Notes applications can be made accessible from a web-browser. On the other hand, most apps will require some major rework because web-browsers do not support the client-side LotusScript / @Formula’s. Often this redesign has not been done, because the Notes client is installed anyway on the desktops. This method only postpones the problem.

Actually, it’s a shame that good functioning applications should die-out like this. Some major company-value can reside in these applications and often rebuilding these apps will cost too much.
Besides this, the Domino server is an unrivaled database and application platform. It even was the genesis of ‘modern’ NoSQL databases like CouchDB and MongoDb. It is not surprising that the founder of CouchDB (Damien Katz) actually worked in the IBM Notes/Domino development team on the @Formula language. It’s a small world…

In fact, CouchDB has lots of parallels with Domino. But there is more; Domino works with self-contained single database files, views, documents. Out of the box Domino does: transactional logging, full-text indexing (incl. attachments), attachment-viewer/converter, database-security, database encryption, document-security, field encryption, signing, certificate security, versioning, replication, clustering, Java, JavaScript, LotusScript and @Formula language.

By enabling DAOS on a database, attachments can be stored (normalized, compressed and encrypted) outside the actual database file, completely transparent for the clients/developer saving storage. And besides all of this, Domino can do your e-mail and calendar as well. You may use a Notes-client, Outlook-client, mobile mail apps (Apple / Android), ActiveSync-clients, pop3, imap, iNotes web-client and a new fresh web-client called “Verse”. So, Domino is an application-sever that does your mail as well (or a mail-server that does applications as well).

After a few months after the IBM and HCL partnership was announced, they were able to showcase some fascinating things that we can expect in Domino 10 that is to be released this year. They presented a roadmap tagged #Domino2025 and aimed for a “Wow!” factor.

I will name my favorite three:

1. Run existing Domino apps (nsf) on your mobile
This certainly will appease customers with existing native Lotus Notes apps. On “Engage 2018 in Rotterdam” we could try the ‘Domino for iPad’ app that is able to run native Notes applications without major modifications. It supports client-side code like @Formula and LotusScript, and even will support filtered database-replication. Making the app available on Android is on the plan as well. After that, there are plans to provide this app like a browser app (WebAssembly).

Because the UI (forms) of existing Lotus Notes apps are optimized for desktop users (landscape + mouse) a new ‘design-target’ will be added to the Notes Designer for mobile devices (portrait + touch). With this, developers can copy a complex form, re-arrange fields to make it suitable for portrait /phone use and present it to the phone users. Basically no redesign of code is needed here.

New functions will be provided to give access to the device camera, compass and accelerometer.

2. Domino & Node.js opens up a plethora of web apps (and developers)
The Domino server will get some major modernization. Domino 10 will run Nodes.js. Nodes.js is a server-side JavaScript runtime engine based on Google’s V8 JavaScript engine (used in Chrome). It is lightning fast because the programmer is forced to send off slow i/o operations as asynchronously events that prevent blocking the overall code-flow. Web-browsers will connect to the internal HTTP/2 webserver of Node.js, while the backend traffic from Node.js engine to Domino databases will use the native (fast) NRPC. This allows high data-transfer-rates and clustering /failover.

JavasScript is the core programming language in web-browsers and in the popular Node.js. Any Knowledgeable web-developer will be able to build and maintain modern web applications on a Domino server. This will open up access to a larger community of web-developers and web-applications.

3. Enhance existing functionality
In Domino 10 several enhancements will be provided. To name a few: Databases and full-text indexes will get more self-healing capabilities; Additional tooling will be provided to maintain Domino clusters; Support for NewRelic monitoring will be added; The maximum single-database-size (excl. attachments and indexes) will be increased from 64 GB to 256 GB; LotusScript will get its own web-request function; Elasticsearch will compliment Domino’s own full-text indexing; Support for native Outlook / Apple mail clients; Ability to schedule e-mails; Apply mail-rules to existing mails. Forward multiple e-mails as attachments; etc.
The baseline is, that in a couple of months IBM and HCL certainly did earn my “Wow!”