Why we shut down our Sametime servers

I have been getting shocked looks the last couple of weeks when I told customers that we shut down our Sametime servers as part of the move to our new offices. Why would we do such a thing? Well it’s not like we didn’t utilize Sametime heavily in our day to day work and it’s not like we haven’t touted the benefits of Sametime far and wide.

So why did we do this? Well it was a simple calculation of hours spent on maintaining our own environment vs. the benefits of having our own environment.

After installing Sametime 8.5.1 internally and getting it to run we realized that it didn’t make any sense for us, a 25 person company, to operate our own Sametime environment. A community server maybe but then what about meetings? (and yes we know about “Sametime classic”) It made sense from a training and test perspective but that’s about it and as we don’t mess with the production system for testing purposes we needed multiple systems. So it was actually an easy decision. So as of 3 weeks aro we drew a line in the sand and shut down all the Sametime related servers (all 5 of them).

Instead of running our own Sametime environment we’re now mixing it up by combining on-premise and in-cloud services by signing up for LotusLive Engage. We’ve registered all employees with our company account and we’re now using Sametime as part of LotusLive. As an added benefit we also get access to communities, activities and meetings as part of LotusLive and it’s great. We’re loving it.

Making the switch from on-premise to in-cloud hasn’t been without issues and questions that needed to be addressed. Some of what we’ve been discussing internally has been

  • what do we do now when there are no central groups for departments within the company?
  • what password do I use?
  • what does it mean to be part of a bigger infrastructure such as LotusLive?
  • what does it mean to be a network contact?
  • who can I contact on Sametime in LotusLive?
  • how do I control my visibility within the greater LotusLive network?

While some of these questions have easy answers some of them also highlight key weaknesses. For instance when moving from on-premise Sametime to in-cloud Sametime you loose public groups – there’s no way of adding all from Sales to my buddy list. You loose privacy controls in Sametime (who can see me online when). You loose the ability to see Sametime awareness in Lotus Notes applications as you’re known by your e-mail address in LotusLive and not your Notes qualified name.

Some of these points can be worked around and some can be addressed by training but some are more serious and needs to be addressed. The lack of awareness in Notes applications is severely limiting and frustrating – I hope something will be done about this. As to the groups thing I’m working with IBM and a Dutch business partner on addressing this using plugin technology.

Overall however we’re happy with the move and although there has been bumps along the way our server room is a lot quieter and we’re drawing fewer watts. As of now we’re one happy on-premise/in-cloud customer and we’re still chatting away in Sametime.

See it wasn’t as bad as one could have thought… 🙂

Why I’m not using the Lotus Expeditor Toolkit

Every time I get questions on developing plugins for the Lotus Notes 8 platform I mention that I really can’t comment too much on Lotus Expeditor Toolkit installation and usage questions. The reason is that I do not use the toolkit when developing for Lotus Notes. Since I get the question so much I thought I would take it to the blog as well.

The main reason I started developing for Lotus Notes without the Lotus Expeditor Toolkit was due to two reasons:

  1. Because I kept receiving new betas of the Lotus Notes client from IBM Lotus and because XPD toolkit wouldn’t work with these betas
  2. I wanted to use newer Eclipse versions than what the XPD toolkit supported

It’s not that I don’t find the toolkit valuable but for the work I do it isn’t a requirement.

I understand why you might want to use Lotus Expeditor Toolkit as it may be considered easier (if you’re not so Eclispe savy), because you have to! or because you need to switch target platform often (Notes -> Symphony -> Sametime).

Policy control over business card retrieval settings and retrieval order

Disclaimer: The following is from the release notes of Notes 8.5.2 so I don’t take credit for writing this. Lotus Notes 8.5.2 is in beta and there are no guarantees that the features described here will be in the final product that IBM ships.

You can access a person’s business card to find out more about the person and retrieve their contact information. The following products can potentially provide the data that is displayed in the business card:

  • Lotus Connections
  • Lotus Notes
  • Lotus Sametime

If you have more than two of these products installed and enabled, you might want to specify which product should serve as the primary source of the business card data or you might want to prevent one of the products from contributing to the business card altogether. This is not a required task.

To prioritize the source of the business card data, complete the following steps:

  1. Find the plugin_customization.ini file in the following directory: <Notes>/framework/rcp
  2. Open the plugin_customization.ini file in a text editor
  3. Do one of the following:
    • To prevent one of the products from being the source of the business card data, add the following property to the file:
      com.ibm.rcp.bizcard/disable.content.for.<provider_name>=true
      where <provider_name> is one of the following values:

      • Lotus Connections: profiles
      • Lotus Notes: NotesContacts
      • Lotus Sametime: com.ibm.lconn.client.bizcard.livename
    • To change the order of products from which to retrieve the business card data, add a com.ibm.rcp.bizcard/change.priority.for.<provider_name>=<priority> property for each of the supported products where is one of the following values:
      • Lotus Connections: profiles
      • Lotus Notes: NotesContacts
      • Lotus Sametime: com.ibm.lconn.client.bizcard.livename
        and <priority> is a relevant alphabetic character. Use letters that come later in the alphabet to specify higher priority products and letters that come earlier in the alphabet to specify products with a lower priority. For example, a priority of A is lower than a priority of B.

      By default, the business card is populated with data from the products in the following order:

      • Lotus Connections
      • Lotus Sametime
      • Lotus Notes

      You can change the order and have the business card retrieve data from Notes first, then Lotus Connections, then Sametime, for example:

      com.ibm.rcp.bizcard/change.priority.for.NotesContacts=G
      com.ibm.rcp.bizcard/change.priority.for.profiles=E
      com.ibm.rcp.bizcard/change.priority.for.com.ibm
           .lconn.client.bizcard.livename=C
      
  4. Save the changes to the file.
  5. Restart Notes.

Send/SMS… Sametime plugin

Using a couple of developerWorks articles (Extending the Lotus Sametime client with an LDAP directory lookup plug-in and Extending IBM Lotus Sametime Connect V7.5 with an SMS messaging plug-in) for inspiration I wrote a SMS plugin for the embedded Lotus Sametime client in Lotus Notes. The action goes in the Send menu when right-clicking a contact.

The plugin picks up the cellphone number from Domino Directory, supports sending to multiple contacts in one go and uses our exiting SMS gateway for sending the SMS’es (via e-mail). The hardest part was finding the menu path to use to stick the action where I wanted it. For others you should use com.ibm.collaboration.realtime.imhub.send/slotX where slotX is either slot1, slot2 or slot3 depending on where in the Send menu you want the action.

Once I’ve made it configurable which server to use for Domino Directory and how the SMS should be sent (which domain) I’ll probably make it publicly available.

Further reading

Properly signed XTAF dictionaries now available for Notes 8.5.x

The wait has been long but I just got word (via Christian Henseler) that IBM yesterday released properly signed XTAF dictionaries for Notes 8.5.1. In case you’re wondering “XTAF dictionaries” are the common dictionaries shared by Lotus Notes, Lotus Sametime and Lotus Symphony. Additional language dictionaries has been available for a while but the Eclipse feature wasn’t signed so it was troublesome to install on client machines. The Eclipse features are now properly signed and they are easy to add to an update site and roll out using a widget catalog.

The bundle you need to grab from PartnerWorld or Passport Advantage is “IBM Lotus Notes XTAF Dictionaries 8.5.1 for Windows and Linux Multilingual (CZHE3ML)”.

Sametime 8.5

Lotus Sametime 8.5 Beta for the new meeting rooms have been added to greenhouse.lotus.com and it looks great.

“Sametime 8.5 Meetings are an entirely new way to collaborate with others online. Sametime Meetings are incredibly easy to use. Fully integrated into the Connect client you already use for chat, they make it simple to join a meeting with a single click; invite others by dragging their names from the contact list; upload materials via drag and drop; even share your screen from the Macintosh operating system. Of course, not everyone can participate via a Sametime Connect client, so 8.5 includes a zero-download, firewall friendly browser client as well.

Sametime Meetings are also different. Meeting rooms are reservationless and don’t require scheduling. They can be instantly created and linked to calendar invitations from Lotus Notes and Microsoft Outlook. Sametime Meeting Rooms can be persistent. You can use the same room over and over for regular meetings and keep frequently used materials on hand during the course of the project.

Learn more about it by going here. Stay tuned for more Sametime capabilities to be available on Lotus Greenhouse soon.”

A serious blow for AppDev on Notes – the proof of entitlement for Lotus Sametime is seriously screwed up!

As you probably know you are entitled to a Lotus Sametime Entry license when you have a “Lotus Notes for Collaboration” license. This is really great and a real selling point for Notes since Sametime is a “first class citizen” in the Notes 8.x client as it provides you with awareness throughout the client and in custom applications including sidebar plug-ins. It also allows for awareness in web pages using either Sametime Links (stlinks) or the newer and much better Sametime webapi (as used in Lotus Connections 2.x).

So now comes the problem – have you ever read the PoE or Proff of Entitlement for Lotus Sametime as it pertains to the Lotus Notes for Collaboration license? Probably not. Read below and weep!! (or read the full document – the text for “IBM Lotus Notes for Collaboration” is on page 2 of that document)

“A valid POE for the IBM Lotus Notes for Collaboration does not include the right to:
1. … (omitted for brevity)
2. … (omitted for brevity)
3. Enable or use IBM Lotus Sametime Limited capabilities beyond the default settings in the Program as provided to You, or as established by policy within IBM Lotus Sametime server, including without limitation: Lotus Sametime Connect client, IBM Lotus Sametime Web conferencing capabilities, access from a mobile device, use of IBM Lotus Sametime Gateway, voice chat, video chat, file transfer, geographic location awareness, IBM Lotus Sametime toolkits or APIs, or plug-ins and applications built using the IBM Lotus Sametime unique APIs available in the IBM Lotus Sametime toolkits, with the exception of the chat logging service provider interface.

A POE for IBM Lotus Notes for Collaboration includes all rights granted hereunder for IBM Lotus iNotes for Collaboration.”

So this is lawyer speak and quite convoluted but in essence it says that a Lotus Notes for Collaboration licensed user may

  • use Sametime for chat and awareness using the default settings on the server (meaning no custom business card or photo)
  • not use file transfer
  • not use any Lotus Sametime API besides the chat logging API

The first two are IMO hopeless restrictions but the last one is really, really, really, really bad! It’s beyond words actually. It means that you as a developer must require that a user has a Sametime Standard license in order to use Sametime awareness in your own applications. To be fair it could be that this is only the case for sidebar applications and SWT based composite application components and doesn’t pertain to forms/views (though you could argue that they use an API as well). Another thing that this entails is that you may not use Sametime awareness in Lotus Connections as it uses a API to do the awareness (Sametime webapi). I just checked the PoE for Lotus Connections and no further Sametime entitlement is extended there.

So what does this mean for me as an application developer? Well it means that the sidebar applications I’m developing have to distinguish between Sametime users and make sure that Sametime functionality is only exposed to Sametime Standard license holders. How do I do that? Not sure as I don’t know of an API which tells me which Sametime license the current user has. Oh – and it has to be a Notes API as I otherwise technically violate the license agreement on behalf of the user.

Who came up with this? What sense does it make to provide less functionality in API than in the UI? I really don’t get it. If I had anything to say at all the restriction on API’s in the client should be lifted. It is these API’s that makes the platform strong and feel coherent since applications running on the platform can leverage the platform.

So from being really psyched about the appdev perspective in Notes as it pertains to Sametime and how Sametime could be used throughout the client I’m now really bummed out. From a customer standpoint it’s going to be difficult to tell them that many of the demos that IBM do require a Sametime Standard license. And then we have our own applications where we have to informing and making sure they understand what they may use based on the license they hold.

Sigh….

(As always I could be wrong about this but I have just been through IBM Lotus here in Denmark which says I have understood the PoE correctly so I’m probably right.)