Usability - Productivity - Business - The web - Singapore & Twins

By Date: August 2008

Generate xPages from your views

The Dublin workshop has concluded. Others have reported and I start playing with automating upgrading your existing applications to include xPages. In a nutshell: xPages allows scripting your application end-to-end in JavaScript. JavaScript on the client and the server and just a selection for you to decide what runs where. Of course JavaScript is not a Domino server languages in older Notes versions, so you need to do something about your @Formula and LotusScript. But that's a topic for another time. xPages are stored as XML. Existing Domino design elements can be exported with reasonably accuracy as DXL which is XML too. So with a little XSLT the both might be fit onto each other.

A Domino view starts with <view name=', while an xPage starts with <xp:viewPanel. Different names but similar structure! A column in a Notes view is represented by <column itemname=, the column in the xPage with <xp:viewColumn columnName=. Again just different names. To get from all your views to xPages follow the following steps:
  • Create one xPage that looks the way your stuff should look like
  • Switch to the source view, cut and paste it into your favorite XSLT editor
  • Replace the variable parts (the columns) with XSLT template logic. Save the file into [NotesData]/xsl
  • Use the DXLTools - Transformer to apply that one by one to your views (you could script that)
  • Switch to the Java perspective and import the resulting files back in your NSF

Read more

Posted by on 31 August 2008 | Comments (0) | categories: Show-N-Tell Thursday

Lotusphere 09 heating up.

I'm sitting next to Tim Clark at the XPages workshop. He's working for the Business Partner Technical Enablement. At Lotusphere '09 his team will showcase Lotus technologies. He wants to know what you would like to see and opened a blog to gather feedback. Head over and give him a shout.

Posted by on 29 August 2008 | Comments (0) | categories: Lotusphere

How much bandwidth does Sametime need?

A question that pops up quite regularly is how much bandwidth does Sametime need. As a rule of thumb you can use this values:
  • A one to one text chat need about 0.2kBit/sec, yes that would be 200 baud. What worked in the 300Baud modem days with your favorite BBS hasn't changed: chat is cheap. Presence transfer consumes about the same (Your Netbios broadcasts probably slanders 10 times the bandwidth. If you transfer files or images (pasted into the chat) bandwidth consumption will peak as: get what you can get and finish the transfer
  • Voice chat requires around 10kBit/sec per connection. A two way chat has one connection, a three way chat two (n-1 actually, you don't need network bandwidth talking to yourself)
  • Video chat consumes 256kBit/sec per connection. The same rule as for voice chat applies. A threesome thus requires 512kBit/sec.
The Sametime codecs have adaptive features and you can tweak the video quality, so YMMV.
Thanks David

Posted by on 25 August 2008 | Comments (3) | categories: Show-N-Tell Thursday

On Islamic Banking and Knowledge Management

I've mentioned Islamic Banking before. It is a very interesting concept. When you compare some of its leading principles, you will find a perplexing strong resemblance of knowledge management principles. Seems someone centuries ago anticipated the needs of modern knowlege management. Taking a page from Wikipedia you can learn: " The basic principle of Islamic banking is the sharing of profit and loss and the prohibition of riba (usury). Amongst the common Islamic concepts used in Islamic banking are profit sharing (Mudharabah), safekeeping (Wadiah), joint venture (Musharakah), cost plus (Murabahah), and leasing (Ijarah)".
When compiling KM principles we find similar scenarios:
  • KM requires to capture and share insights in successes and failures. (sharing of profit and loss)
  • KM insights must be maintained as long as they are relevant (safekeeping)
  • Successful KM is a joint effort. Everybody contributes to the success of it (joint venture)
  • You need to go that extra mile to make KM work (cost plus)
I'm in no way an expert on Islamic banking, culture and rules, and I might get it totally wrong, nevertheless I found that similarities striking.

Posted by on 22 August 2008 | Comments (2) | categories: Intercultural

Office in the Air

I'm on my way back from Delhi to Singapore. SQ409 operates a shiny new Boeing 777-300ER. When boarding I was walking though business class and now perched in coach envy the spacious layout of the new business class. But that's not your daddy's coach anymore. In every seat there is an 11" wide-screen TV with a video in, usb and network port. The control unit finally sits below the screen instead of in the arm rest where you tend to activate different buttons when you wiggle back and forth the 5cm space you have to move. The armrest features a AC power socket, so continuos work is ensured. Even if you didn't bring your laptop but just your USB drive with your files, you can continue to be a proper workaholic. The entertainment feature comes with Sun Microsystem's star office equipped. The control unit features a tiny keyboard, that is quite usable (almost like a Blackberry or Nokia keyboard quality and a little larger). A friend of mine worked for the manufacturer of the system and he shared, that it is actually a Linux streaming server with 278 terminals. I wonder if that server could be hacked from one of these terminals. A prepared ODF document might do the trick. Mental note to self: bring a network cable next time and see what's happening when plugging in.

Posted by on 22 August 2008 | Comments (1) | categories: Travel

Where to install Lotus Notes - and what to do when upgrading?

When it comes to installing Lotus Notes there are a lot of conflicting ideas floating around. I'd like to shed a little light on them. Existing Notes shops typically have their Notes clients installed in C:\Notes and the data in C:\Notes\Data. This selection predates the Win95/NT/XP days. While that is working perfectly fine it makes Notes a little the odd child on the block, since all other software gets installed in C:\Program Files.
When you install Notes on a clean machine it will suggest C:\Program Files\IBM\Lotus\Notes for the program file and the data in C:\Program Files\IBM\Lotus\Notes/Data. While the first suggestion is perfectly fine I would not recommend the second. Data has no place in a program directory. Interestingly there are other options available. When you install Notes using the multi-user install Notes suggests C:\Documents and Settings\<username>\AppData\Local\Lotus\Notes\Data (on Vista C:\Documents and Settings would be C:\Users). Of course the directory names are not hard coded but pulled from the environment variables ProgramFiles and USERPROFILE. And I think that is the place where it should be in any case.
When you look at the installation on Linux, there the program goes into /opt/ibm/lotus/notes and the data in /home/<username>/lotus/notes, with shared data (the templates/help) sitting in /var/...
When you upgrade your Notes client, be it manually or using Smart-Upgrade you will realize, that the installer suggest the existing directory, thus perpetuating location decisions that might no longer be appropriate. I highly suggest to take an upgrade exercise as opportunity to rectify such decisions. How would you go about it? The best approach is to take a step back and see an upgrade exercise from a holistic point of view. You need to:
  • Gather evidence that installation will work (hardware requirement, available disk space)
  • Enlighten the users what's coming up/is new
  • Do the actually update
  • Verify the results
    One successful approach is to create a database with information around the upgrade: Users and machines, training schedules etc. Send users an invitation email that lets them know that the upgrade exercise is planned and will happen and that they are required to attend a briefing for the new features (could be a briefing using Sametime or Sametime Unyte). Make them enroll to one of the briefings by filling in a form in that database. Give enough day/time slots to get them all. The enrollment form contains code that does a preliminary workstation check: list of databases, install locations, free space etc. and records it in that database. This allows you to generate the needed scripts to clean up stuff. On the day of the briefing send another email to the user with "your session is on in xx minutes, click here to confirm your attendance". The email function would  obviously would be a button in your database. That confirmation button would then trigger the update proceedings. If you need to move the data or program files before the upgrade you need to run a little custom script that does that for you. It also would need to iron out the Registry. I personally made good experience with NSIS (given some time I'll post some samples).
    Then, while the user is attending the briefing the upgrade happens and you have the best benefit of learning: users can immediately after their training use the new functions. You need to brief long enough to give time for the installer to run. The last item the database would contain is a rating and satisfaction feedback form for the whole process.

    Some common problems when picking install locations for Lotus Notes:
  • Installing data into the user profile and have XP sync that profile on logon/logoff. This means that you shuffle your entire Notes data on every logon/logoff since all file dates will be updated when Notes runs. Exclude the directory from sync
  • Installing data into the home drive on a file server. This is a big performance hit. If you do that, at least point desktop.dsk and cache.dsk to a local drive. The rationale often is backup or the ability to work on multiple workstations. If that is a requirement you better have a look at multi-user install and the roaming user feature. This yields much better results. Storage requirements are not different, the data just moves from your file server to the Notes servers. Additional you then have access to all address books and bookmarks in the context of your Domino server and can easily run analysis and update code.
  • Low hard drive maintenance. Notes databases are big compared to your average file on your workstation (having archives or replicated shared databases in the multi-gigabyte range is quite common). NTFS does a poor job (as does ext3 for that matter) in dealing with big files. They get fragmented very fast. So having a regular defragmentation running, especially before you upgrade makes a lot of sense.

Posted by on 22 August 2008 | Comments (2) | categories: Show-N-Tell Thursday

Bedtime stories

One of the parential duties I take quite serious is bed time story reading. Serious because it is so much fun. Unfortunately traveling all over Asia Pacific makes progress sometimes slow. We started with picture books, small stories that fit onto a few pages and on to whole books that took quite a while to digest. We digested a few classics like "fairy tales of the Brothers Grimm" and "The Thousand Nights and One Night" as well as some more special stuff. In no particular order this is what we read until today: We are now considering: Jules Verne, Pratchett/Gaiman: Good Omens: The Nice and Accurate Prophecies of Agnes Nutter, Witch or Diana Wynne Jones: Howl's Moving Castle.

What do you read to your kids?

Posted by on 14 August 2008 | Comments (3) | categories: Twins

Spreading the love

To often people still think Lotus = eMail. That is worse than thinking Lotus Notes is eMail. Yes there was a time when Lotus = Spreadsheet. So what to do about it? Well a picture is worth as thousand words, so everytime I open my laptop the picture becomes clear:
notessensei.com is an alias for this blog. Working on my Global Microbrand

Update: The skin has been produced by Digiskin. The pro: it is super-thin, the con: you can't fix it yourself, you have to go and see them. They seem to operate in Singapore, US, South-Africa and Germany.

Posted by on 01 August 2008 | Comments (3) | categories: IBM - Lotus IBM Notes Lotus Notes