Especially proud of what the core team of 5 was able to accomplish, with ~3M lines of C operating smoothly (b/e + f/e) within the 250KB working set imposed by the win2 environment of the time.
But you can’t blame the UI on mid 90’s. We very intentionally kept the dev team very small, and yet business reasons we needed to do concurrent UI ports to Windows, Mac, OS/2, OpenLook and Motif.
Instead of scaling the team to do a best of breed native UI for each target, we constrained ourselves to building a “greatest common multiple” portability layer that worked but felt foreign and awkward everywhere.
I still believe that self-imposed prioritization of constrained core team size was right for the time, even in that period of hyper growth, but the entire UI should have been completely revamped when success allowed for it and the team was ultimately scaled up. No excuses for that.
Regarding your resource constraints - I'm guilty of assuming that it's all IBM's fault because Notes used the OS/2 keyboard shortcuts (they had a name for this standard which I forget). And not that Notes was developed by Iris, which was separate (other than funding) from Lotus. And was a relatively small firm. My apologies.
LN was structured around the concept of "documents", which were binary objects (IIRC) passed around between the client and server and were the lowest abstraction layer. Everything in an LN app is based on creation, editing, transmittal, gathering, processing, etc of documents.
I don't know why such a thing was not evolved into a REST API sort of structure, but because of this concept of documents, and the state sharing mechanism between the client and server, we could program the system as if it was a monolith. I don't really know why the client was bloated, but that was a common feature of all IBM software (looking at you Rational Software Suite).
I guess they also could not evolve the software to make it more lean and multi-device friendly. Because it laid so much emphasis on security of identity, transferring the client to a mobile was impossible.
Domino server (LN server backend software) did allow for access from browsers (IIRC it required a plugin in the browser to handle the secure ID part of the client) but then, programming web enabled apps on the server was a huge pain. No clear support for templates, etc. It could have been evolved into a Django sort of framework but that was not done.
In my view, it was a lost opportunity. Imagine the amount of money IBM could have made if they could evolve LN into a Django Type web framework (where models could have been the documents).