Saturday, July 16, 2005

The Notes/Microsoft battle continues!

Look out IBM, here comes Microsoft's OzFest
(This article in The Spectator was published Friday 8th July 2005 20:48 GMT)

"Microsoft is gunning for IBM's Lotus Notes users in an effort to quadruple the size of its ISV partner community around the Office desktop productivity suite.

The company will launch a sales and marketing campaign in September that encourages 100m Notes customers to build their future collaborative software applications and services on Office and SharePoint Portal Server.

Microsoft believes it can exploit what it perceives to be uncertainty and concern among users over the future of their platform caused by IBM's newer Workplace strategy."

- - - - - - - - - - - - - - - - - - - -
Seeing is believing ...

Friday, July 15, 2005

To blog, perchance to RSS

I've been doing some research on newsfeeds in general, and RSS in particular, to be added to the next version (V5) of NotesTracker. It will provide easy and automatic generation of RSS feeds from Lotus Notes databases, based on the existing all-purpose "Breaking News" capability (described in items F and G at the bottom of the NotesTracker samples page).

In order to better understand the nature of feeds, and how they are best used, I have experimented with a range of popular stand-alone RSS aggregators such as RSS Bandit. I've a preference for the more convenient RSS feeds directly built into some Internet Explorer add-ons such as the excellent Avant Browser that I use heavily, and also built into the Mozilla Firefox browser. (Not being biased, I swap merrily between these tools depending on what I'm trying to achieve from task to task and from moment to moment.)

I've also researched a range of web sites for info about generating RSS feeds. Most of these sites (IBM developerWorks, to name one) focus exclusively on RSS aggregators and not RSS generators.

I just discovered one RSS-centric site that seems more comprehensive than the rest, and recommend it to you. Visit RSS Specifications and here's their section about creating RSS feeds

I have mixed feelings about the value of RSS feeds. Some of them are poorly set up so making them a little tricky to include in your aggregator. Then again there's the issue that it can easily become quite a chore to keep up with the feeds, and also it's debatable whether much of their content is worth reading in the first place -- which I'd label GOGI ("Garbage Out, Garbage In").

Further, there's The Myth of RSS Compatability (spelling: "compatibility"?) plus a range of other issues raised in Dylan Greene's interesting blog article 10 reasons why RSS is not ready for prime time

Thursday, July 14, 2005

What is IBM Workplace?

Maybe like me you've been working for some years with IBM Lotus collaboration products (Notes, Domino and others), and maybe also you're still trying to comprehend IBM's "Workplace" strategy.

I heartily recommend you take a peek at a new IBM Redbook that's just come out: Deploying IBM Workplace Collaboration Services on the IBM iSeries Server

Forget the fact that it's an iSeries-focused book (coming from the IBM development lab in Rochester, Minnesota). There's a nice overview in the first chapter that concisely describes:
  • What is IBM Workplace
  • What is IBM Workplace Collaboration Services
  • Workplace Collaboration Services 2.5 products
  • What is IBM Workplace Services Express
And if you're unfamiliar with the outstanding IBM iSeries architecture, there's a nice short overview of this too, including reasons for choosing the i5/OS operating system as a superior platform for the Workplace products. (Disclosure: I'm heavily biased, and consider Domino running on the iSeries as "the best of all possible worlds".)

Driving Miss Notesy?

Don't say that you weren't warned ...
http://www.asiapac.com.au/WeDriveNotesFurther.htm

Some patterns for IT architects

Just had an urge to delve a little into IT architectural stuff. There's a ton of relevant material on the Web.

For example, some key links for two of the biggest players:

Good old reliable IBM

In the mid-1980s at IBM I had a fun time for a couple of years supporting the IBM mainframe communications products.

When I recently came across the IBM Communication Controller Migration Guide fond memories came flooding back of numerous IBM hardware and software networking products. Things like SNA, SDLC (this stands for "Synchronous Data Link Communications", not "Software Development Life Cycle" ), VTAM and NCP, APPC (a.k.a LU 6.2), APPN, and many other fantastic networking products.

Five years into the 21st century, some things have changed significantly. You hardly ever hear of SNA any more, but the excellent heritage remains. The synopsis of this Redbook puts it elegantly:

- - - - - - - - - -
"IBM communication controllers have reliably carried the bulk of the world's business traffic for more than 25 years. Over the years, IBM controllers have been enhanced to the point that the functional capabilities of the current products, the 3745 Communication Controller and the 3746 Nways Multiprotocol Controller , surpass the capabilities of any other data networking equipment ever developed. Beyond the SNA architecture PU Type 4, beyond APPN, even beyond IP routing, these controllers support an extraordinary set of functions and protocols. Because of their long history and their functional richness, IBM controllers continue to play a critical role in the networks of most of the largest companies in the world.

Over the past decade, however, focus has shifted from SNA networks and applications to TCP/IP and Internet technologies. In some cases, SNA application traffic now runs over IP-based networks using technologies such as TN3270 and Data Link Switching (DLSw). In other cases, applications have been changed, or business processes reengineered, using TCP/IP rather than SNA. Consequently, for some organizations, the network traffic that traverses IBM communication controllers has declined to the point where it is in the organization’s best interest to find functional alternatives for the remaining uses of their controllers so they can consolidate and possibly eliminate controllers from their environments.

This IBM Redbook provides you with a starting point to help in your efforts to optimize your communication controller environment, whether simply consolidating them or migrating from them altogether. We discuss alternative means to provide the communication controller functions that you use or ways to eliminate the need for those functions outright. Where multiple options exist, we discuss the relative advantages and disadvantages of each."
- - - - - - - - - -

So download your copy of this Redbook today and learn something about this mainstay range of networking products.

IBM Redbooks are developed and published by IBM's International Technical Support Organization, the ITSO. All are available as free PDF downloads, and you can register on the mailing list for the Redbooks weekly newsletter and of course there are RSS feeds for IBM Redbooks.

Monday, July 04, 2005

Secret Agent? ... Software Sucks!

I just came across yet another non-specific message in Lotus Notes. Maybe if I continue my mini-crusade and mention enough of them it'll shame IBM into doing something about it.

By the way, it's not just Lotus Notes that's bugging me -- in fact, Notes is one of my very favorite bits of software! So to be fair to IBM Lotus Software I'll add some posts about other stupid designs/implementations and will put all software developers under notice (including myself).

The specified agent does not exist.



Today's little gem is "The specified agent does not exist" that appeared out of the blue when I was testing a Web app.

Well now, Mr Notes, why on earth could you not find this "specified agent"? You obviously knew its name, so why not share it with us? That way, we should know just where to start looking for this secret agent, and more rapidly fix the app!

In this case, there was no major problem but merely a misspelling of the agent's name. It was entered in the code stream as: NotesTrackerWebQueryOpen

It should have been entered as: (NotesTrackerWebQueryOpen)

So why didn't the error message come out something like this ...
The specified agent does not exist:
NotesTrackerWebQueryOpen

Even better, as something like the following (so that we know at once which of all the databases on the server the problem relates to):
An agent with the following name does not exist in database travelrequests.nsf: NotesTrackerWebQueryOpen

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

It's not just Lotus Notes that has some really awful functionality and usability shortcomings. To a greater or lesser extent, ALL software products have bugs, usability issues, points of silliness and quirkiness. It's up to the product developer to fix bugs and enhance usability with each new release, not just to pile on new features while leaving the old issues unresolved.

There are books (even series of books) and Web sites dedicated to pointing out product weaknesses, inconsistencies and absurdities. The better of them adopt a positive attitude by giving workarounds and usage tips. One of these is the classic Windows Annoyances.

The Lotus Notes Sucks site tends to give the impression that Notes is quite bad, which simply is not the case! But Notes certainly could do with a careful clean-up/workover in some ways (such as silly/misleading error messages). There are some postings by Dennis Howlett and Damien Katz along these lines, with comments adding a broad range of opinions about the matter.

Friday, June 24, 2005

Notes Error - Cannot locate field

I've just launched into another enjoyable spate of Lotus Notes design and development work, for a new customer, and my enthusiasm for Notes is on the boil again!

It has reinforced to me the enormously valuable functionality and flexibility of the basic Lotus Notes platform. Many of the features that having been available since Notes Release 3 or earlier make it ever so easy to develop really powerful workflow and collaboration applications in a flash (compared with most other application development products). It must never be forgotten that the "vintage" capabilities of Notes are still world-beating, while having been augmented by all of the other major features added over recent years.

HOWEVER ...
As with other development environments that haves been around for a while -- and Notes' 15 years is quite ancient compared with some other products -- there are parts of the Notes product that still need some cobwebs cleaned away.

I'm using Domino Designer 6.5.4, and was surprised to see another stupid error message pop up: "Notes Error - Cannot locate field" when I went to open a document. What an inane error message. (You'll find a similar comment in my earlier post: "Note Item not found".) Where were the Lotus quality controllers when this little beast escaped?

If Notes was looking [by name] for a the presence of particular field but couldn't find it, why on earth doesn't the error message clearly state the name of this field thus helping the developer to more quckly locate fix the problem in the code?

As it stands, with the message in its present form you have to either guess which was the offending field or systematically search for it out of the tens or maybe hundereds of fields in the form (and perhaps any subforms that are embedded in it).

What will IBM do about this? Well, I see that they're at last firmly reassuring everybody that the "old" Lotus Notes capabilities will last into the foreseeable future.) See "Hannover": The next release of IBM Lotus for the IBM announcement.) If there's still lots of life in Notes, then surely it's very worthwhile for IBM Lotus Software to go about ridding Notes of little "'nasties" like this one and not just focus on adding more goodies.

Wednesday, June 22, 2005

High-tech suffers from terminal seriousness

Read this article at MarketingProfs.com (you might have to create a free resistration for the site): Humor in PR: Can You Hear Me Now? at http://www.marketingprofs.com/5/klotz-guest2.asp

How about you? Are you taking your IT career too seriously? Do you ever introduce any humor into your presentations, reports, web pages, calls, web pages, blogs ... Or are all your work interactions life terminally tedious and boring?

Variety -- and humor -- are the spice of life!

Tuesday, June 21, 2005

Removing Comments from Software (a valuable tip)

Hao jiu bu jian le [pinyin Chinese, otherwise “Long time no see”].

I have been enjoying my grandson's first birthday, and also recovering from a 'flu shot (it's winter time here Down Under) and a major disk crash which eventually led me to spend several weeks rebuilding and reorganizing my main system. That's all out of the way, so now I can "get back in the blogging saddle" (with millions of blogs out there, I’m sure my absence wasn’t missed) ...

- - - - -

I've worked with many programming languages over the years (since the 1960s). I've never been a full-time developer -- because I've alwasy had lots of other duties -- but I still develop a fair bit of code as and when the need arises.

And I do try to write brief but useful comments as I go, and to change the comments as the code is maintained over time.

I just came across this valuable article at StickyMinds.com about an aspect of commenting code that is frequently overlooked: Write Sweet-Smelling Comments (by Mike Clark).

- - - - -

And still on the topic of the commenting software ...

I am one of theose "old timers" originally brought up on languages like FORTRAN and PL/I and BASIC (the original Dartmouth version, not the Visual Basic form) and COBOL and ASSEMBLER were in vogue. In those days, you wrote everything as source code "in the open" and placed your comments in that source code.

The source code was originally punched onto paper tape or cards or other inconvenient media types, you would often get only one overnight run to complile and test your program, and had to wait until the next day to wade a printout and see what had happened. Get a comma out of place, and you'd have to wait until the next night for another run. You learned to code extremely carefully and to be extremely patient! But at least all of your code was right there in front of you on the printed page, and not tucked away in obscure places.

Most assuredly I don't want to turn the clock back, but I do reckon that modern development environments in certain respects tend not to lend themselves to good coding practices including good commenting. I say this because there's usually a bunch of visual and other structures that are being developed that typically do not have any place for embedding detailed relevant comments. So maintaining modern applications can turn into a nightmare because there's no embedded commentary about the structure and behavious of these ancillary structures.

I know it from first-had experience with trying to maintain/improve such applications. Heck, I sometimes even have trouble understanding my own work after the passage of not too much time, because I had no decent way of embedding comments everywhere they were needed and so when I came back to it had trouble remembering all of the "nooks and crannies" that needed to be worked on (or at lthe very least checked again) to do proper maintenance.

Sometimes there would be design properties -- and even deeply embedded code -- lurking in dark and forgotten spots, sometimes only to be discovered by chance later on! (This might have been a non-issue if the client had been willing to pay for the many days or weeks of time needed to comprehensively document all of these things, but more often than not such detailed documentation is not budgeted for.)

Hence let me make a call to action for tools vendors all and sundry to build better commenting facilities into ALL design elements that form part of their application design and developmentproducts. This could be Lotus Notes, or Java, or .NET, or just about any other product from any vendor -- you name it!