Monday, April 28, 2008

Unobtrusive JavaScript...You Should Totally Do This

In my JavaScript session at last year's version of LotusDeveloper (an excellent conference, by the should go), I discussed the concept of unobtrusive javascript and showed several examples. Just as CSS was a blessing to us as we started to shift to the mindset of separating presentation from content (not so hard for us Notes folks really!), so is unobtrusive javascript the next stage of evolution. It's about separating behavior from content. If we can take out all the formatting junk from our HTML, can't we take all the javascript out as well? The answer is a resounding "yes" and it's a great ideal to strive for.

I haven't talked a whole lot about web design subjects here, since I thought the niche of focusing on the Notes client was more important, but this is a subject that I might just tackle more in future installments. In the meantime, there are a lot of good resources out there to bring you up to speed on the concept. I'm not really sure if this practice has caught on in the Domino world, or even how prevalent it really is in the broader world of web design, but it's a technique that I've found has a lot of merit.

To get you started, here's a nice little example. It's very simple, but walks you through the process of making a page of unobtrusive script. Check it out and see what you think. I'm interested if it will change the way you approach your code.

The Phantom Agony orchestration, keyboards, a little Cookie Monster, soaring choir vocals, a beautiful mezzo-soprano, metal guitars. Life is good. :-)

Thursday, April 24, 2008

Spreading A Little Lotus Notes Love

Besides Lotus Notes, the other software product I'm most passionate about is MindManager from Mindjet. I've talked about it a little in the past on this blog, but for those unfamiliar with this product, it is an tool for creating mind maps on your computer rather than with paper, pens, crayons, etc. It has a UI that is as simple to use as paper, but with very powerful features that provide results you couldn't expect to achieve in the analog realm. I just upgraded to the new version the other day (thanks, Gaelen!) and you can expect a full review coming soon. The short take is that MindManager 7 rocked my world, especially with the new Ribbon UI.

I was recently featured in Mindjet's Customer Vignette section and wanted to point out that even when talking about another product, I'm spreading the Notes love. Not only did I mention using the Lotus Notes client in one of the interview questions, but I also gave them my Notes URL mind map as a sample of how I use MindManager.

Ah...Lotus Notes and MindManager...two great tastes that taste great together. :-)

Sunday, April 20, 2008

Simulating Fieldset and Legend In The Notes Client

You may have noticed that the signal-to-noise ratio of UI posts on this blog has been rather low the last few months. This is, unfortunately, a bi-product of my current job at IBM. While I'm cranking away on a development project, the ideas are coming fast and furious. When I'm not, it's much harder to come up with ideas. It's really the fact that solving a business problem spurs creativity, while actively trying to come up with new ideas as you stare at a blank page doesn't result in much useful stuff to share. I don't really create applications in this new gig, thus no great interface revelations. I do know that I really miss it, however, and I expect I'll find a way back. In the meantime, I am trying to squeeze in the occasional work on some personal projects, but my free time to do this seems to be ever shrinking. Please stick around, because I do have some ideas to share as soon as I can get around to fleshing them out. I've actually got several draft posts partially done, so it's just a matter of getting away from the wife, kids, horses, chores, work, et. al and doing it! ;-). That said, here's a cool tip but one that is simple favorite kind!

In the HTML world, a Fieldset allows you to group thematically related fields on a form together with a visual line bordering them to denote their relationship. In addition, you can use the Legend tag to give the Fieldset a title. These tags serve two purposes in that they visually show the relationship between the items and they make the form more accessible. Here's an example:

Of course you could get more fancy with CSS, styling both the Fieldset and the Legend.

So...a pretty simple construct, but I think you can see it's usefulness. Great...that's fine for the web, but how do we do it in the Notes client? Actually, there are a whole bunch of ways to accomplish this using standard Notes dev techniques. The two I've found most useful for my purposes are to either create a graphic for my Fieldset and Legend so that they look exactly like I want them to OR use a...wait for it...wait for it...LAYER! :-)

Let's look at the graphic approach first. In your favorite graphic editing program, create the top of the Fieldset with the Legend. Make sure to match the color of the border and text with the visual theme of your form. You should get something that looks like this:

Now go to Domino Designer and create a table that will serve as your Fieldset. Paste the graphic into the first row of the table (you might need to merge cells first) or paste it directly above the table (I'll do that for this example). In order to make everything line up, first size the table so that it matches the width of your Fieldset graphic. Then, turn OFF the top border of the table. Finally, set the Picture properties of the Fieldset graphic so that the Text Wrap is "Don't wrap, align bottom". This will drop the graphic so it fits snugly against the table, appearing to complete the border and giving you a Fieldset with a Label.

If you like using layers like I do, then you'll find that they are an even easier way to add a simulated Fieldset to your form. To do this, you simply need to create a new layer and position it on the top line of your table so that it looks like a Fieldset. This allows for easier maintenance as well, since if you want to change the label, you simply type the new value in the layer. You can also resize it, change the color, etc.

There are other ways to approach this idea as well. Daniel Soares suggested creating an inner table within an outer table. The inner table would take care of the formatting for your field elements and the outer table, which would be a single cell, would contain a background image. This background image would be the entire Fieldset border. You could make some fancy effects with this one.

If I did a poor job explaining this or if you'd just like to explore it in more detail, I've put a Notes client database out there for you to download. There is a single form in the db that shows examples of each of these techniques and you can deconstruct them to see how they are put together.

Monday, April 14, 2008

Let's Help Kick Cancer To The Curb

A few months back, a little site called Planet Lotus appeared and took us all by storm. If you follow Lotus blogs at all, you know about it already, and if you're like many of us, you probably visit it first thing in the morning or several times throughout the day to see what the Lotus Community is up to. Well the incredibly cool guy behind Planet Lotus is also one hell of a dad and is doing something to help his son and indeed society in general. So, please, if you are a fan of Planet Lotus, head on over to and do what you can to help Yancy's cause. guys rock!

Free Meeting And Web Conferencing Service

Hi, everybody...Hi, Doctor Nick! (Whoops...another out of place Simpsons reference there)

Bruce was looking for a web conferencing service today and although I got to him too late, I wanted to share a cool alternative for those of you looking for a "personal" web meeting space.

The service is called Dimdim and it's billed as "the world's free web meeting where you can share your desktop, show slides, collaborate, chat, talk and broadcast via webcam with absolutely no download required for attendees." Pretty cool stuff.

Of course, I still think Lotus Sametime and Sametime Unyte are THE tools for true business web conferencing and unified communications, but if you are looking for a no-cost service that will work great for your personal needs, go ahead and check out Dimdim.

I mean, come on...they get points in my book just for a cool name! :-)

Friday, April 11, 2008

Get The Best Of Lotusphere While In Your Pajamas!

Besides being a snappy dresser, Lotusphere Comes To You is so nice, it's taken time out of it's busy schedule to make life easy for you. Why leave the comfort of your easy chair when you can get a private showing while still wearing your jammies? For details, see below. This public service message is brought to you from the fine folks at is hosting Lotusphere Comes to You Online. This is an
online event series featuring updated presentations from Lotusphere 2008
and even one or two new sessions. Designed to bring anyone who couldn't get
to Orlando the critical information and the excitement they missed, this
series will help you get more from your existing IT investment and boost
collaboration across your enterprise.

The first of the series is:

Lotus Notes and Domino — The Road Ahead
Presenter: Ed Brill, Business Unit Executive, WW Lotus Notes/Domino Sales

How do we top Lotus Notes and Domino 8? Learn about the roadmap for 2008
and beyond, giving you a glimpse into planned innovations for upcoming
releases, intended to reduce the cost of managing and storing your email,
offer additional deployment options, and drive continued optimization of
employee productivity. We'll describe important initiatives designed to
reduce the costs of running Lotus Domino in many areas including security,
identity management, directory openness, storage reduction, administration,
quality of service, 64 bit support and web application server. You should
leave this session with a clear understanding of the Lotus Notes and Domino
strategy and future roadmap, to help you plan future deployments.

April 28, 2008
IBM Lotus Sametime Strategy and Roadmap: The Future of Unified
Communications and Collaboration
Presented by: Dave Marshak

May 12, 2008
The Business Value of Web 2.0 and Enterprise Portal Solutions
Presented by: Jon Raslawski

May 19, 2008
IBM Lotus Connections and Mashups
Presented by: Suzanne Minassian and Nicole Carrier

May 26, 2008
IBM Lotus Domino Designer
Presented by: Maureen Leland

June 23, 2008
Desktop of the Future
Presented by: Ed Brill and/or Alan Lepofsky

All the Lotusphere Comes To You Online sessions are free but require pre-registration. Sign up for as many as you like. You have to be a member, but membership is free.

Thursday, April 03, 2008

Easily Lookup Books From Amazon At Your Local Library

I occasionally like to share some of the productivity hacks I use. This is one of them.

If you're a book lover, it's likely that you have overflowing shelves of books at home (yes, Tom...this means you! ;-). I decided a few years ago to pare down on my actual book buying and try to utilize the local library more often. Even so, I find myself on Amazon quite a bit (either via a blog link, a suggestion from a friend or just to see what's new). If I find something of interest but I'm not sure I want to purchase it, I'll check if it's available in the library catalog. Being a tech and productivity geek, I don't want to waste time having to lookup these books again. Fortunately, I don't have to. I've got The LibraryLookup Project bookmarklets for the two library systems in my area readily handy in my toolbar. When I find a book I like on Amazon, I simply select the bookmarklet and another window opens, displaying the book in the library catalog (if they have it).

Click to embiggen

If you're interested in the technical aspect of the bookmarklet, it uses regular expressions to retrieve the ISBN from the Amazon page and opens a new browser window to your library's online catalog system, passing the ISBN to the lookup form via the URL. The LibraryLookup Bookmark Generator allows you to set the base URL for your library system and determines how to construct the URL based on the software vendor that the library uses (hint: you can usually find this by going to the library online's generally listed on the page somewhere).

Invoking the bookmarklet is a simple process and allows me to do my library browsing from the comfort of home, all while utilizing the Amazon UI, which is really much nicer than the library's own software.

It's a great should check it out.

Wednesday, April 02, 2008

Movie Quotes...I Have A Theory

Sometimes, when my mind is on overload, I really enjoy the fact that driving lets me pause and get some good thinking done. Often, I come up with my best ideas in this way (and huzzah to Jott for allowing me to capture these so easily). Today, however, my mind was so blotto (translate: fried, frazzled, ready to blow), that I was just daydreaming. And on the way home from taking my son to drum practice, I hit upon this amazing, and most likely completely correct (;-) theory.

The question at hand: "Why do guys always quote movie lines?". Now except in strange instances, this is purely a guys' domain. Usually, but not always, it drives the girls crazy. Not a good crazy, mind you (like when I do my Antonio Banderas impression), but crazy, crazy. But I think I know why we do this. This skill, like many of our lovable traits, hearkens back to our hunter roots. Early man needed to be a proficient hunter in order to survive, and one aspect of this proficiency was the ability to mimic animal sounds. Sometimes it was the lusty moans of a mate. Other times it was the cry of an injured animal meant to lure the hunter's prey. In any case, a skilled hunter was well-versed in the ways of mimicry. This adaptation, long encoded into our DNA through natural selection and survival of the fittest, still manifests itself today in modern man. And that, my friends, is why guys quote movies.

Ah...that's some good thinking for the day. :-)