What is holding you back from building Notes, Sametime, and Symphony plug-ins with Eclipse & Expeditor?

August 4 2008

There has been some chatter out there about why we are seeing a trickle instead of a flood of plug-ins that work with Notes, Sametime, or Symphony. Besides the fact that they require knowledge of Java and Eclipse.org development, what things are holding people back? I think if we could come up with a comprehensive list of suggestions and road blocks that we could communicate with IBM this is the time.

I will post my issues and wish list as another post with a consolidated list from all of you. And please ... let's not make this a "Java is too hard" or "notes developers can't handle eclipse development" discussion. That issue is known but I want to offer constructive feedback on improvement not have the same discussion again.

24 Responses to “What is holding you back from building Notes, Sametime, and Symphony plug-ins with Eclipse & Expeditor?”

  1. 1) Axel says:

    other work.

    Mikkel answered me some questions allready somewhere on his blog, but a wiki about how to set up dev-environment, existing open source samples, etc. could really help.

  2. 2) Carl Tyler says:

    It's all still in flux, it's forever changing. So far, every plug-in we have created for Sametime, we have had to modify to work with the next version that came out. The backwards compatibility mantra only appears to apply to Domino NSFs.

    Setting up different eclipse development environments for different versions of Sametime and then one for Notes is just a pain.

    Running different versions of the Sametime client on a single machine is next to impossible, requires additional hardware to run VMs etc. Makes development more expensive than it should be.

    Not enough demand, yet.

  3. 3) Bruce says:

    Remember that you said only the "cool people" were developing these apps. See this thread { Link }

  4. 4) John Head says:

    Well Bruce, I contend the reasons are more cultural than technical, so I am trying to drill down thru that and figure out what we can ask IBM to do about it ... or do something ourselves

  5. 5) David Jones says:

    The standard version of Notes can't run well enough in our Citrix environment, which about half the company uses, so there's no point to develop anything that's outside the basic version.

  6. 6) Volker Weber says:

    Shifting target platform. No demand. There are plenty of platforms out there you can run your plug-ins on. Firefox seems to be popular.

  7. 7) John Head says:

    Thanks for the amusing post Volker. Demand is certainly there if you are open to it.

  8. 8) John Head says:

    @David - good news is that 802 will help with the Citrix issue since Citirix will be offically supported. We are seeing major improvement in our testing

  9. 9) Axel says:

    I've once developed a rcp client and I think it requires a fair amount of java knowledge. You may learn in the process, but its not going to be easy (better learn java first).

    Lotus should also try to catch interest of developers who come from java.

    The strength of Notes people often lies in a different field, like more closer to the customer. I often work with java code developed by nearly pure Notes developers and it simply doesn't look as if they were having an easy fun time.

    <offtopic>

    My last words on this shifting target platform thing. I think you and even me as other visitors to this blog have no interest in debate. Even if s.o. answers, promised, no further response from me:

    How much are Firefox plug-ins being used for enterprise clients?

    What is usefull for web-dev tools, download helpers, etc. doesn't necesarily have to be a good platform for enterprise clients.

    A more plausible option than Firefox might be FLEX, but IBM does excert much more influence over Eclipse Software Foundation than over Adobe.

    </offtopic>

  10. 10) Nathan T. Freeman says:

    Personally, I think it's just plain too hard to do. It's not Java that's hard. It's the Expeditor plug-in model. Even just getting started in the simplest way is a major undertaking. And it's made hard by several key points...

    1) Documentation is terrible.

    2) Few high-quality coding examples, so there's no clear preferred design patterns. The ISV enablement team have really been responsible for what's out there so far. And while they've accomplished some great stuff, the code really has to be unraveled for someone to be able to learn from it.

    3) You have to manage threads by dispatching jobs and setting up callbacks. In a world of single context applications, (client and browser both) that really is too much to REQUIRE of developers. Having access to proper threading is great, but I can count the number of Notes/Domino developers I know who can write multi-threaded code on one hand. And I wouldn't even count myself among them.

    4) It's still a bolt-on. The distribution and maintenance model for plug-ins is completely different from templates. There is no interaction model between template UI events and plug-ins. Even getting the current context is a relatively obtuse process of listening for Notes URLs, and you can't get access to anything that's not written to disk yet.

  11. 11) Jeff Gilfelt says:

    The lack of quality published API for integrating with the Notes portion of the workbench would be my single biggest issue.

    A shifting target platform is not unique to Eclipse or Expeditor. Many Firefox extensions were broken going from 1.x to 2.x, and almost all from 2.x to 3.x. That's why there are beta programmes.

  12. 12) Charles Robinson says:

    The first and most important roadblock is the Java requirement. It's not that Java is hard, it's that I have no use for Java. There is absolutely nothing in my day-to-day development work that requires Java. Learning it so I can do plug-in development means I'd have to be really convinced it's worthwhile.

    Which leads me to my second issue: I'm just not sure why I would create plug-ins. If I had a better understanding of when I would use a plug-in versus a Notes app it might help. That information may be out there, but knowing it requires Java means it's not anything I would ever do, so I haven't bothered to look.

  13. 13) Jeff Gilfelt says:

    Totally agree with Nathan's point 3. While finally having a multi-threaded UI in the client is very nice, what I'm looking for in an API is something that will manage this for me if I so choose.

  14. 14) Dan Sickles says:

    A higher level Plugin/Expeditor/NotesJob API would be nice. Something similar to the Groovy Monkey based one that IBM has in the lab. The API would be scriptable from any JVM language (Java, XPages Javascript, Rhino, Groovy, Jython, JRuby etc) and maybe in Lotusscript via LS2J.

    This would be consistent with Notes RAD legacy. Discoverabiliy would also be improved.

  15. 15) Axel says:

    I wouldn't overstate the multi-threading thing, as you allready program against a multi-threading management framework. Raw Java multithreading is way harder and people often don't get it right.

    The object model of Eclipse itself requires a much more system level kind of oo-thinking than traditional more business logic centered Notes development.

    Students have the time to get into this oo thing in a year or so, but it appears to be much harder for business programmers with projects, customers and all that stuff. Did try to convince a crowd on a german forum, but I failed. Offered a course in my company, really invested some weekends for presentation, but they hear it, find it interesting and simply don't try hard enough to truely get into it.

    IBM should try to attract developers with a Java background.

  16. 16) Jeff Gilfelt says:

    Axel, have you actually developed plug-ins for Notes 8? We're not talking about managing concurrency and race conditions here... you actually have to spawn UI threads and do callbacks for things as simple as getting the document selection context or writing to the status bar. I have been developing for the Eclipse platform for long enough to understand why this is so, what I'm saying is there should be a better API available to shield me from much of this detail so I can get on with writing the business logic. This should be the goal of any developer, whether they have a strong Java background or not.

  17. 17) Carl Tyler says:

    Interestingly enough the Notes client suffers from poor threading with the Sametime client. The notes client can be doing something and an IM comes in, but you can't reply to it, cos the Notes client is busy doing something.

  18. 18) Volker Weber says:

    John, why do I have to be open to it? If the demand is there, then get going. High demand, no supply. Perfect business case.

  19. 19) John Head says:

    Sorry Volker, but nice try. We are seeing a very large demand. I am trying to figure out why others are not .. or why people haven't started things like a wiki or an OpenExpeditorPlugin.org site.

  20. 20) Rob McDonagh says:

    I've seen various specific details mentioned, both here and in other places, but the gist of the issue is this: the costs of such development far outweigh the benefits. And if that is not a true statement (I think it's debatable, personally), you can insert the word "perceived" in front of both cost and benefit, and that statement is definitely true.

  21. 21) Axel says:

    I don't see this demand thing. Especially for developers, as the skills earned in expeditor is reusable in other eclipse (rcp) plug-in related areas. And thats really big, inside and outside of IBM.

    A lot of Domino development these days is maintenance programming. There is actually quite a bit Expeditor development going on for new products, like in Germany for example Haus Weilgut Mindplan.

    I would invest time in an OpenExpeditorPlugin.org site. If nobody has time & energy, IBM may have to start one.

  22. 22) Ben Poole says:

    No demand. I can't even begin to think about looking at this stuff until I have requirements for it -- too many other things to do and learn which are required now.

    In fact most of my gigs are pure web dev -- there's no Notes client on the users' desktops, let alone ND8. I think Xpages is going to occupy more attention in many developers' minds...

  23. 23) Volker Weber says:

    John, always happy to amuse you.

  24. 24) Nathan T. Freeman says:

    John, here's an example of what I'm talking about when I say it's still just too hard to accomplish. { Link }

Leave a Reply