Enablement (or lack thereof)

Well, I kicked up a bit of a fuss with that last rant, didn't I? I didn't do a very good job of explaining the issue, though. Plenty of people thought I was attacking Eclipse itself (and some were glad to see me do it, while others thought I'd gone 'round the bend a bit). But that wasn't the point. So what is the point? Enablement. Or the lack thereof. 

Frankly, I'm not qualified to evaluate Eclipse as a development environment for either Notes customization or Sidebar Plugins or Composite Apps. It might be fantastic. It also might suck mightily. I can't tell yet. Why is that, you ask? Because I don't have a development environment setup to try it out. I find all the hoops we need to jump through just to be able to look at this stuff more than a bit off-putting. It isn't that any of it is necessarily difficult. It's that it's all unbelievably manual, repetitive, and much, much too annoying for me to waste my time on. Not to mention that I'm not at all sure I have the right versions of the various Eclipse packages to even start from. Where's the single file download from IBM that contains the full pre-configured Eclipse development environment a Domino developer would need if they want to start working with this stuff?

This isn't an issue that's unique to the Composite Apps post on setting up Notes 8 to run in Eclipse, either, I just picked on that one because it was the proverbial straw that broke the camel's back. Connections LDAP, anyone? Hey, why should a product designed for collaboration be able to use a Domino LDAP server? It's not like the foremost experts in collaboration in the world would have that sort of infrastructure built in or anything. /sarcasm. Setting up the DB2 backend? Hey, if Julian Robichaux thinks your documentation is "scary" (comment #2) then you've got a problem, even if he is a developer looking at the admin help. We've all weighed in on Websphere Portal's setup routine. And it's gotten better. But why did we need to complain about it in the first place? Where's the VP of Common Sense at IBM to say, "Guys, if we can't write a setup routine for this system yet, we can't release the product!" Where is the enablement for the developers and the administrators?

I was thinking about how to really make this point clear, but Paul Mooney put in a comment (#27), and he absolutely nailed it:

This shit needs to be EASY to get people to USE it. And believe me, Admins and Developers need to find it easy to set up.. or they will lose interest quickly enough (the MS suite is easier to get up and running... and there is a hell of a lot more support out there).

I'm not asking for any magic buttons to get complex things running - but c'mon... the basics should be relatively simple. IMO (and believe me.. I'm not looking to be flamed here..) Notes developers will only look at plugin/eclipse development if its relatively easy to get started and get their head around it... They are used to RAD apps and FILE/Database/New... I'm not saying they shouldn't have to change or adapt... but there should be

1. excellent documentation
2. excellent demonstrations online
3. Wizards to just get up and running..

I think we need to sell this to the developers... Not the genius developers in the world like the guys above, but the developers that do this from 9-5...

And he's dead right. Look, Andrew Pollack pointed out (in a couple of different comments) that the average Notes developer doesn't have to change anything about the way they build applications in Notes 8. And that's true. One of the great things about what IBM has done in Notes 8 is that within Notes itself nothing has to change. That's more of the backwards-compatibility that Lotus and IBM have always been so good at, and it is a huge, fantastic, amazingly positive achievement. I'm not minimizing that, not even a little bit. It's fabulous. 

But by not changing anything, those average Notes developers won't be able to do Composite Apps, or Sidebar Plugins, and they sure as heck won't be able to customize the Notes client. Did everyone see Alan Lepofsky's recent post showing off some of the cool things IBM has running in-house? The extensions to Notes 8? Great stuff. But Notes developers won't be able to do that in Domino Designer. They need developer tools that enable them to build that type of application. Oh, the Composite App wiring is available, true. But as an IDE, that stuff is seriously undercooked. Maybe not entirely half-baked, but certainly not well done. Pun absolutely intended.

Now I'm just a reasonably bright guy (and certainly not one of our resident Alpha Geeks), so I may be missing something here. It certainly wouldn't be the first time. But why is this Rocket Science? Yes, to take full advantage of everything available in the Notes 8 / Expeditor framework, you'll need to get up to speed on all the nitty gritty. But for the simple things? Really? I just don't buy it.

Carl Tyler showed us how to embed Asteroids in Sametime. And Carl didn't break off any mean Java-fu to get it done (not that he couldn't.....). What he did was go through some moderately annoying, frustratingly manual steps, bring in an existing Google Gadget, and edit enough configuration files to make it show up where he wanted it. No, it couldn't talk to anything inside the Sametime container, and it sure didn't interact with Domino in any way, and it was Sametime and not Notes 8 (though as Carl pointed out, there isn't *that* much of a difference). But it was cool, and it was fun, and it was exactly the sort of demo IBM should have written a simple, silly, wizard-driven setup routine for months ago! There should be a pre-built container available for the Sidebar that can host any Google Gadget anyway, for the end users, but for developers there should be a painless way to setup a Sidebar Plugin that supports html that way. Heck, it ought to be available as a basic control that you can drop onto your Sidebar and define properties around.

So how about some enablement, IBM? How about some silly little wizards to configure basic, fun examples? How about reasonable documentation? How about taking that extra step to make sure this stuff is all accessible to the people who will make it or break it?

Hm. I seem to be ranting again. Well, hopefully this time I've done a better job of aiming the rant. Please feel free to point out the many, many ways in which I am an idiot, and if anybody would like to point me to a location where IBM has already given us the things I've asked for I will be profoundly grateful. Surprised. But grateful.