Is the lack of Java adoption *still* the Achilles’ heel of IBM?


In March of 2006 I wrote a lengthy post (see below for links) on how I considered the lack of Java adoption by Notes/Domino developers the Achilles’ heel of IBM. The post was picked up by Ed Brill and made quite a stir in the blogosphere.

Sitting here developing a Notes 8 plug-in in SWT (the Java widget toolkit of Eclipse/Expeditor/Notes 8) I got to thinking if the state of affairs has changed and if yes, how it has changed. As a strong Java proponent I’m afraid I don’t like the answer… My perception is that the percentage of Notes/Domino developers having adopted Java hasn’t changed since then. We’re exactly in the same place we were in March of 2006.

Why haven’t IBM done anything? Why wasn’t Java everywhere at Lotusphere 2007? Will it be a major focus area at Lotusphere 2008?


Not to sound too sour and/or disappointed but I fear there is somewhat of a connection between none of the 4 sessions on Java development I submitted for Lotusphere 2008 was accepted and the state of affairs. It could of cause also be that the sessions just wasn’t interesting enough.

Very few of the Lotusphere attendees will be looking for sessions on Java I’m afraid. A stark contrast to what the platform demands.

I understand that there is a learning curve to the language but we need to seriously address this lack of adoption. If we don’t we, as business partners, will not be able to fulfill customer demand for development resources. The platform as a whole will be the one that suffers. Of cause Java is *the* standard enterprise language so there’s an abundance of Java developers out there, but developers need a solid understanding of Notes/Domino as well as Java to be productive and bring value to customers.

My understanding of the current state of affairs is this:

  • Most of the Notes/Domino developers are older – very few straight out of school jump onboard. It’s all about learning an old dog new tricks…
  • Very few get into Notes/Domino development unless they work for a company running Notes. Could it be that the platform still have a monolithic feel to it even though it is anything but?
  • Very few existing Notes/Domino developers have started adopting Java due to lack of pressure from IBM. Certainly the Java API and IDE not evolving haven’t helped.
  • Many who have adopted Java in Notes/Domino use it as a procedural language as a LotusScript language substitute with threading or network connectivity. While this is a start there is a major leap in the level of abstraction needed for composite application development. If we had gotten started earlier we might be further ahead now.
  • Very few, if not none, of the guys and girls leaving school know that the Notes client of today is built on the same platform they have been using to learn the Java language (yes – that would be Eclipse).
  • Very few, if not none, of the guys and girls leaving school know that Lotus is all about the social and building software to support collaboration.

Please tell me I’m wrong!

Links:

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…