After a particularly bad day fighting an IMAP bug that crashed my Domino 8.5 server repeatedly (I’ll post more on that later) I had to fix something in a database using Domino Designer. Well since we are already upgraded to 8.5, I’m using Domino Designer 8.5 which is based on the Eclipse framework. This allows you to do cool things like XPages that you couldn’t do before. In general it works okay, but is a little rough around the edges. In the limited amount I’ve used it, it’s been okay with a crash here and there, but nothing major.
Well on Monday afternoon, after all the server crashes I had been fighting all day, I tried opening a certain set of databases with DDE. Well it was an exercise in complete futility. I could not connect to the databases in question. The client would hang, timeout and just generally not work… After multiple reboots and attempts I finally gave up, defeated. In my frustration I then went on Twitter and posted a expletive filled rant decrying DDE as a complete piece of crap.
Well my friend John Head defended the software and said it must be me. More expletives and a minor Twitter war broke out until we finally calmed down. John and I spoke on the phone, and he mentioned something that might be the culprit. Well, it’s #3 in his post where he says that DDE “might not behave nice.” That’s kind of an understatement, but yes indeed, my DDE did not behave nice. The database application (that we did not design in-house) uses a bunch of C API calls and some stuff that may or may not be fully supported. The way to fix it is to take a local copy of the template and recompile it. Then use that template to replace the design on the server. Then you can connect without issues.
The caveat here and in John’s post really is this. If you are going to use DDE on a database, get a local copy and recompile everything. Just do it. Then once you do, make sure that ONLY DDE connects to that application, and not a prior version of Designer. If you do that, you should be fine.
So please, tell everyone jumping into DDE Development to do just this. If I had known this ahead of time, I would have saved me a monstrous amount of frustration, and wouldn’t have made me think the software was so bad. First impressions matter, and if I go in thinking it sucks, that becomes hard to change.
Also, without the frustration, it would have lowered my score on CurseBird.