Wednesday, 8 September 2010

Lotus Sametime for Android

Lotus Sametime for Android
The holy grail of Android and Lotus users is one step closer!  A Lotus Sametime client that runs on Android! 

Almost.  Let me clarify this a little.  This is not a native Android Lotus Sametime client, rather it is a Lotus Sametime MIDlet running on a Java 2 Micro Environment (J2ME) running on Android.

A MIDlet is an application that uses the Mobile Information Device Profile (MIDP) of the Connected Limited Device Configuration (CLDC) for the Java ME environment. Typical applications include games running on mobile devices and cell phones which have small graphical displays, simple numeric keypad interfaces and limited network access over HTTP. [Wikipedia]

Right oh... Sounds complicated.  Trust me. It really isn't complicated at all.  

Unknown to many, IBM/Lotus already produce a Sametime MIDlet, and they ship it with their Lotus Sametime Server software.  These MIDlets are primarilly aimed at Nokia 'E' series (Symbian based) handsets.

All we need to do is package that Lotus created MIDlet into a format that Android understands (i.e. an Android .apk package file), and install it along with a free J2ME environment to launch the MIDlet in.
Lotus Sametime Running on Android!

Roll Your Own Client
Here is how you can quickly and very easily make your own Android Lotus Sametime client.

Files Required:
  • sametime.jad [Java Description file]
  • sametime.jar [The J2ME Java applet itself]
The first step is to talk nicely to your Sametime server administrator and try to obtain these using this route.  These two files are shipped with the Lotus Sametime server software.

Alternatively, you could download the Sametime v8.5.1 files from jad here and jar here
or
From the Sametime v8.0.1 zip posted here
but that wouldn't sit well with your Lotus Licence agreement now would it...

The next step is to convert these files into an Android application .apk file. 

Luckily for us, there is an online converter on the Netmite website here.  Just upload the jad and jar files and click Get Apk.  What could be simpler?

Install and Run
Once downloaded, install the apk onto your Android.  I suggest you use the application installs using Astro method if you don't know how to manually install an apk file.

Upon launching the Sametime app for the first time you may be challenged with this dialogue:

Download J2mE

Remember at the top of this post I mentioned that the Sametime app ran in a Java 2 Micro Environment?  This is the prompt to download and install that environment.  Select Get from Android Market and install.  

Once the the J2ME environment is installed and the Sametime app launches OK, configure the client as you would any other Sametime client.  Perhaps a good time to pop back to see the Samtime administrator again?

Then start enjoying some mobile Sametime chat.  

J2ME Screen Size Tweak
One thing to bear in mind when tweaking:
  • Menus options with equals signs at each end make changes to the J2ME environment
  • Menus options without equals signs at each end make changes to the Sametime app itself
These are suggested settings based on running Sametime in a J2ME on the Android emulator and on my T-Mobile Pulse / U8220.  Your mileage may vary depending onthe screen size and resolution of your Android device.

Launch Sametime app / MIDlet
Menu ---> =System Menu= ---> =Settings= --->
  • Untick "Auto detect Game Canvas"
  • My Display Width = 320
  • My Display Height = 450
  • Orientation = Portrait

Bugs
This is by no means an exhaustive list, but these are the most major bugs picked up so far:
  • Some buttons (most noticeably the send button) need tapping twice to do anything. This is also true for menu drop downs etc
  • Annoyingly changes to the sametime display settings (built into the ST app rather than the J2ME) won't / don't apply
  • Run as a service - it doesn't. Looks to run OK in background, but some android task killers may kill it, or it may silently die for whatever reason [remember that this isn't a native android app, so I don't think we can do anything about this]
  • Chat Screen - the chat screen is too small. I think this might be fixed if we can get the ST settings to apply (bullet 2 above)

Conclusion
Yes I know that this is a "kludge" and I whole heartedly agree that there are issues with running Sametime this way (see the BUGS section for details), but the fact of the matter is that a client created using this method connects, runs and is quite usable.  In fact, given the alternatives (oh yea IBM where the hell is the native Andriod client you promised over eight moths ago?) this works, and works quite well all things considered.

- Chris

Newer Post Older Post Home