The past few days I’ve been involved with quite a lot of Std Notes Development. Waking up this morning I realized that working in Notes 8 Eclipse, as awesome as what it is for many reasons related to XPages, has come at some cost. I’ve been working on a Project that required no XPages Development, and decided to run Notes 8 Classic just to get a feel for it. In doing so, i’ve identified the following that makes me frown daily:
1. The Speed
DDE (Domino Designer in Eclipse) is quite a bit slower than Designer 8 Classic or prior releases. Every time I open DDE for the first time I go make myself some coffee so that it can finish up whatever it’s trying to do. DDE is also less responsive to what i’m used to in prior releases of Notes. Every time i click on something there’s this delay before it reacts.
2. The Build
Ok, this is probably the bane of my existence. How I miss the days of “Modify, Save, Preview”. Now, it’s “Modify/Save/Build/Preview/Hmm, it must have not built properly/Build again/Preview/Dammit, now what!!!/Clean/Build/Preview/Finally! I’m all for XPages but there’s got to be a better way. It’s gotten worse lately where if I have a Local Replica where I design all my changes, then build and replicate with the Server, 60% of the time I have to open the Replica on the Server and re-build, which sometimes takes up to 3 minutes depending on size, etc. This has given me massive amounts of frustration and unnecessary time wasted.
3. The Crashes
It almost feels like DDE is in a bad mood by default, until you can somehow convince it otherwise. I had to install Subversion in DDE on multiple machines the other day. 5 out of the 6 machines resulted in their DDEs crashing and none of them for the same reason. I couldn’t believe my luck. 5 out of 6. Is this the cost of having functionality like XPages, Source Control, etc?
I apologize that this is not one of my more positive Blog Posts, but I realized this week what a joy it was to work in Classic Domino Designer. Yes, sure Eclipse brings a lot to the table, but most definitely not for free.
I’d love to hear feedback from everyone on their experiences. Maybe this post could result in finding a way to have DDE Perform the way we all want it to.
Cheers
John.
I found that Designer in 8.5.3 is much more stable than 8.5.2. But I still see crashes, and you are right on the slowness.
Hi Karl. You’re right about 8.5.3 performing better than 8.5.2. I have very high hopes for Notes/Domino 8.5.4 in terms of performance, and also the SSJS Debugging feature.
Cheers.
Couldn’t agree more. Spend nearly all of my time in “classic” Notes development, where the only things that DDE brings to the party is great search and a better LotusScript editor. Don’t have too much of a speed issue, tho – maybe the 7200rpm disk I ordered in this laptop helps.
Mick
Hi Mick. I agree on the Search. A fantastic feature of DDE. That has vastly improved time spent on developing in existing applications.
Search comes with a price, at least if I use search & replace. In many occasions this has corrupted design elements for me (it seems the XML translations that happen behind the scenes are still flaky).
The crashes are annoying. Sometimes I have some days without a single crash, sometimes I have 10+ a day. It works better when only dealing with XPages although it tends to be even slower then. I only use SSD’s which helps a lot.
I don’t want the classic Designer back given that it would not be enhanced in a way that it would provide even basic Eclipse IDE functionality.
Current Expeditor framework is based on Eclipse 3.4 (4.2 is the current Eclipse release) and the latest release 6.2.x seems to be from 2010 (6.2 is even older, released in 2008).
To be fair pure Eclipse does not crash very often but recent Eclipse releases tend to be slower. People say this is because IBM reduced their dedicated resources on the Eclipse project as a whole.
Let’s see what Designer 9 will bring.
Hi Henning. Ouch. I haven’t had that yet with the search, but I also manually replace values, so I’ll be sure keep away from Search & Replace for now.
Thanks for the Post.
“How I miss the days of “Modify, Save, Preview”. Now, it’s “Modify/Save/Build/Preview/Hmm, it must have not built properly/Build again/Preview/Dammit, now what!!!/Clean/Build/Preview/Finally!”
“It almost feels like DDE is in a bad mood by default, until you can somehow convince it otherwise.”
Those might be my two favorite blog lines this year…
Hi Thomas. Yeah, I’m looking over my Post again and actually having a bit of a laugh. Sometimes you just have one of those annoying days.
Are you using an SSD in the machine you’re working on? These days I find that to be a necessity when for working with DDE. I put an SSD in my Lenovo W500 over two years ago. Expensive, but worth every single penny.
The biggest bottleneck in speed for computers is the hard drive and Notes Eclipse/DDE have lots of little files to load. Many more than the classic versions.
Now I’m on a new MacBook Pro Retina. Cold startup time for Notes 8.5.3 is under 4 seconds, DDE after that takes about the same. It’s crazy fast!
One thing that can slow down starting DDE a lot is having the list applications sorted on date. Sorting on title is the fastest.
Hi Thimo. Thanks for the Post. I’ll check how my apps are listed in DDE, although I usually keep my bookmarks to a minimum when working in Designer. I haven’t really taken off with Working Sets as yet. It’s just not really working for me right now.
John, sadly I agree. I’ll stock the fridge at the office if it will make you feel better.
Thomas, I agree, on the floor (“,)
Errrmmm.. “Designer 8 Classic”? How does one enable that?
Install Notes 8 Basic with Designer and Admin client…
Thanks for the info.
And it has to be the proper Basic Notes Client, yes? The UseBasicNotes=1 trick doesn’t work. At least, it doesn’t for me.
Hi Mike. I have a Notes 8.0.x environment that runs alongside my 8.5.3. Usually when you startup notes it’s via Notes.exe, which is Eclipse. Go to the Notes Program Directory and launch Notes via nlnotes.exe.
This will launch Notes in Classic Mode. From there open you can open Designer in Classic Mode as well.
I’m just not sure if this still works in 8.5.x.
“Domino Designer client is not allowed to load while running Basic Notes client. Please load Standard Notes to run Domino Designer.”
As I said though, that’s running Standard Notes but with the UseBasicNotes=1 setting in notes.ini. I don’t have the actual Basic Notes installer to test with.
Hi Mike. I will investigate a preferred way to launch Dom Designer in Classic mode, hopefully using 8.5.x.
I’ll blog it should I find a good solution.
Cheers.
Hi John,
I sympathise with you – there’s certainly a few DDE issues for IBM to fix. I love xpages and the new features of 8, so I persist.
Have you tried changing the settings in the jvm.properties file as per this http://www.tlcc.com/admin/tips.nsf/tipurlref/20120217
That made things a lot faster for me.
Another thing to add to the bane list is removing databases from the application list (on the left). Not sure if it’s just me but it takes a long time to remove just one application from the list, and you cannot select more than one to remove.
I’m hoping IBM will address these issues in future releases.
Hi Murray. Thanks for the Post. Yes, i have changed these settings and they do make a difference. I also work in Eclipse itself for mobile development and i must day that Eclipse is extremely responsive. The problem seems to be Notes Designer using Eclipse.
I have big hopes for 8.5.4.
Hi John
I don’t have any recent experience with the Notes classic designer. But I do have some observations regarding the DDE speed in a VM. I run Ubuntu on my workstations, so all development are done in relatively clean Windows XP VM’s. About a month ago I got a new laptop with an i7, being an upgrade from 2 to 8 cores/threads I wanted to realize better speed in DDE(open/refresh/build). Hence I installed a new VM with multiple core support.
I did not feel the immediate improvement, so sat down with a stop watch and measured start, refresh and rebuild times. The double core VM used ~twice as much time as the single core VM. I repeated the test on my other work-station, which confirmed the results.
Re: build/rebuild on server – my experience confirms yours. I really do not like working on local replica’s, so I am planning on improving my network with gigabit connection between workstation and server. I.e. wireless is really out of the question as soon as the design starts growing a little bit.
I usually have 10+ crashes during a work day. Worse when databases are located on the server.
It seems to me that the heart of all these problems lies in DDE communications with server.
I hope the new DDE will be delivered on Linux too…
Johnny
Hi Johnny. Thanks for the detailed post. Those are some scary stats.
I’m positive i could help you with some of the problems you are experiencing.
1st possible solution: i posted a little while ago about using design definitions to stop unnecessary crashes. It really improved stability.
http://localhost:22660/2012/08/11/xpages-tip-speed-up-design-load-times-by-using-design-definitions/
2nd possible solution: Nathan Freeman posted quite a while ago showing some nice tweaks to DDE. I’m sure this could help as well.
http://ntf.gbs.com/nathan/escape.nsf/d6plinks/NTFN-8GP6RP
3rd possible solution: Murray posted a comment on this Blog Post about the jvm.properties.
http://www.tlcc.com/admin/tips.nsf/tipurlref/20120217
Sadly, my concerns are those after these settings are in place.
I really hope this can make your dev time more cheerful.
Cheers
Solutions 1 and 2 have not been implemented (at least not fully). Re jvm.properties – I find that too much memory generates a new set of problems, so 512-768 is my favorite. 1024 has been really bad for me.
Will look into the other solutions.
Thanks, Johnny
This topic always stirs the angry coder in me. Conceptually there is nothing wrong with the concept of Xpages. I need to advise that I haven’t used XPasges much yet, as my world revolves around devices and mobilisation. But I have had to work with the 8.5 designer. I generally use Notes 8 basic or version 7 to do any traditional Notes development. 8.5.x is avoided simply from a developer’s productivity POV, unless you must use XPages. The regular crashes and pointless modal dialogue windows when simply accessing or closing a design element are evidence of a bad implementation, and won’t start on (java) agent writing. I think Andrew Pollack said it best about the Notes 8.5 designer:
“the IDE may be the single worst atrocity I can recall ever being inflicted upon a development community”.
I don’t blame the talent for creating the designer, but those who signed off on it without actually understanding how serious developers need to use it. Now that the “dye is cast” it would take some serious firing and hiring to rectify what is nothing short of a damaged DDE.
A couple of tinkerings make a big difference:
1 – strectch your JVM heap Eclipse runs in by adjusting jvm.properties (in progdir/framework/rcp/deploy). I use:
vmarg.Xmx=-Xmx1024m
vmarg.Xms=-Xms768m
the default is:
vmarg.Xmx=-Xmx256m
vmarg.Xms=-Xms48m
google for opinions. Note that you need to reset this after install actions (i.e. install/repair/update/reconfigure using installer)
2. Another speed killer is dbs with old ODS (at least, it was on our Domino on IBM i). Both servers & clients need Create_R85_Databases=1 in the Notes.ini to enable ODS. With the ini variable set, run compact -ODS -* on all your servers and clients, preferably with said servers and clients off so all databases (be them nsf, ntf and mail.box like entities). Make a point of hunting down databases which were saved with a .n i.e. locked into an old ODS. Note that changing the extension does not remove the bit that locks in the old ODS, you need to make a new replica or copy on a server or a client. Also watch out for updates or restores reinstating old ODS databases.
3. Check you AntiVirus exclusion list. Personally, I have the Domino/Notes program directories, the data directories, and the temp directories in use by Notes & Domino. make sure if you have ofloaded indexes or transaction logs to other locations those are excluded too.
Please contact me with results/other tips/errors
Hi Lars. Thanks very much for your post. I agree that we often forget how Anti Virus programs can affect your Notes environment.
I will use your suggestions and see how it applies to my current environment.
Cheers
oh dear I see a bit was mangled:
Make a point of hunting down databases which were saved with a -name-.ns-numeral- i.e. locked to a specific. Note that changing the extension does not remove the bit that locks in the old ODS, you need to make a new replica or copy on a server or a client. (check that Create_R85_Databases=1) Also watch out for updates or restores reinstating old ODS databases.
Hello!
I can sympathize. I have an older work PC (WinXP, 3GB RAM), and it’s slow when I use a server, and if I use a local preview, nhttp gobbles up most of the CPU. I generally keep struggling with it until notes2.exe takes up over a GB of memory, then I reboot and keep pluggin’ away.
I’ve done the IBM recommended jvm changes, and they have helped. I don’t bother with local previews anymore, since that seems to crash the computer faster.
I do miss traditional Domino development. I could do most of what can be done in XPages with jQuery & CSS, without all the overhead and frustrations.
Notes 9, in February, is supposed to have improvements for DDE and XPages, in general, but I get the idea that IBM is pushing more towards “social” applications that can fit into Connections, and not as much the high level secure RAD applications. I don’t think they can claim that XPages is a true “Rapid Application Development” platform until the Designer is drastically improved or even overhauled. I guess we shall see.
My 2¢…
Hi Steve. I agree completely that RAD is somewhat a broad term at this stage. I spend a lot of my time being patient and understanding with DDE, where I could be coding crazy instead.
I will be installing Notes 9 tomorrow and I look very forward to getting a feel for the new DDE.
Cheers.