Sametime Awareness Simulator

I’ve been corresponding with Andy Higgins a bit about the Sametime Awareness Simulator (SAS) I wrote some years back and which is still getting surprisingly many downloads. SAS is written in Java and Andy was unable to make it run on his Oracle JVM but after debugging a bit I found out that a 32 bit JVM was required. Unfortunately Andy was still unable to make it work so he turned to wiser people than me and contacted Carl Tyler who helped him. Apparently there was an issue with the class format so to make it work he had to use an older JVM. I was able to make it work with a 32 bit version of Java 5 and Andy used the JVM supplied with the Notes client.

As SAS is written using the Eclipse runtime Carl could supply a command line to start SAS using an alternate JVM:

sas -clean -vm <path to JVM>

Andy used

sas -clean -vm N:notesjvmbinjava

(where n:notes is your notes program directory)

Hope it helps.

IBM SmartCloud – credit where credit is due

On Friday I blogged about the changes that occured on IBM SmartCloud over the weekend (SmartCloud getting an overhaul this weekend with changes that is looooong overdue) and how I was waiting for IBM to add proper Sametime support in SmartCloud meaning Sametime Proxy, Sametime webchat and Sametime app support. As it turns out these capabilities are available just not visible in the dashboard or otherwise readily obvious. So I will give IBM credit for adding it but why didn’t I know?! Anyways – props to IBM.

So the Sametime webchat is available at webchat.na.collabserv.com/stwebclient/iphone_index.jsp and of course it also means that the Sametime Proxy is available. Whether we may use it for actual, 3rd party applications, I will need to find out. There are *still* some really annoying restrictions when it comes to the Sametime entitlement for Notes users (see this tweet). Still waiting for Scott Souder to come back on that one.

Another cool thing (which is an off-spring of the Sametime Proxy support) is that the iOS app works and Sametime availability works on my iPhone and iPad. And even better is that there is a pre-set community configuration for IBM SmartCloud so it’s real easy to configure. Pretty sweet.

Notes 8.5.3 and Sametime Web API woes

For one of our products we are using the Sametime Web API which is a great way to Sametime enable applications outside the Notes client. Basically it uses the web container running within Notes Standard to provide a HTTP API for Sametime awareness. Great. We had an issue however after upgrading from Notes 8.5.2 to Notes 8.5.3 where Sametime awarenss stopped working but thanks to the design partner program and the help of Khuan Hoe Kong from IBM we’re now back in the business. As this issue may bite others I thought I would post it here.

Our problem was that we were using the “mystatus” and “getShortStatus” API calls to get awareness status that is we were using local calls like http://localhost:59449/stwebapi/mystatus/ and http://localhost:59449/stwebapi/getShortStatus. These calls returned JSON we could use to get awareness status and as previously mentioned these calls worked fine in Notes 8.5.2 but after going to Notes 8.5.3 (and hence a newer version of the embedded Sametime client) they stopped working. Apparently these calls were considered a security risk so there were blocked and needed to be unblocked in order to work. Below is the response from IBM.

For security reasons, many of the WEBApi functions are disabled by default, including the mentioned two. To enable the function, add a preference to the plugin_customization.ini in the following format:

com.ibm.collaboration.realtime.webapi.<function>Enabled=true

For example, to enable the getstatusshort, you would add this preference:

com.ibm.collaboration.realtime.webapi
   .getstatusshortEnabled=true

To enabled all the Web API functions you can use the global override:

com.ibm.collaboration.realtime.webapi/
   enableAllWebApisOverride=true

The details of this change may be found in ST8.5.1 SDK.

While the above solution works it requires the customer to configure the client and hence wont work for us. The funny thing is that while the getstatusshort method is blocked for “security reasons” the getstatus method works just fine. Only difference is that the getstatus method returns more info. Makes no sense.

My main reason for considering this a bad approach is that I get an HTTP code 200 back but the response is empty/invalid. That seems wrong. A better REST solution would be to return a 403 Forbidden with an explanation why. What would in my mind have been the correct solution. Hope that can be incorporated into a future release.

But it works now so I will go back under my rock.

Microsoft’s chat service, Lync, going mobile as well

Just on the heels of the Lotus Sametime for iOS / Android release comes the release of Microsoft Lync for iPad and iPhone that is a chat client for Microsofts on-premises and cloud based chat solution. It will be interesting to see if Microsoft too is using push-notifications for out-of-app chat notification to save on battery. One of the nice things about the announcement is to see how Microsoft chose to have their mobile solution work with their cloud based offering right away – something Lotus has failed to do with Sametime on LotusLive (still looking for an announcement as to when LotusLive will support the iOS apps). More on the apps at winsupersite.com.

Stommunity – now released as open source on OpenNTF.org

As you might recall we at IntraVision some time back quit running Lotus Sametime on-premises and switched to LotusLive. This wasn’t without issues and I also blogged about the apparent lack of public groups in my “Using LotusLive for Sametime – 2 months in” post a couple of months ago. After experiencing this issue I talked to Erik Vos from RealConnections in the Netherlands at NLLUG. Erik was also having the same problem for his SaaS customers so we worked together to develop a proof-of-concept Notes sidebar plugin called Stommunity to work around the issue. The name Stommunity plays on the words Sametime (ST) and (LotusLive) Community.

So what does the plugin do?

The plugin synchronizes your LotusLive communities with your Lotus Sametime client and creates private groups based on the LotusLive communities you are a member of (and that you select for synchronization). This mimics the missing public group feature of LotusLive Sametime. The below screenshot shows a Sametime client with 4 communities synchronized from LotusLive.

So how does the plugin work?

The plugin sits as a sidebar plugin in your Lotus Notes client and monitors your Sametime client for when it logs into LotusLive Sametime. Once a login is detected it reads the communities the active user is a member of using the LotusLive REST API and shows a list of the communities. The user may then select the communities to synchronize with Sametime. The below screenshot shows the Stommunity plugin waiting for the user to log into Sametime.

Once logged in the communities is read from LotusLive. In the below screenshot you can see that the user is a member of a couple of communities but only one is synchronized with Sametime.

After selecting an additional community and clicking Apply the community is synchronized to Sametime and a private group is created. The below screenshot shows the Sametime client after synchronizing the BlueExtend community with the Sametime client.

So why only a proof-of-concept and not a ready-to-roll plugin?

While developing the plugin we discussed the license implications of a plugin like this. When you sign up for LotusLive Engage you receive a Sametime Entry license which means you may not use the Sametime API which again means that a plugin like this cannot work (from a licensing standpoint). That alone made the project a dead-end and after working a bit with IBM on this it became clear that changing the licensing agreement wasn’t in the books. Due to this we are releasing the plugin as a proof-of-concept with open source on OpenNTF hoping that it may inspire someone.

Looking at the plugin as it is now I see a lot of potential. Of course the selection of communities needs to be pushed into the preferences but as a LotusLive customer it would be really cool to have. I imagine an auto-sync option being added as well as an option to just sync all and change (or remove) the prefix I automatically add now (“LL Community:”). Think of having a policy option to automatically make certain, company wide, communities be synchronized to all users (or a set of users). Maybe even controlled from within LotusLive. Now that would be cool and bridge the gap between the products. One could even argue that a plugin like this should be a standard component that should come bundled with LotusLive Notes.

Anyways – I hope it may inspire the LotusLive teams.

The Stommunity plugin may be found on OpenNTF.org and the code may be downloaded from the SVN repository. See below for links to each.

Links and resources

March Lotus Technical Information and Education (LTIE) community meeting

If you’re interested in plugin development and the recently published RedWiki on plugin development for Lotus Notes, Sametime and Symphony (easy url is http://bit.ly/pluginredwiki) be sure to join us for the March March Lotus Technical Information and Education (LTIE) community meeting. The conference call will be on 22 March at 10am Central Time (10am Eastern, 3pm CET).

For more info head over to the Lotus Technical Information and Education wiki on Lotus Greenhouse (look under “When we meet” at the bottom of the page).

Using LotusLive for Sametime – 2 months in

I previously wrote about how we shutdown our Sametime servers and moved to LotusLive for Sametime (“Why we shutdown our Sametime servers“). About 2 months after making the switch I thought it was a good time to sum to the experience and whether it’s a move we’re happy with.

There’s nothing to be said about performance or uptime which has been flawless. Users are happily chatting away and the worries that some had about being available for customer chat in off hours (because we are now in the same community as customers and partners) hasn’t been a problem. Whether it’s really not a problem or whether customers and partners haven’t found us to LotusLive is unclear. Only thing I’ve heard from users is that it’s a real pain no longer having public groups to help them maintain their buddylist. Previously many used public groups such as “Sales” or “Developers” to automatically maintain their buddylist but the concept of public, shared, groups are not available in LotusLive. That’s a real shame. Same goes for LotusLive meetings which has taken over from Sametime meetings without any issues at all.

All in all I haven’t heard anything from users that would make us want to go back to running our own Sametime environment.

Now from the technical side of fence I find the lack of groups really annoying. I also find the fact that file transfer isn’t allowed by policy annoying and frustrating. Using Sametime as a quick way to move a file between colleagues was really nice and having to resort to drives or e-mail is so 1990’s… As a LotusLive (Engage) customer

I’m also finding that lack of tools for automated user management (creation, modify, deletion) irritating and frustrating. I’ve heard about a LDAP sync tool or using TDI but not something I have found solid information on. The tools might be there and but they’re hardly easy to find or come by from my point of view. The result is that we have to manually make sure that users update their profile with current information which is time consuming and far from ideal.

In conclusion however…

Despite all this I still find that the move was a good one and I’m hoping that some of the above can be solved in the near future. I have a list of LotusLive questions lined up for Lotusphere 2011 so if you’re in the developer lab and know something about LotusLive I want to talk to you.