Quick survey: What would it take to get you started with Java in Notes?

Update: Let’s focus on Java development for Notes – not necessarily plug-ins but simply what would it take to get started with Java – the programming language as that is the first obstacle.

I’m running across quite a lot of people who would like to do sidebar plug-ins and general plug-in development for the Notes 8 platform but who are lacking the Java skills required. Many times they haven’t actually taken the time to learn Java at all since the IDE support in Domino Designer is so poor. Based on this I started thinking about how to get Notes developers started developing in Java. So…

What would it take for you to get started with Java in Notes?

  1. Up-to-date editor in Domino Designer – I wont use anything else!
  2. If it is made easy to develop, test and debug in Eclipse I can live with manually having to move the code to Notes for production use.
  3. It’s not the tool support which is the problem – it’s the lack of time, documentation, API’s, management support or this other thing (please state reason)
  4. I’m not at all interested in Java – I want to develop plug-ins using a scripting language.
  5. Other (please state reason)

Please post your response as a comment and a little explanation if you chose “Other”. If you chose option 2 I might just have a solution for you… 🙂

Thanks.

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:

Is the Notes/Domino platform getting too complex?

Ben Poole posted a link to a rant on developerWorks (notes.net). The post addressed some of the same points that Nathan addressed some time back in his “Hourglass Community” post.

I think it is interesting that a post like this was posted to LDD not too long after Nathan posted about the same thing. I find it curiously interesting that the Notes/Domino platform turns more and more complicated and that the questions posted on LDD turn more and more basic… It could be that (real) developers simply get their information from other sources such as blogs and that those left in the forum really are the newbies. It could also be an indication that the platform getting increasingly complex is revealing to real problem for IBM Lotus.

How do we fix it? How do we get Notes/Domino developers to get smarter? It is really our, non-IBM’ers, job? Something to ponder over the weekend…

I wouldn’t want to start doing Notes now…

Well actually I would – I love the product but this morning after seeing a developerWorks article titled “Using and understanding Reader Names fields in IBM Lotus Notes and Domino” I caught myself thinking: “Who actually reads something as basic as this?”

I only just finished the thought before realizing that although I have been with the product for a LONG time and consider most of the features well known, many new developers are coming to Notes each year. I wouldn’t want to start now because where do you start?

When I started with Notes I think there were about 3 different courses available with nested @If’s and understanding the difference between @DbColumn abd @DbLookup being some of the most advanced topics. I haven’t counted but my guess is that there are a hell of a lot more courses now! 🙂 Where do new developers begin? Is the scope of the product now such that the developers who will become the “jack-off-all-Domino-trades” are gone? Will new developers have to specialize to actually grasp the product and be productive? How long will it take before they are actually able to contribute to a decent size project? With quality design elements that is… Not just forms with a couple of fields or views, designed in a way that would make Nathan Freeman and Chris Blatnick scream! Quality stuff ready for prime time…

It’s a whole different ball game now. New technologies. Different platforms. Different languages. Different vocabulary; Notes, Domino, Eclipse, RCP, Expeditor, Form, View, Script Library, PostOpen, WebQuerySave, Design Synopsis, Principal field, Amgr task, Composite application, web service…. Considering that I already used Notes and Domino interchangeably above, although the words mean totally different things, doesn’t make it easier.

When were the last time you started a new junior developer off in Notes/Domino development? How long did it take before he/she was productive on his own? My guess is that it took a long time. I’m not saying that it is impossible, but I find it very hard to get new developers going in Notes. There is just so much stuff you simply have to know before you can produce anything that is off value to the customer (whether he be internal or external to the company).

I guess you have to start with the basics and just accept that it takes time.

Simply having to know a lot of stuff and starting with the basics concludes the rant and takes me back to the article on reader/author fields. Good thing these articles are still being written – where would we be without them… 🙂

Becoming a NOMAD

I received my new 4GB USB key today and have already loaded Notes 7.0.2 on it using Chris’ excellent howto (Lotus Notes 7.0.2 – NOMAD Review). There wasn’t much to it and I didn’t even have to manually add admin.exe and designer.exe since I used a full Notes install image. Very nice… 🙂

The USB key comes loaded with the U3 software so now I need to find an IPSEC VPN client that is U3 compatible or one that can be installed on an USB key to be on Cloud Nine. The client should work with Cisco appliances.

Looking forward to lighter roaming.

Re: Still a Domino Developer

There’s quite a heated discussion going on at the moment at edbrill.com and at codestore.net. I’m a bit late to chime in but here’s my 5 cents…

I enjoy working in Notes/Domino and overall I think that the platform really kicks a…! Does the product have its shortcomings? Sure – but that is true for most Swiss-army knife products. Could things be done better? Sure – but so it’s true for many other applications and environments. Do I always agree with the decisions of Lotus? Nope – but I hardly ever agree with anybody… 🙂

Being serious for a moment… My number one grievance with Lotus is not about feature XYZ but rather that that the bug/feature submission process for many IBM products, incl. Lotus Notes, is opaque. Once the bug/feature request is submitted it is very difficult to get the *real* status on the issue unless you know someone on the inside.

Would it be possible to make bug/feature request submission more transparent? What if the bug/feature request database was available on the web for all to peruse? Bug tracking systems like Atlassian JIRA and Bugzilla have functionality for voting on bugs. In this way all customers and business partners could see what’s going on and what’s actively being developed. It could also help Lotus to gauge what’s really important to developers and what’s not.

While I know that a process is probably not always possible I think it would go a long way to give developers an outlet for issues and ideas. It could be that I as an user wouldn’t be allowed to create issues in the database myself but it would give me a chance to keep track of my issues.

Just a thought…

Notes 7.0.2 doesn’t seem to solve my tiling background image issue… :-(

As reported previously we have been having some problems with form background images tiling across the form in Lotus Notes 7.0.1 for a certain application. Unfortunately the issue is still present in Notes 7.0.2 while the issue doesn’t appear in Notes 7.0. While Notes still has this issue we cannot recommend our customers to upgrade their client to 7.0.1 or 7.0.2. Bummer!

Bruce, Vince and Chris also had the problem in Notes 7.0.1 – does 7.0.2 solve the issue for you guys? I would very interested in hearing from you.