Open Standards, IBM Social Business Toolkit, and Embedded Experiences

You may have not found this years OGS to be the best OGS ever, however if you are a developer there were some key take aways that should have made your ears perk up.  You probably heard the words “Open Standards”, “IBM Social Business Toolkit”, and “Embedded Experiences” repeated several times during the OGS.  (You also may have heard the words “native flash” 20 times in the span of 15 mins…but thats a different topic for another day.)  If you’re developer the fact that IBM is focusing on open standards should make you rejoice.  IBM has a good history of using and supporting open standards when it comes to software, and its good to see that tradition continuing as we move forward with all our Lotus products.  The adoption of these open standards is really being pushed by Project Vulcan.  Some of the standards we will be using, and that were mentioned in the OGS were, HTML5, OpenSocial, ActivityStreams, and CMIS.

Not only will Lotus be using these standards but driving them as well.  By driving the standards we will be able to contribute the innovations we come up with back to the community.  Also since all of these standards are open that means our customers and business partners will be able to help drive these standards as well by getting involved.  In Connections 3.0 we have already leveraged one of the above open standards, CMIS.  See Luis Benitez’s blog entry on CMIS support in Lotus Connections.

ActivityStreams will also play a large role in all of our “Next” releases.  Take the IBM Social Business Toolkit for example.  The IBM Social Business Toolkit is now available on Lotus Greenhouse for everyone to explore.  There has also been a wiki created with a lot of information on the toolkit.  The IBM Social Business Toolkit is what is backing the activity stream which was demoed in the OGS.  The reason why it is called the activity stream is because it’s based on an open standard called ActivityStreams.  ActivityStreams is a standard that was defined in order to represent a stream of events.  Streams of events is something that has become very popular with social networking sites.  Facebook, Twitter, Google Buzz, and Connections all have these streams of events.  If you standardize this stream it makes it easier to integrate across all of them, in fact, Facebook, Twitter, and Google Buzz all leverage the ActivityStreams spec.  With the IBM Social Business Toolkit, IBM and Lotus, will also now be leveraging that spec for its streams as well.

So how does OpenSocial play into this?  Well OpenSocial references the ActivityStream spec in it’s sepc as well.  (There is slight confusion here because there is also a notion of something called Activities in OpenSocial 1.1.  This is different from ActivitiesStreams, however, in OpenSocail 2.0 Activities will be deprecated in favor of ActivityStreams.)  In fact, the IBM Social Business Toolkit uses a reference implementation of OpenSocial called Shindig, in order to interact with the ActivityStream it produces.  Just look at the URL to the toolkit on Greenhouse:  Like I said Shindig is a reference implementation of the OpenSocial spec.  It is an open source Apache project, that anyone is free to use and contribute to.

So back to OpenSocial…where else will we be leveraging OpenSocial?  Well, we are also working on making the concept of embedded experiences part of the OpenSocial spec as well.  In fact, I have written a proposal for embedded experiences which is being considered for OpenSocial 2.0.  This also means the reference implementation of embedded experiences will be part of the next release of Shindig, as long as the proposal is accepted.  It was also announced at LS11 that XPages would be an OpenSocial container, meaning you will be able to render OpenSocial gadgets inside an XPage.

The fact that Lotus has decided to leverage some of these standards is great for everyone from the customer to the developer.  These standards are developed by a community of individuals both from inside and outside IBM.  It also allows everyone to get involved and have a direct impact in some of the cutting edge features that will be in our future release of all Lotus products.

Ugly Plugins

Last night I met up with Mikkel Heisterberg and Mat Newman at Lotusphere.  I quickly realized I was in for a long night of bashing about what they hate about plugin development for Notes, and Expeditor in general.  (Of course it was all in good fun and they had a lot of great feedback, but it was 2 on 1, not a very fair fight.)  One of the many topics they brought up was the ability for plugins that and user installs into Expeditor to effect the whole client.  For example Mikkel had brought up an instance where he wrote a plugin that used some third party jar which Notes also used.  However the jar in his plugin was a more updated version and when he installed the plugin into Notes it compleley hosed everything.  Their question was why should any third party plugin effect Notes at all?  Well I had no good argument for that, it’s true, they shouldn’t.


We (IBM) run into these types of problems a lot.  To the end user, when a third party extension, plugin or not, has a problem they think it’s actually Notes that has the problem.  It got me to thinking what the best way is to handle these types of problems.  Obviously we should give the end user some indication of what extension is having the problem.  This will end up saving us and the customer tons of time and effort.  Mikkel, Matt, and I also talked about giving the end user to disable the extension somehow.  That way if the problem is blocking them they can instantly unblock themselves to get their work done.  (This is assuming of course the extension itself if not critical to getting their work done.)  I am sure there is more we can do, but I will be keeping this in mind as we continue to work on future releases of Expeditor/Notes.

Project Vulcan Refresher

With Lotusphere coming up in about a month now, Project Vulcan will surely be a hot topic again this year.  There is at least one session dedicated to Project Vulcan.  If you need to refresh your memory on what Project Vulcan REALLY is, than I sugest you watch this video.  I would be interested in hearing if there are topics related to Project Vulcan that you are interested in learning more about or that you may be unclear on an want a better explanation.  As always leave comments below.



Heading To Lotusphere 2011

It’s offical, I will be going to Lotusphere 2011 this January.  This will be my second Lotusphere, last year being my first.  Last year I was working in the lab, and I am sure I will be there again this year as well, but this year I will also be giving a session on plugin development with Mikkel Heisterberg.  This will be my first session at Lotusphere, I gave a similar one with Mike Masterson, at the View 2010 this past summer.  The Lotusphere session is a jumpstart, so we will be able to cover a lot of material to get you ready for other sessions throughout the week.  Here is the abstract for the session:

Jumpstart Your “Jedi Plug-in Development Skills” with the Masters

Come to this session to get up and running on plugin development for Lotus Notes, Lotus Sametime and Lotus Symphony and learn the ropes to get started. We will take you from getting the Eclipse IDE and Lotus Expeditor Toolkit installed to configuring, testing and verifying your setup. Next you will learn the basics of plugin development and based on real life examples you will see just how easy plugin development can be and how to reap the rewards. As there’s no good in having great plugins if they never reach user workstations we will finish of the session with end-to-end information on plugin signing and widget deployment. This is a must see session it you want to get started with plugin development but never knew how.

Mikkel and Bob Balfe will also be having a second session that will cover more advanced topics of plugin development.

How the Jedis do plugin development

So you did your first sidebar plugin for Lotus Notes and deployed it to users but now you’re stuck… If you want to do more with your Lotus Notes or Lotus Sametime client, you want to learn cool extension points, learn best practices and see real life examples then this session is for you. Learn about object contributions, fly the magic carpet and do OAuth authentication from plugins. This is how the Jedis do it – may the Force be with you!

If you are at all interested in plugin development, I suggest you attend both sessions.  Even if you have no interest in plugin development or have never thought of writing a plugin, I suggest you at least come to the jumpstart and see whats its all about.  You may be surprised at what you can do.  Also if anyone wants us to talk about anything specific in either of the sessions above please feel free to contact any of us or just leave a comment below.