Tuesday, August 29, 2006

What can IBM do to make Domino development better?

In a recent blog post Ed Brill poses the following question:

In a world where the majority of new applications are being built in Java (and associated languages) and .NET, what approach could IBM use today to attract hoardes of new developers to learn Lotusscript? Isn't this the whole reason that Notes get labelled "proprietary" (in the tone of voice where proprietary = bad)?

"Hannover" will deliver the best of both in that the existing model will continue and be enhanced, yet the client will be open to new Java-based development methods. Thus the inflection point I mentioned earlier.

I don't want to suggest that there's no new Notes developers or development going on -- I get to hear about cool new projects every day -- but clearly it's a different market dynamic for developers today than it was when Notes became mainstream.

It's a tough question, and not one that can be answered without being a bit harsh. The short answer is you can't attract new LotusScript developers. It's a limited-use language with no future. LotusScript is a one trick pony, if you use it you're locking yourself into doing only Notes development, and the future of Notes by no means guaranteed. Using a general-purpose language such as Java or C# gives the developer more marketability.

The other major issue is Domino Designer itself. The IDE lacks features people have taken for granted in other development tools since the early 90's. LotusScript debugging is rudimentary and Formula, Javascript and Java debugging is nonexistent. New features have been tacked on over the past seven or eight years in ways that make them difficult to use. HTML rendering, which was introduced in R4, is STILL messed up. CSS support is spotty at best. A lot of this is supposedly being addressed with Hannover, but I'm not holding my breath. Nearly a decade of promises that it'll get better has left me jaded, and it has run off a number of people who might otherwise have embraced Notes and Domino.

It seems that IBM is forcing Notes developers into Java. That's fine, it's IBM's decision to make. I find it disheartening, but not unexpected. Notes and Domino are at critical inflection points. I appreciate that IBM and Lotus are trying to walk the fine line of delivering future-focused products while not alienating their existing customer base. I also appreciate people such as Ed asking these questions and not shying away from the scrutiny.


  1. "do"

    (read your entry heading)

  2. I'm comfortable with IBM pushing us into Java being the premier language for the IDE from Notes 8 on if they do it properly.

    I use Java in Notes now, but it has a number of issues, and is far from fully spec'd up (quite apart from the fact that it's limited to the back-end and can only be used in agents & web services).

  3. Ben,

    I reall think that's my big stumbling block to "getting" Java in Notes. It's only usable in certain contexts, but there are some places where it's the only choice. If it were properly integrated and fully supported I'd have a much easier time seeing the value. The path so far has been narrow and meandering, which makes it one I haven't been willing to tread.