Notes 8 installed and I’m down with it!

I installed Notes 8 this morning after installing Domino 8 on our production server and I’m liking it! I’m also running a customized version of the Notes 8 mail template (I refuse to call it “mail experience”) and it’s über cool! No issues with the installation or any existing applications so far. It has been smooth sailing.

I don’t know what I was expecting performance wise as previous builds have been running in virtual machines but I have been very pleasantly surprised. The client is snappy and much faster than the beta builds. I’m leaning towards it actually being faster than my Notes 7.0.2 install. I installed the whole package incl. Designer, Administrator, CA editor, activities and productivity editors and all is running on my old IBM Thinkpad T41p.

Installing the client in the morning is tough as I gotta stay focused since there is also work to be dealt with. I wonder what that button does – more later… 😉

IdoNotes episode 37: Message Recall

Just finished listening to IdoNotes episode 37 on the message recall feature in Notes 8. Listening to the episode I found it interesting that the functionality is able to distinguish between unread and read messages as it was my understanding that this information was kept in the bookmark.nsf database. It could simply be that the router relies on the fact that unread marks may be replicated as it the case for clustered servers. In any case it means that replication of unread marks must be enabled for mail databases for this functionality to be able to work on unread messages. Just a thought…

Notes 8 forum @ developerWorks

The link to the Notes 8 forum appears to be missing at the developerWorks Notes welcome page. The link was quite easy to guess. I also made a copy-and-paste of Julians Firefox shortcut (using “ldd8”) for searching with the following URL (all on one line):

javascript:url='http://www-10.lotus.com/ldd/nd8forum.nsf/
search?SearchView&SearchOrder=1&SearchMax=0&SearchWV=TRUE&
SearchFuzzy=FALSE&Start=1&Count=100&Query=';s='%s';
terms=s.split(/s/);location.replace(url+terms.join
('%20AND%20'));

To all you guys from a non-English speaking country…

…be sure to chime in over at Mary Beth Ravens blog and make sure that Lotus understand that they need to cater for non-English speaking countries as well. In this case we are talking automatic spell check for Notes (text) fields but it could be any other feature involving some kind of i18n.

For this specific issue my input is to make sure that the automatic spell check language doesn’t necessarily follow the client and/or OS language. Many Notes applications in Denmark are in English even though the Notes client and/or OS might be in Danish. There really should be some way of indicating the spell check language for an entire application or individual form.

Another reason to chime in is to make sure simply stuff is considered as well. This could be that contacts from the personal name and address book is printable on A4 paper. As basic as this sounds it hasn’t been considered up to this point. Try printing a personal contact in Notes 7 or earlier in A4 format. Not a pretty sight. I think it is kind of embarrassing.

With all the talk of persona-driven design for Notes 8 I’m utterly confused that none of the selected and described personas are non-English speaking, from a country using the metric system or using a different paper format. Why isn’t Samantha from Belgium?

What’s up with the “me too” articles on developerWorks?

After reading the last installment in an article series on Notes 8 development on developerWorks I have to wonder how many articles they (developerWorks) need to publish on creating simple plug-ins, building features and publishing them using an update site. This is already extensively covered as part of the Eclipse development articles both on developerWorks and on eclipse.org/articles.

In my mind a good example of bringing something new to the table is the article on leveraging the current context in Notes 8 (Leveraging user context in the IBM Lotus Notes V8 sidebar and toolbar). That’s new. That’s something I wanna do. It still uses the first third configuring and setting up stuff but still it’s new.

Why not try some more concrete examples that actually cover some of the things that IBM bring to the table in Notes 8 / Sametime 7.5 / Expeditor or some of the areas that is going to cause problems? Suggestions could be:

  • Using the components of Expeditor e.g. the message broker and the web services engine
  • Building Notes UI’s using SWT components
  • Making your SWT components look the ones supplied by IBM
  • Communicating with the Notes application from your features/plug-ins

The above suggestions aren’t great but I’m dying to read articles on Notes 8/Sametime 7.5 that doesn’t spend the better half explaining the same ol’ concepts as have been explained so many times before…

Deploying your plug-ins in Notes 8 and Sametime 7.5.x


This document discusses the Notes 8 "shelfViews" programming model, and explicitly explains how to contribute a shelf view to the Notes 8 sidebar. There are basically two steps:
1. Create a view and add a contribution to the org.eclipse.ui.views extension point.
2. Contribute the view to the com.ibm.rcp.ui.shelfViews extension point to have it appear in the sidebar.
Following these descriptions, we compare the Notes 8 "shelfViews" programming model to the Sametime "miniApps" programming models, such that developers will know how to migrate a plugin from the Sametime client to the Notes 8 client.

Documentation — Sidebar Contribution Design Pattern and Migrating a Sametime 7.5 plugin over to Notes 8 via the Composite Application blog.

What’s the future of Java in Notes/Domino?

At Lotusphere 2007 there was a session on the future directions of Java in Lotus Notes and Domino called AD508 (AD508: Java 5 Upgrade for IBM Lotus Notes and Domino). Basically the session discussed the future of Java in Notes/Domino and how IBM is planning to ship Java 5 as part of Notes 8/Domino 8. Unfortunately I haven’t had the time I wanted yet to play around with version 8 yet so I cannot comment on whether Notes/Domino 8 already has Java 5 – the Reviewers Guide says that it has though.

For those not in the know Java 5 introduced a number of new core language features which are definitely worth the upgrade but the most beneficial for me is the enhanced for-loop and generics. There are a number of additional API changes that makes life much nicer from the programmers point of view. This is all well and good but Sun Java is currently in version 6 and have been for a while now and Java 7 is currently being planned and scoped out. Java 6 has a number of additional features that would be nice for Notes/Domino programmers such as JDBC 4, new APIs for web-services and improvements to the Java Platform Debug Architecture (JPDA). Only going to Java 5 in Notes/Domino 8 seems like a bad choice.

Why would IBM not want to go directly to Java 6? It could be that, as of today, IBM hasn’t shipped a Java 6 development kit yet and since IBM probably wants to include their own JDK it might be why. Another reason could be that IBM Lotus Expeditor doesn’t run on a standard JDK but on the IBM J9 VM which is a scaled down version of the JVM with a limited set of API classes. With not even a Java 6 JDK ready I would guess that a Java 6 version of J9 is a long way off. The fact that Lotus Expeditor is based on J9 causes its own set of problems for plug-ins in Sametime 7.5 (as previously mentioned) but that’s another story.

I fear that since Lotus Expeditor now is the base platform for IBM client products and since IBM probably wants to avoid shipping two JVMs with the product they will stick with J9 for some time. Given I don’t know the exact technical reasons for J9 and there are performance to think of as well (JVM reuse for client platform code and client side Java) I find that a real shame. It would be a really big loss.

Suddenly the supported Java version will be tied to the JVM running the client and we as developers and customers will be tied to using back-level APIs. For trivial agents etc. this is probably not going to matter anyway since the Java API hasn’t been updated since its inception. For new code it is going to be a real show-stopper. Most new code and components are created by combining existing (open-source) modules into new code and modules and with most open-source projects being at at least Java 5 by now it is going to cause problems. I know Java 5 and Java 6 are bytecode compatible but requiring additional compatibility libraries are going to be a problem in the long run. Combining this with the Java security restrictions put in place we can find our self running on a monolithic IBM Java platform which hardly was the idea.

So what’s the answer?

It seems more and more like IBM should support custom JVM for at least the server. It would be nice for the client as well but lets be reasonable. It could a solution where there are a number of choices – some choices could be proven and (absurdly) battle-tested (Java 1.3, Java 1.4.2) and some simply following the industry (Java 5, Java 6). I know it probably never will be possible to simply drop a new run-of-the-mill Sun JVM into Domino but this isn’t necessarily the goal. I simply want a JVM that follows along. It might be that it required an additional download and install but at least give me the choice.

As for the Notes 8 client it might be even easier than for the server since the Eclipse foundation already allows for a custom JVM. Why not support running Notes 8 on an already installed JVM? One could even argue that the client would benefit just as much from a JVM upgrade than the server since the Notes 8 client will be a universal client and hence not simply access Notes data. If IBM expects ISV’s to develop Java solutions for Notes 8 they will expect a common programming model for Eclipse/Notes 8 based solutions which comes down to the JVM.

So IBM – please upgrade the JVM or allow for “custom” JVM’s – soon… Oh – and please upgrade the Notes/Domino Java API – who still uses java.util.Vector? Thank you! 🙂

Microsoft Exchange protocol has been opened up

As you might have heard a number of Microsoft proprietary protocols has been opened up (incl. the protocol used for Microsoft Exchange Server) as reported on Slashdot and on Redmond Developer News. This would make it possible, as actually mentioned in a Notes 8 session at Lotusphere 2007, to make Notes 8 a client for Exchange since the Notes 8 client (read Lotus Expeditor) is actually very generic.

But then again who would want to run against Exchange Server? 😉

Via the Java Posse episode 110.