IBM®
Skip to main content
    Country/region select      Terms of use
 
 
   
     Home      Products      Services & solutions      Support & downloads      My account     

developerWorks  >  Lotus  >  Forums & community  >  Best Practice Makes Perfect

Best Practice Makes Perfect

A collaboration with Domino developers about how to do it and how to get it right in Domino

High standardsWe're collecting ideas here for Lotusphere presentations. I submitted six; we'll see what makes it through the approval process.

One of my proposed topics is, what every good Notes application should have. If it doesn't get approved, or maybe even if it does, I think I'll write an article or just blog about the specific items.

Here's my current list, off the top of my head; please chime in if I've missed something or if you think any of these is not worth the effort. I'm not saying that it's not worth creating an application if you don't have time to do all this stuff, but it's a list of features one should strongly consider. I'm not looking for suggestions for optimizing performance. What I want is a list of things to consider including in the user requirements.

  • F1 help that's specific to the screen you're in at the time (users should not have to see the "How to fill in a form" help screen).
  • Field help.
  • Alt text on images.
  • A sensible selection of default view design for new views and folders.
  • Personal default values using a personal profile document (the application remembers what the user entered in "Department" last time they filled in this form, and uses that as the default).
  • Tie-ins to other applications to avoid users having to enter data which is already known somewhere else.
  • A way to either resolve or prevent replication/save conflicts. Might be a tool for users, such as I blogged about recently, or turning on locking, or some sort of automated resolution, depending on the application.
  • Configuration screen for setting keyword lists, etcetera, using a profile document.
  • Error trapping and logging in all LotusScript and Java code; testing for errors in all formulas that might conceivably have one. Link to OpenLog project.
  • A way for users to easily report a problem with the application, which goes to someone whose responsibility it is to do something about it. A centralized support database would be ideal.
  • Combining the above two: all unexpected errors should result in the automatic generation of a trouble report to the centralized support database.
  • Assisted creation of local replicas, or if local replicas are not supported for this app, something to prevent their use.
  • Personalized views, preferably implemented in a way that does not require private views (e.g. using an embedded single-category view or @SetViewInfo).
  • Application-specific search assistant dialog.
  • (with version 8.0) The application should be enabled for participation in composite applications, with a sensible set of simple actions and properties.
  • ...?
I'm aware that these are not all easy to do, but if we're agreed on their value, I'll see what I can do to make them easier.

I suppose there should be a whole other list for web applications, but I don't develop those much so I don't know what they are.

  • Search field.
  • Javascript validations where possible, or at least display all validation messages at once rather than forcing multiple submissions to correct all errors.
  • ...?
Other things I wanted to talk about, are handy reusable UI bits that are useful in lots of applications, that people should keep in mind to see whether they can use. Things such as:
  • Table editing, one row at a time, in a dialog.
  • The list reordering dialog I blogged about previously.
  • Editing history footer in a form.
  • Progress bar for long-running tasks.
  • "Paste a database link" button that turns a doc/view/db link into server and filepath, in case you have a form where user needs to select a database.
  • Formula to convert a field containing a key value from another document, into a link to that document.
  • The "Don't show this message again" dialog (displays an informational message with a checkbox to let users skip the message in future). This should of course be accompanied by a "re-enable all messages" action somewhere.
  • On-demand reports using rich text and the ReportGenerator class, such as I blogged about previously.

Andre Guirard | 8 August 2007 09:05:11 AM ET | Caribou Coffee, Minneapolis, MN, USA | Comments (8)

Search this blog 

Disclaimer 

    About IBM Privacy Contact