|Professional Services||Second Signal||Presentations||Andrew's Blog||Support|
The venerable, powerful, all encompassing Lotus Notes client is more than 20 years old. Its hallmarks include a complete backward compatibility that covers virtually all of those years. While that complete backward compatibility has been one of the product's greatest strengths, it is also one of its most challenging aspects as the development team works to continually modernize and add features.
Being fully backward compliant has been a huge advantage to the product. Upgrades of Lotus Notes and Domino servers are far easier and far less risky than any competitive product for this reason. That said, after twenty years, there are large aspects of the client that just didn’t take off. Many of us will disagree as to what those features are, but things like layers and navigators see very little use. Other aspects of the client are outdated but can’t be removed because there are applications which do rely on them. The entire rich text editor and its cousin the form designer are examples. Then there’s the massive eclipse framework. All the features that exist in the rich client framework solely to support Workplace – which itself never ended up working – are still there and will have to be there forever to maintain this backward compatibility ethos.
There’s a great divide between competing requirements here. To attract new developers who want to use the most modern techniques to build the kind of individualized “App-Store” style app, the Client and Designer would need a complete overhaul – one that would break virtually every existing application and alienate the existing customer base.
I am –NOT- calling for killing off the core Lotus Notes client. I am, however, getting requests pretty regularly for a “Traveler for Windows” application. What I understand they mean by this, is a lightweight, easy to load subset of functionality that they can run as discrete, app-store sized, specialized applications when they don’t need the full functionality of the rich Notes client.
I suggest that it is time for another kind of client framework -- a client framework that can take full advantage of the incredible, compact, full service power of the Lotus Domino server using an entirely modern front end. The Domino server and its NSF back end data store can still provide the full set of indexing, semi-structured data storage, security, agent-based business logic, directory services, calendar integration services, mail routing, and all the rest of the services. The new client framework can take advantage of all those things, but store its design and rich text elements using modern formats. The server and NSF already fully support MIME, and clearly IBM understands ODF well enough to use that as well. Design elements can be stored as “file” types within the NSF and edited using the eclipse editors. Very little modification of the server or NSF file would be needed to support a new kind of client.
Consider a back end add-on task for the Domino server that supports a set of API’s designed to be referenced from within Adobe Air, Visual Studio .NET, or maybe GTK. With access to the Lotus Domino document object model with its documents, views, and items – with Rich Text stored as MIME those frameworks could be used to build powerful interactive corporate applications available in an app-store like corporate intranet.
Please wait while your document is saved.
CouchDB, and/or have the Domino server API task you mentioned talk the same
kind of JSON structures as the Couch API. I kind of started to write such a
client application in python/GTK, but only got as far as "icons on the
workspace" before paying work got in the way.