wissel.net

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

Modernizing Notes applications - lessons from the trenches


Not only since mobile first became fashionable corporations are trying to ditch the Lotus IBM Notes client - for various reasons.
These efforts were branded "modernization", "web enablement", "mobile enablement" or if a competitor had a word "migration". Initially there was hope that this would be a short, painless and automated process (the upgrades, not the migrations that is). But reality taught a few facts that you need to consider:
  • A Rich Client is based on RichText, a browser client on HTML. There is no 1:1 mapping (otherwise one format would be superfluous), only some approximation (just ask Ben about it). Much more: there is no 1:1 mapping of the event models and APIs. So any automation would lead to incredible hacks
  • The Notes client's and Domino server's LotusScript runtimes are, while dated, incredibly robust and forgiving. The amount of OMG code I've seen in Notes applications (including my own ) tops any other platform.
    Still that code gets the job done and out of the way. However that doesn't translate into another language in an automated fashion, but rather demands the repayment of quite some technical debt
  • Code that gets a client with one user huffing and puffing can't simply be expected to run for hundreds or thousands of users on a single server
  • Users expect web (and mobile) applications to be fresh and modern. If Jack Sparrow couldn't find the fountain of youth, how can an automated tool do that?
    This is a clear conflict of interest between the users ("shall be modern and fresh") and the ones paying for it ("make it work in a browser, fast & cheap") - a classic for Why enterprise software sucks
    John D. Head clearly outlines expectations and possibilities for modern user interfaces. Teamstudio provides a nice set of modern mobile controls (that even work offline for a fee)
  • The amount of Notes applications mostly get underestimated greatly. Use a scientific method to create evidence
So damn if you don't, damn if you do? Not quite. In an approach Peter calls Asymmetric Modernization you step back from the tree to see the forest. Instead of looking the usual Notes way "application-by-application", see the sum of the applications and wipe them out, all of them modernize them all in one go (it is called economy of scale).
Nathan and Peter share a video, the modernization of the nifty-fifty, a recent case study and the service offering. Go check them out.
The biggest issue I see with this approach is the usual cautious stand in IT today:"let us do one (insignificant) application first and see how it goes. Then we linearly extrapolate and get scared" That is the total opposite of Asymmetric Modernization, so it will require clever persuasion to get a project approved.
As usual YMMV

Read more

| Posted by on 2013-05-09 04:47 | Comments (0) | categories: XPages | Share

CRM > Sales Tracking


IBM is ditching Siebel CRM in favour of SugarCRM. Cloud based CRM was made popular by SalesForce while Zoho wants a share of the pie too.
All to often CRM offers or is used as sales force automation tool, which it is not (only). But what makes a good CRM? It needs to provide access to anything that relates to a customer. Doh - that's what the name claims.
Wide view of customer relationship management
In larger organisations CRM typically is understood very narrowly as sales tracking tool, the broader definition as outlined above gets covered by a combination of Portal on the front (a.k.a glass level) and master data management (MDM). Smaller organisations don't have that luxury. There an integrated system makes most sense.
Now guess on what platform those have been built. A little selection (in no specific order and not complete): As usual YMMV

| Posted by on 2013-05-05 09:13 | Comments (0) | categories: Singapore | Share

Dear SingTel, please fix your routing performance!


Slashdot asked for the latency to their site, so I ran a few tests with pretty consistent results in the 250ms range. Slashdot labels that as "still stuck on dialup or in space". Their expectations for overseas users was 80 to 150ms. Puzzled by the result (local websites typically respond in the sub 2ms range), I used traceroute to get to the bottom of this. Here are the results:
Hop IP DNS Name Packet 1 Packet 2 Packet 3 AVG Delta
1 192.168.1.1 router 0.3730 0.5390 0.3200 0.4107

 

2 202.166.123.170 (202.166.123.170) 5.9160 4.8020 4.7630 5.1603

 

3 202.166.123.169 (202.166.123.169) 2.7000 2.6150 2.8210 2.7120 -47.45%
4 202.166.121.101 (202.166.121.101) 3.7700 2.8390 2.5490 3.0527 12.56%
5 202.166.120.186 (ae6-0.singha.singnet.com.sg) 2.8160 7.1180 3.6210 4.5183 48.01%
6 202.166.126.41 (ae5-0.beck.singnet.com.sg) 29.7140 3.1530 2.9850 11.9507 164.49%
7 203.208.190.130 (203.208.190.130) 6.1800 3.6980 3.0630 4.3137 -63.90%
8 203.208.182.153 (ge-4-0-6-0.sngc3-cr2.ix.singtel.com) 3.0040

 

 

 

 

 

203.208.151.177 (ge-0-1-7-0.sngtp-dr1.ix.singtel.com)

 

3.9300 2.9730 3.3023 -23.44%
9 203.208.171.186 (203.208.171.186) 180.7350

 

 

 

 

 

203.208.153.162 (203.208.153.162)

 

193.0680 192.9220 188.9083 5620.45%
10 203.208.171.154 (203.208.171.154) 185.7070

 

 

 

 

 

203.208.171.158 (203.208.171.158)

 

189.3080 189.1780 188.0643 -0.45%
11 67.17.192.141 (67.17.192.141) 185.5320 181.1660 181.5870 182.7617 -2.82%
12 64.208.27.50 (savvis-1.ar4.SJC2.gblx.net) 192.5370 185.9260 185.3730 187.9453 2.84%
13 206.28.98.117 (cr2-te-0-5-0-1.sfo.savvis.net) 185.3240 201.3570 202.9370 196.5393 4.57%
14 204.70.196.246 (cr2-tengig-0-7-0-0.chicago.savvis.net) 239.1180 234.3400 234.1810 235.8797 20.02%
15 204.70.195.122 (hr2-tengigabitethernet-12-1.elkgrovech3.savvis.net) 228.7670 240.4970 240.9600 236.7413 0.37%
16 64.37.207.158 (das5-v3032.ch3.savvis.net) 240.7050 244.1670 243.6270 242.8330 2.57%
17 64.27.160.194 (64.27.160.194) 240.7910 264.4990 253.7380 253.0093 4.19%
18 216.34.181.45 (slashdot.org) 235.7960 242.7860 242.3070 240.2963 -5.02%

Checking for the hosts that created that 5000% jump in latency it turns out, they are SingTel's:
stw@box:~$ whois 203.208.171.186
% [whois.apnic.net node-3]
% Whois data copyright terms    http://www.apnic.net/db/dbcopyright.html

inetnum:        203.208.171.128 - 203.208.171.191
netname:        SINGTEL-IX-AP
descr:          Singapore Telecommunications Pte Ltd
descr:          31C Exeter Road, Comcenter III
descr:          Unit #06-06
descr:          Singapore 239734
country:        SG
admin-c:        SAK3-AP
tech-c:         SAK3-AP
status:         ASSIGNED NON-PORTABLE
notify:         shanali@singtel.com
mnt-by:         MAINT-SINGTEL-IX
changed:        shanali@singtel.com 20070615
source:         APNIC

stw@box:~$ whois 203.208.153.162
% [whois.apnic.net node-5]
% Whois data copyright terms    http://www.apnic.net/db/dbcopyright.html

inetnum:        203.208.153.128 - 203.208.153.191
netname:        SINGTEL-IX-AP
descr:          Singapore Telecommunications Pte Ltd
descr:          31C Exeter Road, Comcenter III
descr:          Unit #06-06
descr:          Singapore 239734
country:        SG
admin-c:        SAK3-AP
tech-c:         SAK3-AP
status:         ASSIGNED NON-PORTABLE
notify:         shanali@singtel.com
mnt-by:         MAINT-SINGTEL-IX
changed:        shanali@singtel.com 20070615
source:         APNIC

Looks very much like an underperforming switch/router/filter. SingTel, please fix that!

| Posted by on 2013-04-25 10:01 | Comments (0) | categories: Buying Broadband | Share

A more actionable Connections UI


IBM Connections is a two headed beast: on one hand it is a set of rich APIs offering different services (Status, Blogs, Wiki, Text, Activities etc) on the other it provides a set of UIs on top of this APIs. Yes, not one, but a set: Browser, Android, iShiny™ and IBM Notes. I'm a big fan of the APIs. After all they stand for IBM's commitment to open standards and are build with XML, REST, ATOM and ActivityStreams compliant to the OpenSocial specifications.
I'm not so sure about the UIs, especially the browser UI. While it is fiercely backward compatible in its browser support, it doesn't take advantage of modern browser capabilities (a all to common Catch 22: the general expectation is software to be bleeding edge but to work on all runtimes. Only slowly the idea takes hold "work on all runtimes" doesn't necessarily mean "is the same" and software embraces graceful degradation instead of the least common denominator. We might see that in Connections some time in the future too.
Anyway, the API concept allows you to create your own UI without running foul of breaking the existing application. So I doodled around with my favourite mockup tool how I would enhance the existing UI:
A better Sharebox
Following the concept of progressive disclosure the entry box in the status update could be used to create any type of entry. It is quite paradoxical, that now I need to decide where (Status, Blog, Wiki, Activity etc.) to say something before I can say it. The what and where need to be more independent. By providing a single entry box this is absolutely possible.

Read more

| Posted by on 2013-04-19 04:11 | Comments (0) | categories: IBM Connections Lotus Connections | Share

Planning applications (XPages MindMap)


In a recent XPages workshop in Kuala Lumpur, the class brainstormed on the planning process for an XPages application. This is what we came up with. For every item on the list one could elaborate quite a bit, but putting that on the map would make it rather messy.
Planning XPages MindMap
Enjoy

| Posted by on 2013-04-18 11:44 | Comments (a) | categories: XPages | Share

Is SharePoint a Failed Vision for Collaboration?


Rich Blank (of Jive software) makes a case on CMSWire to consider SharePoint a failure for collaboration. Looking closely it isn't SharePoint to fault.
SharePoint with its place concept and flat views is a 1:1 conceptual copy of Lotus Notes implemented with a (then) current Microsoft technology stack. Thus it does have the potential for successful collaboration, as the (then) success of Lotus Notes clearly showed.
With the right effort of adoption any collaborative technology can be successful, be it shared folders (like Dropbox), Lotus Notes, SharePoint, LinkedIn, Jammer or Connections. It is an too common pattern: failure of collaboration gets attributed to the platform, to avoid the necessity to wake up to the fact that the core reason of failure is lack of skills, vision, execution and adoption.
Of course, and I'm certainly biased here, a more people than place/document centric approach makes adoption and collaboration more efficient, effective and pleasant (read: usable), so SharePoint would need to fuse with Yammer and Skype to get there. This still doesn't negate the need to drive adoption.
The collaboration space has still way to go. With all the tools around we celebrate information scatter for the sake of "social collaboration". A key success factor for eMail was "everything in one place (the inbox) at my disposal". The modern collaborative tools (I'm not fond of the term social, since in my part of the world it still has a different meaning) are wanting in place and control. Activity streams (as the transport protocol) seem most promising, since they are open, don't reinvent the wheels (after all they are HTTP and ATOM) and can be contributed/digested in any programming language.
Nevertheless the UIs offered are to consumption and not enough action oriented. Embedded experiences are a step to remedy that, but I still can't act on the stream, only on some of the information that flows by. So there's way to go to make this collaboration effective, efficient and pleasant. Be it Jammer, SharePoint, IBM Notes or IBM Connections (or any of the nice players).

| Posted by on 2013-04-14 03:48 | Comments (2) | categories: Software | Share

Round-Trip editing experience in web browsers


Our applications are increasingly moving to http(s) based interfaces, that is HTML(5) or apps. Besides the irony, that we abandon client applications on desktops to reintroduce them on mobile devices (is ObjectiveC the VB of the 21st century?), that's a good thing
However from time to time, unless you live in the cloud, we need to integrate into extisting standing desktop applications, mostly but not limited to Office applications. The emerging standard for this is clearly CMIS. Most office packages do support CMIS in one way or the other today. However it does not integrate into file managers like Finder, Explorer or Nautilus (at least not to my best knowledge at time of writing). One could sidestep that shortcoming by using CmisSync, but that only works as long as you have enough local storage and corporate security lets you do so.
Another challenge to sort out: once applications that "surround" Office documents are all HTML based, one should be able to commence editing directly from clicking something in the web based business application. So the criteria are:
  1. Ability to interact with documents using File-Open in applications (ironically the ODMA standard got that working more than 15 years ago, but died due to vendor negligence)
  2. Ability to interact with documents using the default file navigator (Finder, Nautilus, Explorer, mobile devices)
  3. Ability to have a full roundtrip editing experience in the browser. A user clicks on a button or link (or icon), the document opens, editing commences. When hitting the save button the original document is updated, so when someone else clicks on that link the latest updates can be seen there
Once you want to support non-Windows platforms (and work in multiple browsers) ActiveX (the approach Microsoft choose) is ruled out. Enter webDAV. It covers #1 and #2, with some difficulties to a point that the commercial package for webDAV on IBM platforms (Connections, Domino, Quickr) doesn't support Explorer on Windows 7, a flaw it coincidentally shares with a much older package, but not with the current project.
The challenge for #3: Whenever a browser encounters an URL with http(s) it will try to handle that target. If the mime type is not directly handled by the browser it will trigger the download of the file and hand it over to the application (with or without a dialog, depending on your settings). When the user then interacts with that document, it is the downloaded version in a temp directory. Changes are not send back!
On the other hand: if a user opens a file directly in the office application by selecting a webfolder, a mounted file system or directly specifying the URL, then roundtrip editing happens since the office applications check the URL for webDAV capabilities (I had some fun with Apache's TCPMon figuring that out).
The solution for this puzzle is to use a different protocol. Protocols are simply indicators for the operating system what application is in charge. The commonly known are http(s), ftp, ssh, mailto (and gopher for the old generation), but also notes or sap (and others).
For my approach I used webdav(s) as protocol name. On Windows protocols live in the registry, on other operating system in configuration files.
Once configured correctly a little helper application would pick up the webdav(s) URL from the browser, check for the default application and launch it with the URL converted to http(s) on the command line - and voila roundtrip editing happens (check out the project).
Of course some stuff needs handling: the office application doesn't share credentials with the browser, so SSO or other means need to be in place to ensure smooth user experience. Also MS-Office not only probes for webDAV capability of that URL, but also if that server behaves like SharePoint by probing an extra URL (some enlightenment what it is looking for would be nice).
On Linux (and probably OS/X) one doesn't need a C++ program to figure out the right application, a shell script does the trick.

Read more

| Posted by on 2013-03-28 09:52 | Comments (0) | categories: Software Linux | Share

System Administrator's Mantra


All that can be automated is inherently boring
All that is inherently boring will slip my attention
All that slips my attention will lead to trouble
Sooner or later the trouble will catch with me
I therefore vow to fight the beast of boredom
With skills and scripts and automation
To spend time with and for what really matters

You, my user!

| Posted by on 2013-03-28 09:31 | Comments (0) | categories: Software | Share