IBM’s Proposals For OpenSocial 2.0

If you have been following my tweets and some of my blog posts, then you have noticed I have become involved with the OpenSocial foundation.  At Lotusphere, IBM annouced in the next versions of all our Lotus products we will begin to leverage several open standards, one of those being OpenSocial.  In fact LotusLive already uses OpenSocial gadgets today.  I personally have been working on contributing a new feature to OpenSocial called embedded experiences.  If you were at Lotusphere or have taken a look at the Social Business Toolkit you know that embedded experiences is a feature we (Lotus) will be leveraging throughout our product line.  However we are implementing it in the open, as part of the OpenSocial 2.0 specification.  However this is not the only proposal IBM has been working on for OpenSocial 2.0 there are several others as well.  There are actually 4 separate proposals that  my team is working on.  Other teams throughout IBM are working on other proposals as well.  The 4 proposals my team is working on are action/selection contributions, OpenSearch, open sites, and embedded experiences.  (If you are an Eclipse plugin developer, and I know most people who follow my blog are, the action/selection contributions proposal should remind you of how action and selection contributions work in Eclipse.)  Today my team posted several demo videos of how these proposals will work in OpenSocial.  I encorage everyone who is a Lotus customer, regardless of the product you use, to go and check out these proposals because we will be leveraging these proposals and all of the OpenSocial spec in future product releases. Here are demo videos for each of the above proposals.  You can click on the links above the videos to open them in a new tab.

Defining Default Preferences For Your Plugins

Most plugins have some kind of preferences, which show up in the File -> Preferences dialog inside of Notes.  The majority of time, these preferences come pre-configured with some default preference values.  The way to do this is to use an extension point provided by Eclipse called org.eclipse.core.runtime.preferences.  You can then provide an initializer class to this extension point that will get called when you first try to access any of the preferences.  Your preference initializer class should subclass org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer.

oAuth On Domino

I have been trying to wrap my head around oAuth lately and how we leverage it inside our Lotus products.  I have seen some tweets about requesting oAuth on Domino and I assume the Yellowverse wants oAuth on other Lotus servers as well, not just Domino.  I am trying to wrap my head around the use cases.  oAuth is all about delegation.  You can allow an application to access data from a service on your behalf.  If there was an oAuth provider on Domino, than this would allow you to do this with your Domino data.  Which is great, don’t get me wrong.  The problem is that it will be difficult to build an application that uses oAuth for API delegation, and have that application run against any Domino server, if the Domino server lives on premise.  If the Domino server is in the cloud, for example LotusLive, than oAuth makes perfect sense.  To develop an application  that uses oAuth to access APIs you need to do have two things:

Lotus Connections 3.0 Files Plug-in for Lotus Notes…Another Reason To Love Lotus Notes

The plugin was released more than a month ago but I am just now getting around to installing it.  However I am really impressed by how useful this plugin really is, especially if you are an avid user of the Files application in Connections.  Even if you aren’t you may be after installing this plugin.  You can download the installer and plugin from Greenhouse here.  (You don’t have to have a Greenhouse account to download the plugin.)  Once you download it you just need to unzip the file and launch the setup.exe.  This will walk you through installing the plugin.  The installer will warn you, but as a reminder, make sure you don’t have Notes running when you run the installer.

Using WindowBuilderPro To Build UIs For Plugins [Videos]

At Lotusphere 2011 Mikkel and I demoed a plugin for Eclipse called WindowBuilder Pro in our plugin development jumpstart.  I figured I would create some short videos on how to install the plugins into Eclipse and how you can use them to build UIs for your plugins.  The videos are pretty simple and strait forward.  They don’t go into too much details on all the things you can do, but it should be enough to get you started.  I encourage everyone to go to the WindowBuilder Pro web site and check out some of the tutorials up there.

Lotusphere 2011 Presentation Up On SlideShare

If you are looking for the slides to the jumpstart Mikkel and I did for Lotusphere 2011.  They are now up on SlideShare.  Check them out.  If you need the example projects as well just let me know I can get you them as well.

Lotus Plugin Development RedWiki Is Here

I just noticed the RedWiki for plugin development was posted on the Notes Domino AppDev wiki!  This is an essential resource for plugin developers looking to integrate into Lotus Notes, Sametime, Symphony, and Expeditor.  It was written by people both inside and outside IBM and has a ton of content in it.  It’s a great getting started resource and includes everything from setting up your development environment to creating complex context menus.  Check it out!

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.

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.

Lotusphere 2011 Schedule

Well it’s been a while since I have blogged, mostly because work has been busy and I have been getting things ready for LS.  However I thought it would be useful to let everyone know what my schedule will be for Lotusphere 2011 and where people can find me.  The most useful part of this for everyone is probably be my schedule for the meet the developers lab.  I know sometimes people stop by the lab looking for someone just to find out they are not there so hopefully this will help anyone who is looking for me :) I encourage everyone to stop by the labs in Asia1 and Asia2 to talk the developers of the products you all know and love.  It maybe the only time this year you get to talk to us face to face.  Please bring questions, compliments, complaints, or anything else.  This is your opportunity to influence the products you use everyday.  Since Tungle is the office scheduling app of Lotusphere 2011 I put everything on my Tungle calendar.  Check it out.   http://tungle.me/ryanjbaxter