wissel.net

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

By Date: November 2009

Domino Designer Import and Export


My colleague Guo Yi from the China Development Labs (CDL) in Beijing has published her first Domino Designer Plugin: Export and Import Tool for Domino Designer. I'm listed as contributor, which is true for idea and concept. All the heavy code lifting was done by Guo Yi. With this little gem you can export/import anything from/to Domino using the familiar Eclipse export/import dialog. The nice thing: the tool treats every file type appropriately: a CSS file becomes a CSS file and not "something like CSS wrapped into XML". A XPage ist XML following the XPages schema. Classic design elements are converted to/from DXL (so the usual caveats apply).
We were musing to add some kind of automation API to the plug-in (after all a version 1.0 needs a successor). ANT is my personal favorite, but we would be open to suggestion.

Posted by on 30 November 2009 | Comments (2) | categories: IBM Notes Lotus Notes

Preparing for an IBM compliance audit of your Notes licences


IBM is a business enterprise and sells software licences for a living (For charity you need to ask a certain gentleman from Redmond). Sometimes there are disputes between IBM's customers and IBM how many licences are in use in a certain company. In the spirit of IBM's 3rd core value - Trust and personal responsibility in all relationships - IBM typically tries to sort this out in collaboration with the customer, but from time to time that escalates into a formal compliance check. It has been reported not to be a necessary pleasant experience since for legal reasons outside audit organisations are used who might not have been tuned into IBM's approach to relationships.
In Lotus land a potential sticky point is the question how many Notes Messaging CALs and how many Notes Enterprise CALs (formerly known as Notes Messaging Licence and Notes Collaboration Licence) are in use. The difference between the two licences in a nutshell: Messaging allows eMail, Discussion, Blog, Reference and Journal; Enterprise allows any database and the use of Domino Designer (Read the full details).
An audit will not accept statements like " yeah, the licences are stated as Enterprise for all, but only X percent actually use databases"
What you can/should do in preparation: add all users you think are messaging only users to a group (or a set of nested groups) and add this group to the ACLs of all databases that are not based on the IBM templates above with -No Access- level. This way you rapidly can figure out if there is any user requiring access to those applications (usually accompanied with a scream about IT messing things up).

Also be clear: IBM doesn't require an online activation, disables software when you alter the hardware or a patch failes or sneaks in controlware to check on your licence status.

And of course the way to smart collaboration is not to downsize your licenses, but to upsize your collaboration using some of the excellent free and commercial applications for Domino (Bonus track for customers in Thailand and Hong Kong: Check out Comware).

Disclaimer: This is not any legal advise or something you can cite in an argument, this are just my thoughts

Posted by on 23 November 2009 | Comments (3) | categories: IBM - Lotus Show-N-Tell Thursday

How to generate an installable list of Firefox plug-ins/addons?


Question to the lazy web: How to generate an installable list of Firefox plug-ins and addons from the plug-ins and addons you actually have installed? I have a set of plug-ins and addons in my Firefox which a lot of friends/colleagues would like to use too. Ideally I would be able to press a button and generate a HTML page with links to the original install locations. After all the plug-ins and addons "know" where to look for updates for themselves. A GreaseMonkey script would be acceptable too. Anybody got an idea how to do that?

Posted by on 21 November 2009 | Comments (4) | categories: Software

Has replication as we know it reached the end of its usefulness?


## In a fully connected, always on, any device world there doesn't seem to be space for replication (or synchronization as it is called by other vendors). So why not scrap it and move on? I'm sure no one will miss the little diamond indicators denouncing a replication conflict If you followed the teaser entry to the full post, you are ready for the real argument. I'm a big proponent of replication/sync, I just think it needs some fixing. In reality we are not fully but mostly connected and not always on but occasionally out of coverage. The big success in mobile devices: push mail (another fancy term for sync). So why do I state the end of usefulness. Let us look how replication works today: Replication is:
  1. User initiated: client start/stop, button pressed, server console command typed
  2. On schedule
  3. Between clusters: streaming on data change
  4. Network unaware, not being able to reach the other partner is considered a failure rather than a transient condition
The first two are available for clients and servers, #3 only for (cluster) servers. In a mobility world that model doesn't fit. I don't want to replicate or wait for the next schedule to occur. I need information entered available wherever I'm looking for it. I don't want to distinguish between online and offline, connected and out-of-coverage. Some samples to illustrate this:
  • One success factor for the Blackberry was exactly this behaviour. You can read and reply your email regardless your connection status. Outgoing stuff simply gets queued until network availability.
  • Another page from history: what was (besides the size and battery live) the one defining feature of the original Palm: no save button. Information entered was entered, Full stop. When the palm got network connectivity (think: put into its cradle) data was send to the other participating devices (your desktop) automatically.
What works for email needs to work for applications too. So what needs to be fixed in replication? Definitely not the mechanism as of such. It has been proven to be robust, reliable (short of occasional clearances of the replication history) and recoverable (think resync after error). Network awareness and triggers need to change:
  • We need an option: Sync after data change. A document locally created or changed gets queued for replication immediately. That would be very much similar (in concept) to the cluster streaming replication model. For the server it is a little trickier since the server would need to house-keep to which servers to replicate to and Admins need to have a say.
  • Replication needs to use a network aware queue that stop replicating to a server if it isn't reachable (but retries in defined intervals to clear the queue). The queue needs to be smart to eliminate duplicate requests. Only if a certain threshold is crossed status goes from pending to warning to failure.
  • Partial replication needs to be easier. Today entering a formula is close to rocket science. Some developer provision needs to be made, so a user can select something like "Replication profile {add-a-name-here}" that would define the subset for her. That profile, defined by the developer, would allow the use of @UserName or @UserNameList. It would allow to specify things like: replicate everything except the "request" form and all request forms where @UserName is in one of the following fields:... This will make it VERY easy to take applications offline. After all in a lot of typical Notes application I want MY data (and not your project plan, while I occasionally wouldn't mind peeking, which my access would allow, so using reader fields only doesn't cover the use case).
  • Currently servers can initiate a replication to a client (push-replication so to speak). That needs to change somehow. I would introduce a publish subscribe model. A client "subscribes" to a set of documents in a database and whenever a document matching the subscription criteria is touched the server sends a message to a message queue that data has changed. If the client is connected it will receive the message instantly and can initiate a client pull replication. If the client is not connected it will get the message next time it connects and will know what databases to replicate. One could argue: why not put the changed data into the message queue and eliminate the replication step? The answer is manyfold: change notifications would be very small and don't require a lot of storage. A client implementation might offer the user a choice: retrieve this and that but not everything now. But foremost: replication is tried and tested and we don't want to have different mechanism of data synchronisation, so the message queue would be just another trigger.
What's your take?

Posted by on 17 November 2009 | Comments (2) | categories: IBM Notes Lotus Notes Show-N-Tell Thursday

Gifted Education, Social Computing, Decisions and Mr Wang


My son Ernest passed the selection test for Singapore's Gifted Education Program (GEP). Being German I value education very highly and I'm rather critical of Singapore's pressure cooker type of education system. Aware of the potential partisan view on it I started sourcing for experience and opinions about the GEP. After all I had to negotiate with Ernest about his future and insisting on objective criteria is a corner stone of principled negotiation. Family, friends, colleagues and acquaintances are obvious sources besides "Auntie Google". Reflecting about SIngapore's education I remembered that Gilbert Koh, a.k.a Mr. Wang had blogged about his viewpoints regarding education numerous times, resonating well with my own view points. So I dropped him a note (for experts in communication matters the sentence reveals, that I'm a Lotus Notes user) asking for his opinion. In best web2.0 manners Gilbert congratulated Ernest in his blog, attracting quite some comments and notified me about the entry. Guess I'll pick up that habit and add a button to my inbox "reply by blog".
Ernest is quite uneasy to leave his current classmates behind, but seems to be attracted to the advertised "fun and games" type of learning. I'll try to get Anthony into the same school and eventually into the same program, he didn't miss the mark too much.

Posted by on 10 November 2009 | Comments (2) | categories: Singapore

ITSC Synthesis Journal 2009


Singapore's Information Technology Standards Committee is publishing a yearly Journal with articles related to IT standards and IT trends. In the 2009 edition (Link might only be active after a while, check the In the 2008 edition until then) I contributed an article titled " Implementing web2.0 in the Enterprise". There's a real printed version of it too.

Posted by on 05 November 2009 | Comments (0) | categories: Software