I have been very critical about Lotus Notes, Domino and IBM in general. Some people have taken that to mean I don't like any of the above. This posting is to set the record straight and demonstrate that is emphatically not the case.
My background is pretty broad, ranging from PBX administrator to DBA to developer. As a developer I have worked with mostly BASIC-like languages: MS Access VBA, Visual Basic, and LotusScript. I have always been intensely interested in data. How it gets collected, how to manipulate it, and how to turn it into useful information. This love affair was awakened in my first programming job, which was using MS Access 2.0.
When I tried to transition from MS Access to VB I quickly grew bored of writing data access classes. MS Access had all that built in and was easy to work with, but in VB I was rolling my own code every stinking time. (I refused to use data-bound controls in VB4/5/6.) So I ended up in a job generically titled "PC Specialist". I was "the IT guy" -- if it had a plug on it, I was responsible for it. This is where I was exposed to a vast array of technologies, responsibilities, and systems. Part of this included making the decision between Exchange and Domino in 1999.
Management wanted to use Domino because our primary supplier did. I didn't know much about Domino or Exchange, but a few things turned me off to Exchange from the start. First, I had serious concerns about my (in)ability to properly secure Windows servers and maintain a high level of security. Second, Exchange required a sprawl of servers and services to function properly and I was intimidated by the prospect of trying to keep all the balls in the air just to get e-mail to flow. Third, programming applications meant using VB and SQL Server and going back to the old hell of writing data access code. Notes development couldn't possibly suck more than that.
And it didn't suck, it was simply amazing. Notes had most of what I loved about MS Access, that being rapid application development tightly bound to the underlying datastore, while being server-based and including granular security. I spent several years gleefully plumbing the depths of what Notes could do, getting my R5 PCLP along the way.
As my applications became more complex I started hitting walls. Debugging Lotus Connectors was difficult and frustrating, and the documentation was atrocious. New features in Domino, such as policies and remote debugging, simply did not work. Clustering Domino servers across multiple platforms required lots of workarounds that you only found by trial and error. I grew to loathe Domino Designer and it's bizarre property window, code stuffed everywhere and the half-baked classes implementation.
So off I went to find the new new thing, something that offered everything Domino had without all the annoying bits. In my quest I tried out MS Access 2003, C#, VB.Net, J2EE, and Ruby on Rails. Broadening the scope I worked with LAMP, OpenACS, Zope/Plone, and Puakma. Most recently I tried out SharePoint Portal 2007 and Exchange 2007. I never found anything that could reach the bar set by Notes and Domino.
Nothing else offered the ease of rich client development, granular security, and an integrated single-server install. There are still annoying parts about working with Notes and Domino, but in the final analysis they are just annoying. The fact remains that you cannot replace Domino with anything else without a tremendous amount of effort. I've climbed that mountain and found there is no summit. The only viable integrated collaboration platform available is Domino.
For all it's knobby warts, I truly do love Notes and Domino. I see in Hannover an opportunity for IBM to finally get it right. The criticisms I voice stem from an intense desire to silence the naysayers.