Domino 6.5 EOL

Search

Languages

Other languages on request.

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

Twitter

Ads by Google

Visitors

06/03/2010

Boys and their toys VII

The good Movie Bag is loosing shape and SWMBO insists on replacement. SoI had a look at Varier:
Varier Gravity
Read More

28/02/2010

Quote collection

A collection of quotes I like:
  • Thomas T. Nagle:
    Sustainable cost advantages are realized not by constant belt tightening,
    but by the efficient use of resources
  • Edsger Dijkstra
    It is never enough to satisfy your own intellect (since it will be laid in your grave with you), but one must teach others, to use their mind.
    The more one focuses on these two tasks, the faster one realized that they are the two sides of one coin:
    Who teaches himself, discovers what can be taught
  • Antoine de Saint-Exupéry
    • If you want to build a ship, don't drum up the men to gather wood, divide the work and give orders.
      Instead, teach them to yearn for the vast and endless sea.
    • As for the future, your task is not to foresee it, but to enable it
    • You know you've achieved perfection in design,
      not when you have nothing more to add,
      but when you have nothing more to take away
    • It is only with the heart that one can see rightly.
      What is essential is invisible to the eye.
  • Anonymous
    For every complex problem, there is a solution that is simple, neat, and wrong
  • Nathaniel Borenstein
    The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents
  • Alan Cooper
    Most people know more about how the Vatican works than what programmers do.
  • Albus Dumbledore
    You have to choose between what is right and what is easy, ... because what is easy is often not right.
  • Derek Bok (a former President of Harvard)
    If you think education is expensive - try ignorance
  • Linus Thorwald during the Lotus Devcon 1999
    If you love somebody - set them free
  • CenterGate Research Group, LLC
    Technology so advanced, even we don't understand it!
  • Leonardo da Vinci
    Poor is the pupil who does not surpass their Master.
  • Soren Kierkegaard
    The unhappy person is never present to themself because they always live in the past or the future.
  • The Koran
    They deserve paradise who make their companions laugh.
  • Lao Tzu
    • As for the best leaders, the people do not notice their existence.
      The next best, the people honor and praise.
      The next, the people fear, and the next the people hate.
      When the best leader's work is done, the people say, 'We did it ourselves'
    • A journey of a thousand miles must begin with a single step
  • Shi Quin
    When you gaze at the cloudless sky, you either see the emptiness of the sky (xu1kong1) or the emptiness of your heart
  • Hugh MacLeod
    Choosing an easy live rarely ends up with much of either.

27/02/2010

Address Dialog on stereoids

Over the long live of Lotus Notes the address dialog has been a trusted, never changing compagnion:
The Notes address dialog
Over the years it got some facelift like the ability to drag and drop or the ability to sort by Notes hierarchy, language or corporate hierarchy (anybody seen that?) or to look at details in yet another window. It works OK as long as the number of names is small and diverse. However once you enter cultures that are notoriously short of last names and sport large companies it gets tedious to pick the right Mr. Wang or Mr. Lee. In short: the address dialog is overdue for an overhaul. Since simplicity isn't simple careful considerations are needed. How much more complex the dialog could get to stay reasonable and how simple it needs to be. The requirements I came up with can be quite conflicting.
  • I want to be able to filter the search scope based on a series of criteria:
    • by organizational properties (like department name or org type e.g. "sales"
    • by geography
    • by job role
    • by tags
    • by favorites
    • by source: internal/external, groups, individuals, from Facebook
    • by communication history: frequency or date
    • by search in communication
    • by search in profiles
  • access to list by first name, last name or nick name
  • suggestion of addresses from social analytics
  • display of additional information (address card + tags + list memberships) to positively identify the receipient
  • Indication if encryption is available or not
  • Indication if alternate access (e.g. shared communities) is available
I'm sure there are more criteria available. Packing all of them into one dialog might be a challenge. I played around and created a mockup
Read More

20/02/2010

JavaScript Closures

XPages allow you to use JavaScript closures in both client and server side code. There are plenty explanations available, which seem to make them rather more mysterious. After looking at a lot of them I conclude: "JavaScript closures are like riding a bicycle: nearly impossible to explain, but obvious and natural once you get it". So here is my try, from a LotusScript perspective.
First step in the puzzle is the fact, that there is no difference in JavaScript between a function and a class. To get an instance of a class/function you simply call the function with new:
var myInstance = new MyFunction();
The second piece is the fact that calling a function is the equivalent of calling the default method of a class instance. Default methods are absent from Java, dotNet or LotusScript, but were available in VB (typically .text). So myInstance() actually is myInstance.defaultMethod(). The third piece is to understand the functions that return a function/object as sort of factory pattern with an abbreviated syntax. In LotusScript you would write something like:
Option Public Option Declare %REM Class BaloonFactory Description: Creates all sort of Ballons %END REM Public Class BaloonFactory Private currentGas As String Private currentColor As String Public Sub New me.color = "Red" me.gas ="Helium" End Sub Public Property Set Color As String me.currentColor = Color End Property Public Property Set Gas As String If Gas <> "Helium" And Gas <> "Hydrogen" Then me.currentGas = "Helium" 'Let us play save Else me.currentGas = Gas End If End Property Public Function makeBaloon As Baloon Set makeBaloon = New Baloon(me.currentColor,me.currentGas) End Function End Class %REM Class Baloon Description: We like them in a lot of colors %END REM Public Class Baloon Private currentGas As String Private currentColor As String Public Sub New (Color As String, Gas As String) me.currentColor = Color me.currentGas = Gas End Sub Public Sub POP MsgBox "You popped a "+me.currentColor+ " baloon filled With " + me.currentGas End Sub End Class %REM Sub Demo Description: Comments for Sub %END REM Public Sub Demo Dim factory As New BaloonFactory Dim b As Baloon Dim r As Baloon Dim g As Baloon Set r = factory.makeBaloon() factory.Color = "Blue" Set b = factory.makeBaloon() factory.Color = "Green" Set g = factory.makeBaloon() Call r.POP() Call b.POP() Call g.POP() End Sub
This LotusScript was converted to HTML using the ls2html routine,
provided by Julian Robichaux at nsftools.com.

Read More

16/02/2010

Client Application Platforms

There are wonderful and awesome strategies how to organize your data centers and back-end data processing. Often these back-ends are supposed to be accessed by "Thin Clients", replacing "SickThick Clients" or "Fat Clients" which are considered "legacy (read: tried, tested and boring)". Looking at the memory foot print of modern browsers I can't see the "thin" part. My guess the "thin" actually should mean: "Comes with the Oerating System and doedn't need to be taken care of." Never mind the security patches and frequent updates. The opponents of "Thin Clients" coined the term "Rich Client" which indicates connectedness and rich interaction models. The IMHO real difference is single purpose, disconnected clients (like your old school spreadsheet, minus Quickr/Sharepoint) vs. connected application platforms. And looking at the platforms the dust hasn't settled (yet). Regardless of what platform one picks, the challenge today is device diversity. You might have standardized on X, but you can make a save bet, that a C level executive will hand you a device Y and demands to make it work for your enterprise applications (typically Y ∈ [iPhone, Palm Pre, Blackberry, Android, {Stuff-you-never-heard-of}]). Anyhow you face the real-estate challenge:
1920x1200 is 30x bigger than 320x240
Your 24" monitor (60.96cm for readers who live in the EU) with its 1920x1200 resolution shows 30x more pixels than the small smart phone with its 320x240 screen. Your strategy should allow for as much reuse as possible. Here are the current options as seen through my personal bias:
  • HTML: To be correct you would need to state: HTML, CSS, JavaScript and DOM. With the raise of Ajax (Sometimes available technologies "just" need a name to become popular) this seems to be the predominant direction most enterprise developers are taking. Supported by frameworks like Dojo, Prototype, JQuery and others creating rich interaction became way simpler. IBM settled on the Dojo toolkit for all their products, so learning Dojo is a worthwhile investment. Luckily by now here is rich documentation both online and offline available.
    The base line for this approach is support for IE6 which severely limits the platform. If you don't use any of the toolkits you are also hampered by little incompatibilities between the browsers (Quirx mode anyone). Further challenges are (not complete): the lack of local storage other than cookies, no native media capabilities and no uniform extension model. Clearly a legacy platform. This highlights a big dilemma for "thin clients": The browser available on the workstation does matter and the idea of "everything on the server" stays a pipe dream. While all you need to develop in HTML is gEdit (notepad if you are on Windows), you want to use a powerful IDE and a strong debugger
     
  • HTML5: This includes CSS3 and a host of new capabilities like <canvas> or <video>. The most prominent representative of HTML5 execution environment is WebKit, the engine powering Konqueror, Safari, Chrome and others. Webkit is also used in iPhone, iPod/Pad, Android and Nokia's Symbian S60 platforms. So WebKit is well positioned for both mobile and PC space. Firefox and Opera also support HTML5. HTML5 provides local storage which let Google to abandon their own toolkit for that (Google Gears). Notably absent from full support for HTML5 is Microsoft's Internet Explorer 8.
    HTML5 is still a very young standard, so some implementation hiccups can be expected (just check for video support) across browsers. Using the same toolkits as mentioned above, you have a save strategy going forward. What HTML5 currently doesn't resolve is cross domain aggregation, this stays a server side task. IBM has committed to HTML5 (not only) as part of Project Vulcan. IBM also spend quite some effort to design a style guide (called IBM OneUI) to ease design decisions for developers. What HTML and HTML5 don't define is the communication between individual modules. Here independent specifications like iWidgets (Part of OpenSocial) need to fill that gap

Read More

16/02/2010

Netgear support hell reloaded - Part 3 - Salvation

Netgear's local support was incredible helpful (Thx Andrew Tan). It turned out the motherboard is fried and one of the disk behaves "interesting". The WD green drives look good on paper, but not so much online. Anyway Andrew was so kind to loan me a spare Netgear unit, so I could resync the faulty drive
Read More

15/02/2010

Boys and their toys VI

It is a public holiday here in Singapore, so I can catch up with blog reading while the gentlemen are busy to collect hong bao (red packets). The Mobile World Congress in Barcelona is on with a lot of new toys:
Samsung I8520 Halo (Picture from Heise)
The Samsung I8520 Halo running on Android with an integrated projector

Sony Ericsson X10pro
Sony Ericsson X10/X10pro

More coverage at Heise (German), Engadget and elsewhere

11/02/2010

GTD in Singapore (or close by if you like)

I love GTD. I'm a happy user of eProductivity (currently not so happy with myself, but that's a different story for a different day). Over time I got introduced to David and his team. In a recent conversation with Michael Dolan, the Director Coaching Services in DavidCo, he mentioned that DavidCo is planning to dispatch a coach to visit Singapore in the near future to serve an existing client. This presents the unique opportunity to engage DavidCo in a Corporate Seminar, get top quality Consulting and personal Workflow Coaching. Indicate your interest by contacting DavidCo.
As preparation I strongly recommend to read the book and try eProductivity.

11/02/2010

Augmeted (Hyper)reality - brain still needed?

Amazing visualisation of hyper reality. Something to look forward to or to be scared of. It's in the eye of the beholder.

Augmented (hyper)Reality: Domestic Robocop from Keiichi Matsuda on Vimeo.

Via TheNextWeb

10/02/2010

24000 times a year

What is your setting for "Check eMail every x minutes"?

Closely linked to


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