Friday, February 26, 2010

Weekly review for the week ending 28th of Feb 2010


Last week I said I would:
  1. Finish discussions with the local management team about my responsibilities (done - but still awaiting approval before rolling out)
  2. Decide on whether or not to accept invitation to speak in University of Limerick and prepare thoughts if I do. (decided to accept the invitation - will blog shortly about what I intend to say)
  3. Hold more meetings with product teams using Sametime APIs to see how we can help them update to the latest features (held some meetings, but the list of teams we need to speak to is increasing all the time).
  4. Build new SUT kit for Ubuntu users within IBM to bring them up to the CF1 code level (not done - turning out to be significantly more complex than I thought)
  5. GTD Tool selection project
    • Blog about why I chose not to use the  IBM GTD template (not done)
    • Evaluate remember the milk and migrate my Toodledo tasks to it if feasible/easy. (evaluated, but didn't migrate yet)
  6. Micro-blogging on multiple platforms
    • Try to make direct contact with Widlfire developers to convince them to merge code with StatusUpdater (not really necessary since WIldfire 1.3 now seems to include most of the SatusUpdater features I wanted)
    • Evaluate Bluto and write up on my blog (not done).

Next Week I will to the following actions:
  1. Announce changed responsibilities
  2. Prepare talk for ISKS talk at the University of LImerick.
  3. Hold more meetings with product teams using Sametime APIs to see how we can help them update to the latest features.
  4. Build new SUT kit for Ubuntu users within IBM to bring them up to the CF1 code level
  5. Update the Sametime Linux kit build process to address the issues raised by the Open Client team.
  6. GTD Tool selection project
  7. Micro-blogging on multiple platforms
    • Try out WildFire 1.3. Persuade them to implement a pluggable interface for new services so that we can add support for IBM internal services
    • Evaluate Bluto and write up on my blog.

Saturday, February 20, 2010

Weekly review for the week ending 21th of Feb 2010

Last week I said I would:
  1. Present about the Open Client and its buiness potential to the Senior Leadership Team (done and got very good reaction one senior manager converted their laptop to Linux already and several more commitments to switch)
  2. Continue discussions with the local management team about my responsibilities (not done due to people being off work for the mid-term)
  3. Prepare a report for the Sametime Operations meeting about products updating to the latest programming APIs (done - an updated version will be a regular feature on the bi-weekly ops meeting fom now on)
  4. Build new SUT kit for Ubuntu users within IBM to bring them up to the CF1 code level (almost done - one more patch to apply)
  5. GTD Tool selection project
    • This week I will continue using Toodledo for task tracking because I spent most of last  week learning the technical part of how it works and I need more time to fully asses its usefulness (done - becoming more proficient, but still not totally happy with the calendar integration)
    • I will install the IBM GTD template and learn its features with a view to using it for real the following week (installed and read about features, but changed my mind about using it - will blog about why not)
  6. Micro-blogging on multiple platforms
    • Get resolution to problem where Wildfire won't update PingFM (still not working for me :-()
    • Renew my attempt to convince both Widlfire and StatusUpdater teams that they should merge (no response to my hints yet, will try to make direct contact which could be dificult due to time zones)
    • Learn more about other tools in this space so that I can do a full comparison (evaluated Glue and wrote up on my blog)
Next Week I will to the following actions:
  1. Finish discussions with the local management team about my responsibilities (hopefully will have a decision this week)
  2. Decide on whether or not to accept invitation to speak in University of Limerick and prepare thoughts if I do.
  3. Hold more meetings with product teams using Sametime APIs to see how we can help them update to the leatest features.
  4. Build new SUT kit for Ubuntu users within IBM to bring them up to the CF1 code level
  5. GTD Tool selection project
    • Blog about why I chose not to use the  IBM GTD template 
    • Evaluate remember the milk and migrate my Toodledo tasks to it if feasible/easy.
  6. Micro-blogging on multiple platforms
    • Try to make direct contact with Widlfire developers to convince them to merge code with StatusUpdater
    • Evaluate Bluto and write up on my blog.

Comparing Connections glue to StatusUpdater and WildFire

Connections Glue is a popular tool for keeping up with your Lotus Connections and Twitter networks. Following my earlier post where I compared Status Updater and Wildfire tools for doing the same thing a few people asked me to do a comparison between these tools and Glue.

I had never used Connections Glue before and so I found this video demonstration gave me a very quick look through the features:


The main difference between Glue and the two other tools is that it is implemented as an Adobe AIR application rather than a Notes/Sametime plugin. If you (like me) keep Notes and/or Sametime running on your machine all day long, it is handy to use a plugin for your microblogging, but if you don't a tool like Glue would be a much more light weight.

The main limitation with Glue is that it only supports Lotus Connections and Twitter. In addition it can only support a single instance of the Lotus Connections service (like Status Updater, but unlike Wildfire). However, in common with most AIR applications I have seen, Glue has  a very slick UI. I said before that the Satus Updater UI is smoother than Wildfire, but Glue takes things to another level:
  • When minimised Glue hides unobtrusively in the system tray
  • When new Tweets or profile updates are received in your network you are notified by a subtle semi-transparent pop-up which will dismiss itself after several seconds.
  • You can re-tweet the tweets you are reading with a single click.
  • When browsing through updates from someone outside your network you see a + sign which you can click on to add them to your network if you like.
  • Glue provides you with an interface to the files functionality in Lotus Connections as well as the profile updates.
In summary I think that Glue may be an interesting tool for users who don't normally keep Notes or Sametime running on their machines, but for anyone who does I think they would prefer either Wildfire (for non-IBMers) or Status Updater (for IBMers).

Tuesday, February 16, 2010

Converting .rpm format kits to .deb format

One of the main obstacles to moving smoothly between the Fedora/RedHat and Ubuntu/Debian variants of Linux is the fact that the former use kits in .rpm format and the later use kits in the .deb format. If you are using Ubuntu, but your favourite product (e.g. Sametime) only ships in .rpm format you need some way to convert the .rpm format kits into .deb format before you install them

Luckily there is a tool called alien which can do the conversion for you. Alien is not installed by default, but you can easily install it with the command "sudo apt-get install alien". After installing alien you can easily convert a .rpm format kit into a .deb format kit with a single command (e.g. "fakeroot alien -d -k --scripts kitname.rpm" will produce a file kitname.deb which can be installed on an Ubuntu system).

Unfortunately things are not always that simple, because some kits contain hidden dependencies on the RedHat flavour of Linux. For example the pre-install script in the Sametime kits normally checks for dependencies by issuing a "rpm -qa" command and then parsing the output to see if the necessary pre-requisites products are installed. Naturally this code will not work on a Ubuntu system and so you will need to unpack the kit, fix the installer code and then rebuild the kit.

The steps you need to follow are
  1. Unpack the kit to reverse engineer the build environment.
    1. The files to build a kit should be placed in a directory with the same name as the name of the kit you are going to build.
    2. Right click on the .deb file created by alien and you will see the option to open it with archive manager.
    3. You will see that the kit .deb archive contains three files:
      1. debian-binary is a file which identifies the version of dpkg used to build this kit. Don't worry about this file, it will be automatically generated when you build the new kit
      2. data.tar.gz is an archive containing the files which will be installed on the target system. You should extract the contents of this file into your kit build environment directly under the sub-directory with the name of the kit
      3. control.tar.gz - This archive contains files used as part of the install script. These files should be extracted to a sub-directory named DEBIAN. One file named control contains information about the kit, its dependencies etc., the rest of the files are shell scripts which get called as part of the install program. The scripts are optional, but if present they will have a name which gives you a good clue about when they are invoked e.g. the file predoinst.sh shell script s called before the kit gets installed.
  2. Fix the problem - I can't give detailed instructions here. because each case is different.
  3. Rebuilding the kit can be done with the command "dpkg -b kitname"
If you want (or need) to learn more about building Debian format kits, you should read this tutorial.

Monday, February 15, 2010

Experiences using Toodledo

As part of my plan to evaluate the best GTD tool for me, this week was devoted to testing Toodledo. This is a short report on my experiences of this service.

In general, I found Toodledo to be very easy to use. The highlights were:
  • The web site itself is very fast and responsive and I had no problem figuring out how it worked.
  • Once I entered my tasks I could easily view my tasks, by a number of different views (e.g. by Folder, by Due date, by importance etc.) although it was some time before I found the search button because this feature is not as prominent as I would have expected.
  • I installed the ToodleDroid application on my phone and it proved very useful especially for reviewing my upcoming action items and in marking them done.
  • There is a Firefox add-on which allows tasks to be added via a simple right click option even when the Toodledo web site is not open.
  • It is possible to add tasks via email and Twitter. Although I didn't use these very much, I can see how they could be very useful for some situations.
  • Unfortunately there is no Notes plugin which allows me to drag notes emails onto my task list. This is disappointing because most of my task come from emails sent to me in Notes. Looking at the developer API, it should be easy to implement such a Notes plugin and if I was adopting Toodledo full time I think I would need to create one myself.
However, there were a few things that frustrated me about using this application. The biggest issue is to do with the calendar integration.
  • I know that David Allen is a strong advocate of seperation between calendars and task lists, but personally I like to have a single place to look to see "what do I need to do today".
    • With Notes this is trivially easy to get ToDos to appear on ymy calendar (simply a preference setting). Notes ToDos have an optional start date and an end date. By default Notes ToDos appear on today's calendar, unless they have a start date in the future. ToDos which have a due date in the past will be highlighted as overdue. If my list of ToDos for today is getting to long I simply drag and drop them on another date and the "start date" of the ToDo is automatically updated. As a general rule of thumb, when the number of ToDo's against todays date is getting so large that it is crowding out my calendar I know I won't get them all done and need to re-assign some of them to future dates.
    • Toodledo tasks have a range of date options as shown in the following screenshot - despite extensive experimentation I have not yet figured out what exactly the different options mean :-/
  • Toodledo offers calendar integration to both Google and Notes calendars
    • The integration with Google Calendar works, but it seems to assign tasks to a range dates based upon some algorithm that I have yet to figure out. In addition there seems to be no way to refresh the way my Toodledo tasks display on my calendar after I make edits - this might be making my confusion worse because my Google calendar is probably displaying details of my tasks based upon an out of date version of my task list.
    • The Notes integration works pretty much as expected with tasks showing up on appropriate dates. If I make changes to my tasks on the Toodledo web site I can update my calendar's display by hitting refresh (f9). However, Notes only allows me to read the task list - I need to visit the Toodledo web site if I want to update a task or even see further details appart from the task title.

Another minor issue is the fact that it is not easy to delete tasks. As I was moving tasks from Notes to Toodledo I often accidentally created duplicate tasks and I didn't want to make one of them complete because this would give me a misleading history. After some time I discovered that it you leave your mouse stationary above the "Done" checkbox in the web UI for a few seconds an additional menu would appear which includes the option to delete the task (see screen-shot) - this seems to be a pretty obscure place to hide this functionality so I decided to describe it here in case anyone else missed this.

My conclusion is that I think Toodledo could be an interesting system, especially if I could find a solution to the calendar integration problem. However, I am not yet convinced that I have found a killer application and so I will continue to test out other alternatices as outlined in my original plan.

Saturday, February 13, 2010

Weekly review for the week ending 14th of Feb 2010

Last week I said I would:
  1. GTD Tool selection project
  2. Work with the audit team on the security peer-review that is starting this week (done - luckily did not require too much of my time yet).
  3. Discuss with the local management team about my responsibilities for 2010 (some more discussion - but no decision yet)
  4. Blog on the IBM internal site about taking on the additional areas of leadership in the Sametime team (done)
  5. Wildfire v Status Updater
    • Get resolution to Wildfire issues (done for all services except PingFM - geting help via their forum)
    • Write the blog post about the comparison between the two tools (done)
    • Renew my attempt to convince both teams that they should merge (not done yet)
  6. Build new SUT kit for Ubuntu users within IBM to bring them up to the CF1 code level (not done yet - waiting for details of some extras to be included with the kit)
  7. Prepare Open Client presentation for the Senior Leadership Team (done - delivering the presentation next Monday. Hoping to have a Verde server ready to show them a cool demo of the "IBM Client for Smart Work")
Next Week I will to the following actions (note I sorted them to reflect importance):
  1. Present about the Open Client and its buiness potential to the Senior Leadership Team
  2. Continue discussions with the local management team about my responsibilities
  3. Prepare a report for the Sametime Operations meeting about products updating to the latest programming APIs
  4. Build new SUT kit for Ubuntu users within IBM to bring them up to the CF1 code level
  5. GTD Tool selection project
    • This week I will continue using Toodledo for task tracking because I spent most of this week learning the technical part of how it works and I need more time to fully asses its usefulness
    • I will install the IBM GTD template and learn its features with a view to using it for real the following week
  6. Micro-blogging on multiple platforms
    • Get resolution to problem where Wildfire won't update PingFM
    • Renew my attempt to convince both Widlfire and StatusUpdater teams that they should merge
    • Learn more about other tools in this space so that I can do a full comparison (and/or find other people who know the other tools to work on a joint report).

Friday, February 12, 2010

Comparing StatusUpdater and WildFire

I am sure there are many people like me who try to stay involved on several different micro-blogging sites. This can be difficult and so it is good to find tools which can help. Both WildFire and Status Updater are Notes/Sametime sideshelf plugins which allow users to read and write to several micro-blogging platforms at the same time. This blog post compares the two tools.

Just in case you think I have a conflict of interest, I should declare that I was involved with an IBM internal project to develop MicroBlogCentral (MBC) that was later released to OpenNTF under the name Status Updater. It seems that there was a totally independent effort carried out by a business partner in Australia to develop a similar tool which they called WildFire which seems at first glance to be very similar. Both tools offer you an option to configure several micro-blogging accounts on different services and then you can enter a status update into a text box and have that status update automatically posted to whichever micro-blogging services you choose.

However, there are a number of aspects where they differ:
  • Widlfire supports significantly more services than Status Updater. Status Updater can only support Twitter, Sametime and Lotus Connections services, while Wildfire also supports Bebo, Facebook, GTalk, PingFM. Plurk, Tumblr and WordPress. Even I don't have accounts on all the services that Wildfire supports, so I wasn't able to test them all. It seemed to work fine for me on Lotus Connnections, Facebook, Sametime and Twitter, but I couldn't get it working on PingFM (this is probably a configuration error on my behalf).
  • To be fair the IBM internal version of Status Updater does also support BlueTwit, Fringe and Beehive/SocialBlue, but this is hardly of interest to people outside of IBM.
  • A really significant advantage of Wildfire is that it supports multiple instances of a service. This means that you can use it to post to two different Twitter accounts (e.g. if you have a personal Twitter account and you also post to your company's official Twitter Feed). It also means that you can participate on more than one implementation of Lotus Connections (e.g. you might interact with different communities on the Bleed Yellow and Lotus Live sites).
  • A big limitation of Wildfire is that although you can use it to send updates to several sites, it only presents to you your friends updates from Twitter. In contrast Status Updater shows you updates from all of the services you have configured. There is a drop down menu which users can choose what exactly is presented in the windows (although I suspect many people don't realize that this menu exists so I show a picture of it below)

  • In general the Status Updater UI is more smooth than that of Widlfire - this is probably due to the fact that the originator of the project works for IBM's UX team. For example
    • It provides a system tray icon for rapid access when Notes/Sametime is minimized.
    • When you click on a username, you will be navigated to a list of that person's status updates presented within the plugin UI rather than launching a separate browser window.
    • Status updates from each of the services appear with a different background colour so you can see at a glance which service a message was posted upon.
    • For the Lotus connections updates you see an indication of how many people have commented on the status update and with a click you can read these comments and add your own (again without leaving the plugin's UI).
  • The following screenshots give you a quick idea of what the Status Updater UI looks like. The updates with a light blue background are from the IBM internal BlueTwit system, the updates with a Yellow background are from BeeHive/SocialBlue (another IBM internal system) and the updates with a dark blue background are from Twitter. I obscured some of the text to protect confidentiality, but I left in some text to give you a flavour of how the platform is used:


  • The Wildfire UI uses icons which are not intuitive and hence I find very hard to remember what they do without hovering over them and getting the tool-tip to appear. Another problem I have with the Windfire UI is the way it presents whether or not an update has successfully been posted. After you click the submit bin you see a nifty icon beside each service you selected indicating that Wildfire is trying to post your update to the service. When the update is completed the icon changes to a tick if it was successful or a big red X when it fails for any reason - the trouble is that the X or tick goes away after about 2 seconds so if you are not keeping your eyes on the screen you can easily miss the status notification and hence might not realize that a status update failed to register. The sequence of screenshots below illustrate how it looks (which is great except for the fact that the status disappears so quickly).

  • Wildfire was developed with windows support only in mind (a big minus for a Linux fan like me). However, it is actually just the configuration process which is Windows specific. It would not be hard to make the application work across all platforms (I posted a note to their forum telling them how to do this so hopefully they will pick up on this).
  • Another difference at the code level is that Status Updater has a clean division between the code application and the plugins providing support for each of the services. This means that support for additional servcies can be developed independently of the core application. On the other hand, having the code split into several plugins does make it slightly more complex - not only for the developers, but also for the users who will need to install several plugins to get the same functionality.
Either of these tools could definitely be useful for someone who wants to be active on more than one micro-blogging platform. As you can see both tools have significant areas where they are stronger than the other. Therefore I can't reach a definitive conclusion about which tool to recommend and each user would need to decide based upon which requirements are more important to them. I would guess that many IBM internal people would prefer Status Updater because of its slightly smoother UI and its support for the IBM internal platforms. Most others would probably choose Wifdfire because its platform coverage is so much more extensive.

Personally I would love to see the two projects merging to produce a tool which combines the best of both. I have spoken with Jessica who is the main developer behind Status Updater and she is in favor of this idea. I will renew my efforts to contact the people involved in the WildFire project to see if I can insterest them in such a merger.

Monday, February 8, 2010

Weekly review for the week ending 7th of Feb 2010

Last week I said I would:
  • Start work on my GTD tool selection project.
    • My blog post about tool selection attracted quite a bit of interest and I now have a long list of tools to evaluate. However, after an initial look I narrowed down my choices to:
  • Discuss with my local and remote managers about what my goals should be for 2010 (again a multi week project)
    • I got clarity on my goals and responsibilities within the global Sametime team and I started working on these. I don't want to give details on my external blog, but I will post details to my IBM internal blog
    • I had some discussion about what my responsibilities will be for the local lab management, but this is not yet agreed.
  • Begin taking on the additional areas of leadership in the Sametime team (once I get clarification on what they are) - done
  • Start work on comparison of MicroBlogging tools
    • I started work on the comparison between WildFire and StatusUpdater/MicroBlogCentral but was unable to complete it because I ran into some problems in trying to get Wildfire working
    • I tried without success to recruit a team to complete a detailed report comparing all of the client side and server side tools in this area. Therefore, I will put this idea on hold for now and simply compare the two tools.
Next Week I will:
  • GTD Tool selection project
  • Work with the audit team on the security peer-review that is starting this week.
  • Discuss with the local management team about my lab management responsibilities for 2010
  • Blog on the IBM internal site about taking on the additional areas of leadership in the Sametime team
  • Wildfire v Status Updater
    • Get resolution to Wildfire issues
    • Write the blog post about the comparison between the two tools
    • Renew my attempt to convince both teams that they shoudl merge.
  • Build new SUT kit for Ubuntu users within IBM to bring them up to the CF1 code level
  • Prepare Open Client presentation for the Senior Leadership Team

Thursday, February 4, 2010

Zorin OS Presentation

One of my highlights from helping run the IBM stand at the BT Young Scientist Exhibition is that I met the two young Zorin brothers who have created their own Ubuntu variant Zorin OS. Kyril Zorin, is doing a transition year placement in IBM this week where he is investigating building a variant of the IBM Open Client on top of Zorin OS rather than the one we have at the moment which is based upon Ubuntu itself.

Zorin is an interesting distribution because it aims to help smooth the transition for people moving from Windows to Ubuntu. The menus look very similar to those in Windows XP (which might or might not be advantage based upon your perspective). Zorin OS also comes pre-configured with many things that people typically add to Ubuntu after install (e.g. MP3 support, WINE, etc.).

Here are the slides from a presentation that Kyrill did for us in the lab yesterday. Unfortunately we did not record his demonstration which was very impressive. Especially the "theme switcher" which allows you to switch between a Windows Vista, Windows 7 and Macinitosh look and feel - this will be included in the next version of Zorin OS which will be based upon Lucid Lynx.



If you are interested in learning more, I encourage you to get a Live CD from their web site

Monday, February 1, 2010

Choosing the best task tracking system for GTD

For the past few weeks I have had an item on my ToDo list "Set up GTD folders and actions tracking system" which never seems to get done. This week I didn't get it done eaither, so I decided instead to write a blog post about the factors affecting my choice. I am hoping that this might prompt some people to offer me advice. I am also going to start a formal multi-week project plan for how I will evaluate all of the options and set up a tracking system that suits me personally.

In David Allen's GTD book, he stresses the importance of setting up a tracking system that suits both your personal circumstances and preferences. The points to note are:
  1. The system I use for storing information about what I need to do must be one that I trust totally, because otherwise my mind won't be focusing on what I am doing if I am distracted by worrying about whether or not I have accurately captured the next actions. What this means is that I can't entrust to a web based service that I think might be down at the times when I need to use it most.
  2. The system I use for tracking my work must be really easy to get information into and out of, because otherwise I will carry information in my head and resist dumping it into the storage system.
  3. Since I will be notified of work items in a variety of places I may need some form of temporary storage that is always available to be so that I can store the tasks until I get a chance to record them properly. David Allen suggests a small notebook or a collections of index cards - in my case perhaps my mobile phone would be something I would be more likely to have with me at all times.
  4. I will be doing work in different places. So I need to be able to access my task list from anywhere.
My personal circumstances are:
  • At work I will be primarily driven by my Notes email and the associated calendaring system. This is a simple fact of life in IBM. It is of course acceptable to use a program other than the Notes client to read my email and to track my personal calendar. However, I find Notes to be a great tool and I feel it makes sense for me to to be familiar with the latest innovations from Lotus, so I will not seriously consider anything other than Notes.
  • At the moment I use GMail for my personal email and I also use the Google calendar for personal appointments. In addition I have recently invested in a phone running the Android operating system - this means that I have easy access to my Google data at all times, but since IBM only has a limited trial of an Android compatible VPN I won't have easy access to my Notes data when I am not at my laptop.
  • David Allen recommends a single tracking system for both work and personal tasks, but my personal inclination is to continue maintaining a separation between them. In any case, it will be necessary that whatever task tracking system should interface well with both the Notes client and with my Android mobile phone.
  • Both Notes and Google provide task tracking systems, but these are rudimentary. I might consider some other systems that provide GTD compatible task tracking i.e.:
    • Toodleoo
    • Remember the milk (RTM)
    • The eProductivity template for Notes.
My plan for coming up with a GTD tracking system that suit me are:
  1. For the first week I will investigate each of the GTD task tracking systems.
  2. I will spend a week using each of the GTD tracking systems in turn to see how well they work out for me.
  3. I will make a decision on what GTD tracking system I am going to use and then configure the interface between my chosen system and both Notes and GMail. This may involve a small bit of programming, but I am hopeful that there will be tools available to smooth the interface (the existence of such tools may be one of the deciding factor when choosing between the various options).