Does Lotus Symphony really need LotusScript support? Redux

July 23 2008

(Sorry for the title only post before, was me setting blogs in the future for writing, and then didn't get to it ... all comments deleted)

So this should be a fun topic. I would like to throw out this topic: Does Lotus Symphony really need LotusScript support? And by support I mean native classes.

My answer right now is No. Here is why.

First, Lotus Symphony already supports the UNO API. For example, you can use the following LotusScript to put text into Lotus Symphony Documents:

Set SM=CreateObject("com.sun.star.ServiceManager")
Set Desktop=SM.createInstance("com.sun.star.frame.Desktop")
Set WriterApplication=Desktop.loadComponentFromURL("private:factory/swriter","_blank",0,args)
Set WriterText=WriterApplication.getText()
Set Cursor=WriterText.createTextCursor()
Call WriterText.insertString(Cursor,"Hello World!",False)

Those who have been to my integration presentations at a conference will notice that this is the same code to automate OpenOffice.org. The UNO API support is a carry over. But most people consider it a real pain in the ass. You are basically pushing Java code thru OLE via LotusScript. Trying to figure out the correct syntax is difficult and ends up being a waste of time. This is not a solution that most corporations will accept.

Then we have the Lotus Symphony Add-in model. The toolkit shows you how to build add-ins for Lotus Symphony. Think Composite Applications. Yep, you are using Eclipse.org and writing Java code and dealing with Plug-ins. Oh, and those only work in the stand-alone version of Symphony, not the version that embedded in Notes 8.X Standard (until sometime next year). Yeah, most companies aren't going to accept this as a realistic development strategy.

So I see two options. IBM can either add LotusScript classes to both Notes and Lotus Symphony or they can add JavaScript support. Shocking as it is, I am of the opinion that JavaScript support is the way to go.

Why?

First, we can use COM/OLE today. Yes, it is limited to Windows, but it works. But we need something cross-platform. We need something that works inside Lotus Symphony and outside. The outside client needs to be Lotus Notes first, but I can see a need for support Outlook, Apple Mail, and other mail clients. We also need this to work with XPages, because whatever folks want to believe, they are the future of the Notes platform (and yes, there is a future folks .. ignore the people who believe the new shiny object will replace Notes from the earth). There is also this project inside IBM called "Beyond Office" which should not surprise anyone. I have heard this talked about on public TechTalks, so it's not NDA. Think Google Docs based on Lotus Symphony. Developers there will want JavaScript as well.

Now I am not sure how we make JavaScript externally available on all platforms, but I think that is easier with JavaScript that LotusScript. Yes, I know, if we had LotusScript added to Lotus Symphony, we should be able to include the classes like we did with the SmartSuite classes. But that limits us to Notes, and Lotus Symphony has to look outside the Notes world to succeed.

I am the hard-core LotusScript and OLE/COM guy. I loved when Lotus Word Pro added LotusScript. I am just not convinced that is the smart move today.

Ready, Set, Debate!