SnTT: Quick Follow-up To "Universal Toolbar"
It seems some folks liked my idea from last week, especially the example screenshot showing a drop down menu in this "universal toolbar" area.
I received a comment and a few e-mails asking how this was done. Well...I actually wrote this up (along with a sample database) a couple of years ago, so today's show and tell will be a cheat, as I am just going to link you over to that entry. With that, here you go. Enjoy.
SnTT: Cascading Navigation In Notes
Editor's Note: The sample database that is available for download also includes all my experiments
using layers to create cascading menus. Remember...Lotus Notes is like an onion...it's got layers! :-)
Labels: action bar, Interface, layers, Lotus Notes, UI design
permalink | leave a comment

SnTT: Add A "Universal Toolbar" To Your Lotus Notes Applications
Hey, look at that: A Show-n-Tell Thursday post. Woohoo! OK...I've got to think up a better/more descriptive name than "universal toolbar", but I'm creatively challenged today. At least I got a post out...geez. :-)
If you think about most of your applications, there are probably certain functions that are executed more than anything else. Perhaps it is a particular search mechanism, running a certain agent or navigating to a given document. Whatever the most common action is, do you make it easy for your users to get to? By easy, I mean is it always available or at least one step away? If not, you might want to consider using the universal toolbar technique. It's a simple and elegant solution for many UIs.
Here is one example. In this application, the most frequent activity is to open a particular document. There are several different parts and areas to this application, but often the user needs to quickly get to one of the core documents by the key value (in this case a part number). In a typical Notes application UI, a user would have to navigate to the view that contained the document in question, then use the "Starts with..." quick find function to jump to the document and then double-click on the document to open it. This is at least 3 steps and for a very frequently used activity, I think this is too much. Instead, my universal toolbar includes the ability for the user to enter the Part Number and open the document directly, no matter where in the application they are.



As you can see from the screenshots, it doesn't matter where the user is in the application, they always have the ability to enter the Part Number and the application will open the document. This saves the users tons of time and they love it!
To do this, I add a small frame into the application frameset. This can be positioned anywhere really, but I find it works well near the top or under the header. This frame becomes the container for your universal toolbar, which is usually a form containing the functionality you want to make available.
If you look carefully, you'll also notice I use a border caption on the universal toolbar frame so that it can be hidden if desired, freeing up that screen real estate.
Here's another example of using the universal toolbar concept in an application. In this case, I gave the users drop-down navigation. Space was at a premium in this application, so we wanted to remove any links to the left or right side of the screen.
One other way I've used this is to allow the user to quickly add new documents without opening a form.
So that's it...pretty simple but very effective. Everytime I've added this functionality to an existing application, I've received rave reviews from users and thanks for saving them time. Give it a try in your apps and let me know how it works.
Labels: Interface, Lotus Notes, Show-n-tell-thursday, UI design, User Experience
permalink | leave a comment

Is Lotus Notes Long In The Tooth?
By now, if you are a member of the Lotus community in any way, shape or form, you've probably seen the
great new press release that articulates the momentum we've been gaining (quarter after quarter) over our competitors. It's so great to see the commitment we've all made to this platform be validated in real world terms. I, for one, welcome our new
Lotus Notes overlords. ;-)
In light of all the great press and positive upswing I've seen out in the wild lately, I thought it was interesting that I had the following conversation the other day. I was at a meeting with a customer...a large financial institution. They are a long-time Lotus customer and really do a great job taking advantage of the Notes platform. After a successful meeting, I was standing out in the hall talking with one of the VPs and he said to me, "We use Lotus Notes for so many things, especially workflow applications, but they are getting pretty
long in the tooth." I was not expecting that comment, but I immediately knew what he was referring to. The thousands of applications this customer has are still providing a lot of business value, but the problem is...many of them look and feel old. In other words, the interface is what makes him think that perhaps it's time to do something new. I've been around long enough to know that this is not a new sentiment, but it's one worth shedding a little light on.
One of Lotus Notes' greatest strengths can also be its bane. With Notes, you can rapidly roll out a solution that addresses a business problem, usually faster than your colleagues that use some other technology. I've seen many of these applications continue providing great value to a company many years after they were initially deployed. The 100% backward compatibility allows these databases to keep on working version after version. This brings us to the problem of the interface, however. If an application was created in...let's say R4...that application is already over a decade old. If changes to the UI haven't been made, then of course it is going to look antiquated. Both the technology and interface conventions have changed a lot in that time and user expectations have greatly morphed in that period as well.
Here's the real truth: As developers, we no longer have the luxury of creating application that work but don't look good. You can't say "I don't do UI" any more, lest you want the Notes platform to disappear. The users of today are computer literate or at least savvy enough to know a good application experience from a bad one. The internet and Web 2.0 has established a precedent when it comes to usability and user interface design and we ignore this precedent at our own peril.
So...is Lotus Notes long in the tooth? Is it a tired platform that we need to send to the old folks home?
Of course not. The fact is, the future for Lotus Notes is brighter than it's been for a long time. It is necessary, however, to start treating it like the modern development platform it is and that means that developers need to take a look at themselves and see if they have the requisite skills to create compelling UIs and usable applications on the Notes platform. If you feel you are deficient in this area, then here's my call to action:
- Start thinking about the user interface at the very beginning of your project. You don't necessarily have to use
low-fidelity prototyping, but the interface shouldn't be an afterthought.
- Read a good book or two on interface design. I'd recommend starting with
Don't Make Me Think 
or
Designing Interfaces: Patterns for Effective Interaction Design
.
Getting Real by the guys at 37Signals is a must read.
- Make
usability testing a part of your standard development methodology. Then actually
listen to what your users have to say and make the appropriate changes.
- Sharpen your technical design skills. Learn how to use a graphics program such as Photoshop or Paint Shop Pro. Really
learn CSS and JavaScript so that your web apps can look and function like they are modern day creations.
- Stop making all your Notes apps look the same as you did 10 years ago. Yes...I'm talking to you! :-) At a minimum, begin utilizing the
User Experience Guidelines for IBM Rich Client Applications. Better than that, though, is to make clean and simple interfaces that support what your users are doing in your application...no more, no less.
I know many developers think the interface is touchy feely stuff, but the reality is that our software is judged by its looks. Lotus Notes now has a pretty face. Do your applications? If your users think that Lotus Notes is "long in the tooth", then your choice is clear...start fixing those interfaces or put them out to pasture.
Labels: Interface, Lotus Notes, Usability, User Experience
permalink | leave a comment

SnTT: Using @Abstract To Enhance A View
Have you ever wanted to spice up a view a little by adding abstract information to it? That is, to include some of the text of the document in the view itself so the user doesn't have to open it to determine if it is worth reading? This is pretty simple to do using the @Abstract formula.
@Abstract allows you to abbreviate the content of a field in a Notes document. What I find cool is that it can also work on Rich Text fields. Now, @Abstract is very powerful and can allow you to do some interesting transformations with information in a field, but for the purposes of exposing some abstract information in a view, we'll just use the simple stuff.
In order to maintain good performance in your application, you shouldn't use @Abstract in the view itself. Instead, create a new field on the form in question in order to capture the abstract information. You can then refer to this field in the view column. Let's say you want to add this functionality to a document library. Open the 'Document' form and add a new field called "BodyAbstract". This should be a computed text field. The formula for this field would be something like:
@Abstract( [TextOnly]:[TrimWhite]; 1000 ; "" ; "Body" ).
As used here, this will capture the text of the "Body" rt field, trimming out whitespace and grabbing the first 1000 characters (Check out the help file to see how you can enhance @Abstract with additional keyword parameters).
In the view, in order to allow the user to decide whether or not the abstract should be visible for a particular document, I made the "Subject" column categorized, then included the abstract in a regular column. Here's what it looks like in design mode:
And here it is in action:

Click to enlarge
@Abstract is useful for many purposes, and this simple technique exposes just one of those. I think this idea makes sense for a lot of document-based repositories and as a bonus is really easy to implement.
Labels: Interface, Lotus Notes, Show-n-tell-thursday, UI design, User Experience
permalink | leave a comment

SnTT: Cascading Navigation in Notes
Hi again. I'm often asked by fellow developers how a particular UI technique can be applied in Notes. I really enjoy the challenge of rethinking how certain design elements can be used. A few days ago, a former colleague of mine asked about creating a horizontal cascading menu for her application that mimics a lot of web applications (like the example below).
In her case, however, this was only for the Notes client. While there are probably several highly exotic ways to implement this, I opt for simplicity wherever possible. With that in mind, I let her know about the following technique, which fit her needs perfectly.
The solution: Cascading Actions. The action bar provides us with a very nice and simple way to present dynamic drop-down menus. The way I would implement this to replicate the web functionality is to create a page that is used to house the actions. Then, this page can be inserted into the frameset just below the database header. In the figure below, the area I highlighted in green shows the position of the "HomeNavBar" page in relation to the rest of the frameset.

Click for larger version...
The "HomeNavBar" page just consists of cascaded actions, with nothing else on the page (although you could add more if you wanted to).
And here is the finished product...

Click for larger version...
Now you have a static element that is always available for switching to different views, composing documents, etc. In the case of this example, I was able to do away with the common navigation on the left-side of the screen, which was essential since the views had many columns and I wanted to prevent the users from having to scroll.
The great thing about this technique besides its simplicity is the fact that it can be styled almost anyway you would like, so if your database UI standards are updated, you just have to make a quick change to the Action Bar properties in one design element. Below is a sample I whipped up stealing some icons from Yahoo! You can
download the database if you want to check it out in more detail.
Thanks for stopping by...have a great weekend!
Technorati tags:
show-n-tell thursday,
Lotus NotesLabels: action bar, Interface, Lotus Notes, UI design
permalink | leave a comment
