DelphiBasics
  Home  |  Usable design : file handling hints
 Documents
 Tutorials

 Writing your first program
 Writing your second program
 Amending this program

 Delphi data types
   Numbers
   Text (strings and chars)
   Sets and enumerations
   Arrays
   Records

 Programming logic
   Looping
   SubRoutines
   Exception handling

 Dates and times

 Files

 Pointers

 Printing text and graphics

 Object Orientation basics
   Memory leaks!
   Inheritance
   Abstraction
   Interfaces
   An example class

 References

 Standard components

 Articles

 A brief history of Delphi

 Usability : file handling

 Usability : reference books

 Author links

  Usable design : file handling hints
File handling to help users
This article covers a narrow spectrum of file handling. It illustrates how to, and how not to help users with file handling on a Microsoft? Windows platform. The principles, however, are driven by application usability principles, and are designed to illustrate the kind of details that help users, but which are often overlooked as being trivial by programmers.
 
Remember, a programmer may develop software, but never use it in ernest. Software that is subsequently hammered on a daily basis by a professional trying to get a job done. The priorities of the programmer and user are entirely different.
 

Some PC file handling irritations
The Windows PC operating systems are the result of many man years of development. They are hugely complex, yet actually do a good job of hiding most of this complexity. With the intense focus on this complexity, small user interface details appear too trivial to warrant attention.
 
However, to the end user, they become increasingly important (and irritating) over time. This article covers just a few of these relating to file handling.
 
Opening files in Word 2000

 
Each time that the open dialog is first used in Word 2000, it displays the 'My Documents' folder. There is no reason whatsoever why it cannot display the folder that you opened the last time you used Word.
 
Instead, the 'History' button has to be pressed, and the displayed list sorted into date sequence to discover your last updated files and folders. Or a tedious navigation from the root directory must be made.
 
Saving files in Word 2000

 
A number of applications only display the 'save file' icon when a file actually needs saving. Word 2000 does not even appear to indicate whether the displayed file has changed since last saved.
 

 
The above picture illustrates what some applications provide - a clickable save button when the file has changed, and an unselectable, ghosted icon when no save is needed.
 
This is a remarkably simple change to make, with a profound affect on usability.
 
What are the real file names?

 
Files are displayed in the standard Windows file handling dialogs without file name extensions. The idea is to simplify the display, and move away from the original DOS 8.3 file name format.
 
However, there are many occasions when the extension name needs to be known, or changed. The image above is of an Internet index page. But does it have an .html or .htm extension? You need to know when you are linking to this page in an html script.
 
If you rename it to 'index.html', then the file name changes from 'index' to 'index.html', and retains the original extension.
 
Most recently opened files

 
The addition of a list of most recently opened files under the file menu added much needed usability to file handling. It provides swift access to the last 4 or so files.
 
However, it does not take into account file usage. Much file work, such as college reports, and financial spreadsheets, are opened often. It only takes a few other odd file accesses to see your most used file disappear from the list.
 
What is missing is some intelligence, where a track of file access counts and times is logged for each candidate file. This is likey to be seen as overkill for the programmers, but is valuable to the end user - files only drop down the list when accessed less often or recently than other files. (Exact details of the algorithm would be determined by usability studies).
 
 
 

Delphi Basics © Neil Moffatt All rights reserved.  |  Home Page