Domino Upgrade

Search

About Me

I am the "Lotus Technology & Productivity Advisor" for IBM Asia Pacific. I'm based in Singapore.
Reach out to me via:
Follow notessensei on Twitter
Yahoo IM
Skype
Sametime
IBM

Ads by Google

Twitter

Languages

Other languages on request.

Visitors

31.08.2010

XPages - the "other" skills

In most of the XPages trainings I conducted in 2009 and 2010 there were participants with no prior exposure to Notes and Domino other than using it as a user. They all however had experience with web development. XPages' JavaScript, CSS and HTML was like their natural environment and they had no problem catching up with "the old Notes nuts". The later however, especially the "client only" developers struggled. They struggled not with DDE or XPages per se, but with the open standards it embraces. So it is back to school (unless you have a medical condition) for open standards. This is my cheat sheet for the different technologies: For all the books you actually might consider a Safari book subscription.
I know - it is a lot of stuff. On the upside: these are all mostly platform independent (OK, not the Java stuff, but that's at least vendor independent). And: you don't need to know all these to get started - it is rather the master's list.
As usual YMMV

28.08.2010

eLearning in the enterprise vs. eLearning in education

I had an interesting chat with the IT teacher of Catholic High about eLearning. I'm following the subject for a very long time. In the early eighties I bought one of the earliest eLearning authoring tools called OpenICE from Dialog Video (a Swiss company which seems to be history now - the only trace of OpenICE I could google was in a document in the download section of The Morrison Company.
There is a lot of money spent on eLearning both in enterprises and in academic, but the stellar success stories are few and far between. A common fallacy I observed is to spend a lot of money on a LMS or LCMS and have no budget, time and energy left for content. When you hear statements like "Once the LMS is in place we'll ask our SME [Subject Matter Experts] to contribute content" you know your eLearning project is doomed.
Creating good eLearning material is hard and time consuming work. Brian Chapman published research findings in 2007 that put the ratio for slideware to eLearning conversion at 33:1, the creation of lightly interactive courseware at 220:1 and the creation of full fledged simulations at 750:1. So that tiny water cycle simulation of 10 minutes took more than 3 working weeks full time to be created. The study is currently to be updated and you can participate.
Another fallacy is the failure to integrate eLearning systems into the infrastructure. In corporate learning that means eLearning needs to be accessible from the tools I use in the job (a great widget to have is "related learning") and get away with enrolment procedures for short term learning (that enrolment is carried over from academic). In academic eLearning the failure lies in the lack of integration into other delivery methods. If enrolments, progress control, time planning etc. are not fully integrated into presence learning it will not fly.
There seems to be very little fruitful cross breeding between corporate and academic eLearning, which isn't surprising when you look at the core differences:
Enterprise learningAcademic learning
The main purpose of employees is to contribute to enterprise goals (mostly: make money). Learning is an expense, not an outcome The main purpose of students is to learn. Knowledge and skill acquisition is the main outcome (not grades in case someone has forgotten)
Learning works well in homeopathic doses: 10min here and there related to a current job need Learning works best with multiple avenues of delivery (watch for a later post on this)
Learning is very skill focused, so the main delivery is training* Learning is wider and education focused*
Learning has no priority, its purpose is to "get the job done" Learning is the top priority, its purpose is to "get the job"
Learning is focused around a career Learning is focused around a curriculum
Learning needs are only partly planned (mostly by the HR department) and a lot of needs arise based on the nature of job roles and projects. Learning goals change more often as careers and market demands change Learning is planned out well in advanced, often by an external body (e.g. the ministry of education) for multiple years
Success is indirectly measured: can the learner implement in the day job what (s)he learned in the training? Did the ability arrive? Success is measured by passing exams. This is a challenge since learning to pass an exam is only loosely related to the acquisition of ability
Collaboration is strictly encouraged. Good working teams adopt "no comrade gets left behind" attitudes. If you collaborate during an exam you are out, so there is a natural tension.
* In case you don't see the difference between education and training: Most parents should be OK if their teenage kids come back from school and state: "Today we had sex education", but rightly will go berserk if they would hear: "Today we had sex training in school". --- and yes I know that sexual education is the most controversial topic in education, an epic battleground between enlightenment and denial.

I'll share more around eLearning in upcoming posts.

24.08.2010

XPages Medical Advice

The truth about XPages:
XPages can trigger Cainotophobia
But of course you know that and are in tune with the impermanence of being and continuous upgrade your skills.

24.08.2010

Boys and their toys X

Huawei topped their already impressive E5 device
Huawei E5

with a new entry, the E583C
Huawei E583C

On top of being a mobile hotspot for 5 devices it spots a OLED display and via microSD up to 32G shared storage. So a small team working away easily can share what they are working on and access the Interweb at the same time using a good looking gadget.
(via godevice.com)

15.08.2010

Visualize using Mindmaps

Mindmaps are an incredible tool to collect and share thoughts on any topic in a very compact and comprehensive format. Just look at the sample Ernest did for Water (his current topic in science):
Mindmap about water, click for a larger version
He used iMindmap which has the most natural look from all mindmap software offerings I've seen so far (and is available on Win, Linux, Mac and iPad). It is the commercial offering of Tony Buzan who claims the invention of mindmapping. If you like eProductivity, you might want to look at MindManager, which is primarily Windows (there's a Mac version that's usually behind and there's no Linux version) and can be imported into eProductiviy. Notes user will find MindPlan intriguing. It is available on all Notes client platforms, can show data in MindMaps and Gannt charts and uses NSF as its storage engine. Sharing and collaborating on MindPlan is a breeze. For fans of OpenSource there is FreeMind also available on many platforms. A very different approach is used by The Brain, which allows to dynamically navigate the map and put any topic into the center. Once you are ready to get frequent updates on what's up in the mindmapping software scene, subscribe to the Mindmapping software blog.

02.08.2010

Speed boost for your Notes client on Linux

QuickImage You need enough RAM. Follow these steps (adopted from here):
  1. Stop the Notes client
  2. Create a new directory: mkdir ~/notestemp
  3. Edit your notes.ini and add:
    view_rebuild_dir=/home/[yourid]/notestemp/
    NOTES_TEMPDIR=/home/[yourid]/notestemp/
    TempDir=/home/[yourid]/notestemp/
  4. Edit the mounting table: sudo gedit /etc/fstab
    Add this line (one line, tab separated values):
    tmpfs /home/[yourid]/notestemp tmpfs defaults,noatime,mode=1777 0
    and save the file
  5. Mount the new directory:sudo mount -a (a restart would do too)
  6. Start the Notes client
  7. Optional: Move more temp stuff to tmpfs
(Don't forget: [yourid] stands for your login name, don't take it literally). As usual: YMMV.

20.07.2010

Command line tool for Linux command line junkies

I found a little gem for "Friends of the commandline"TM. Since the autor suggested to improve this with zenity I went ahead and created ~/bin/runthis:
#!/bin/sh
#~/bin/runthis
############################################################################
# Runs the command on the command line or prompts that have been entered in the prompt box
# Originally published here: http://crunchbanglinux.org/forums/topic/2848/bash-at-your-fingertips-nifty-notifysend/
# Replaced command line with zenity dialog
############################################################################
if [ -z "$1" ]; then
    what=$(zenity  --entry  --text "Type a command");
else
    what=$1
fi
info=$(eval "$what"  2> /dev/null);
notify-send -t $((1000+300*`echo -n $info | wc -w`)) -u low -i gtk-dialog-info "$what" "$info" || exit 2
Make it executable with chmod +r ~/bin/runthis. Final step: go to the CompitzConfig Settings Manager (or the Gnome shortcut settings) and assign it a key combination (I use Ctrl+Alt+r). Now you can hit the combination, enter a command and the result will be shown in a notification dialog. For the rationale, read the original source
As usual YMMV

20.07.2010

Run SUNORACLE VirtualBox with KVM modules on

KVM and VirtualBox are two virtualization solutions for Linux. KVM requires the module kvm_intel to be loaded, while VirtualBox can't run with the module running. So if you can't makeup your mind what to use, you need a little script magic to get this working. Here are the steps:
  1. Download libnotify for nice bubble notifications (just eye candy):
    sudo apt-get install libnotify (Of course you can use the Synaptics package manager in System-Administration and simply search for the library, but that's not sporty)
  2. Create a script (see below) in ~/bin/vboxkvm
  3. Make it executable with chmod +x ~/bin/vboxkvm
  4. Change the command in the VirtualBox menu entry from VirtualBox to vboxkvm
The script (Keep in mind that Linux is cAsEsEnsItIvE):
#!/bin/sh
SERVICE='kvm'
 
if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
    notify-send -t 10000 -u low -i gtk-dialog-info "Removing kvm and starting Virtualbox"
   gksu "modprobe -r kvm_intel"
else
    notify-send -t 10000 -u low -i gtk-dialog-info "OK kvm not loaded,  Virtualbox starting"
fi
VirtualBox $
As usual: YMMV

17.07.2010

Getting close with IBM OneUI

QuickImage I recommended the use of IBM OneUI before including a helper stylesheet. While there is a complete documentation available, a little explanation about the how and why goes a long way. The OneUI is not so much about colours and fonts, but about structure, navigation and layout. Following its guidelines your applications get a consistent look, which user studies show increase user confidence about their ability to use your web application. This translates into less help desk calls. Any consistent framework does that, the advantage of the OneUI is that your applications start looking consistent to the IBM software in use. Furthermore when IBM releases a new visual style, your application can adopt it in no time. Lets have a look at the layout of a OneUI page. It consists of the following structure:
  • Global Navigation: Branding (corporate and application logo), links to core applications, usern ame, login and help
  • Application Navigation: Typically a tab bar on the left and the search box on the right. Search, while potentially acting on the current page content is considered an application level function. You could use a dropdown to allow the user to define the search context
  • Place / Page Navigation: Contains the page title on the left and a series of page level actions on the right. A page would be the place where you conclude an entire interaction. This is different from the Notes client or classic web application model where view (selection of information to act on) and document (the instance of information) are usually on different pages. Some rethinking required (Partial page refresh is your friend!)
  • Main Content: The main content area has one to three columns where the left and right column are optional. If the main content needs navigation or filtering that would be displayed in the left column with navigation above filters. In the right column contextual information can be displayed (e.g. in a Claim form the right column would show the account summary)
  • Footer: The footer area contains logo, copyright and related links that are not frequently uses (e.g. Feedback, documentation, other software)
Drawn on a wire frame you get this:

An empty page just containing the layout would look like this:
OneUI in green
This is also available in blue, red, gold, metal, black and white and it even is usable using Lynx. Branding fanatics will highlight that the logo area is tiny and the footer to long, however nobody stops you from altering the CSS, as long as you stick to the structure (the small logo saves valuable space above the fold). Some Lynx impressions:

Read More

13.07.2010

Multi column checkboxes and radio buttons

Brian shared his implementation of multi-column check boxes. Having such a control mimicking the functionality of the Notes client is pretty helpful. Brian's approach however wasn't very re-usable, so I though of a way to come up with a more reusable solution:
Multi column check boxes in various views
The resulting custom controls can be easily added to any page with a few lines of code. You need to reference 2 supporting JavaScript libraries and then add a few lines to your page:
  1. < xc:MultiColumnCheckBox numberOfColumns="3"dataBindingName="document1.CheckDemo">
  2.     < xc:this.FieldValues>< ![CDATA[#{javascript:return ["black","blue","red","yellow","white","brown","gray","vomit","green"];}></xc:this.FieldValues>
  3.     < xc:this.disabledValues>< !CDATA[#{javascript:return ["gray","vomit"}]]></xc:this.disabledValues>
  4. </xc:MultiColumnCheckBox>
You have 4 parameters:
  • numberOfColumns: (Integer) number of columns to use
  • dataBindingName : (String) field to bind the control to including the datasource
  • FieldValues: (Array of Strings) Values to offer in the control
  • disabledValues: (Array of Strings - optional) Values that are disabled
The same parameters also work for a group of radio buttons:
  1. < xc:MultiColumnRadioButton numberOfColumns="3" dataBindingName="document1.RadioDemo">
  2.     < xc:this.FieldValues>< ![CDATA[#{javascript:return ["Porsche", "VW", "BMW", "Mercedes", "Opel", "Ford", "Audi","Lada"]}]]></xc:this.FieldValues>
  3.     < xc:this.disabledValues>< ![CDATA[#{javascript:return ["Lada"]}]]></xc:this.disabledValues>
  4. </xc:MultiColumnRadioButton>
The controls are available for download on OpenNTF (of course you use Guo Yi's Import and Export for Designer for this). Enjoy and share your ideas for v1.1
As usual YMMV.

Disclaimer

This site is in no way affiliated, endorsed, sanctioned, supported, nor enlightened by Lotus Software nor IBM Corporation. I may be an employee, but the opinions, theories, facts, etc. presented here are my own and are in now way given in any official capacity. In short, these are my words and this is my site, not IBM's - and don't even begin to think otherwise. (Disclaimer shamelessly plugged from Rocky Oliver)

© 2003 - 2010 Stephan H. Wissel - all rights reserved as listed here: Creative Commons License
Unless otherwise labeled by its originating author, the content found on this site is made available under the terms of an Attribution/NonCommercial/ShareAlike Creative Commons License, with the exception that no rights are granted -- since they are not mine to grant -- in any logo, graphic design, trademarks or trade names of any type.

Get Firefox Use OpenDNS