Genii Weblog

Civility in critiquing the ideas of others is no vice. Rudeness in defending your own ideas is no virtue.

Thu 18 Dec 2003, 02:34 PM
The 2004 Lotus Awards (formerly Beacon Awards before IBM hijacked the name) finalists have been announced, and among them is spamJam, my personal favorite ant-spam software from Granite Software.  As the site says:
spamJam from Granite Software helps IBM Lotus Notes and IBM Lotus Domino users to block unwanted spam e-mail messages from cluttering their inboxes. Using spamJam, e-mail users can keep their inboxes clear of spam according to their preferences, creating their own blacklists and whitelists which allow important e-mails from customers, partners and other business associates to pass through the filter. Users can also double-check blocked e-mails to make sure that key messages have not been lost. spamJam is delivered in the native Lotus Notes or Lotus Domino interface and can be customized by users on the fly without requiring administrative intervention, sparing users hundreds of hours and saving organizations significant administrative overhead.

Congratulations to all the winners, and especially to our good friends at Granite Software!

Copyright 2003 Genii Software Ltd.

Thu 18 Dec 2003, 12:29 PM
As so often happens to me, I was answering a question (on the ND6 Gold Forum) when my answer triggered a question for me.  If you look at my answer, you will see two action hotspots.  One uses formula language and has the formula:

@URLOpen("JavaScript:alert(\'Hi!  I am a JavaScript alert called through URLOpen\')")

while the other is a JavaScript action and has the script:

alert('Hi!  I am a JavaScript alert called directly')

I would have expected that the HTML generated would be approximately the same, but for the change in the message, but here is what Domino generates for the @URLOpen call:

<a href="JavaScript:alert('Hi!  I am a JavaScript alert called through URLOpen')"><u><font color="#008000">URLOpen action</font></u></a>

and here is what it generates for the JavaScript action:

<a onclick="alert('Hi!  I am a JavaScript alert called directly')
return false;" href=""><u><font color="#008000">JavaScript action</font></u></a>

The first uses the href to contain the JavaScript, while the second uses the onclick event and sets the href to "".  

Now, having seen the results, I understand somewhat why the two would be generated differently.  What I am less clear about are the implications.  Which is "better"?  Here are a few observations which make me unsure (all observations made from IE 5.5, because that is what I am using):
  • When I mouse over the @URLOpen action, the status bar at the bottom says "Shortcut to javascript:alert('Hi!  I am a JavaScript alert called through URLOpen')", but when I mouse over the JavaScript action, the status bar says "Shortcut to 55c38d716d632d9b8525689b005ba1c0", which is really useless because it is just the view unid.
  • When I right click on the action hotspot and choose Open in New Window, which people might well do with what appears to be a link, @URLOpen opens a window, puts the "javascript:alert('Hi!  I am a JavaScript alert called through URLOpen')" in the address bar, but then actually executes the action.  Not terribly useful, but better than nothing.  When I do the same with the JavaScript action, it puts the words "about:blank" in the address bar, and doesn't execute the action.
  • While it is a minor point, the JavaScript action takes 14 characters more, even accounting for the different message and all.

So, what I want to know is, which is better?  I would have assumed the JavaScript action was better, and it does have advantages for longer scripts where the JavaScript syntax checking and such are valuable, but the considerations above make me wonder.  Are there other advantages to one or the other that I have not considered?  Are there different implications on different browsers?  Should I stop worrying about this sort of picayune detail and get real work done?  Any thoughts?

Copyright 2003 Genii Software Ltd.