Oracle ergonomics for online
Oracle Database Tips by Donald Burleson
The term "ergonomics" refers to the quality of the end-user
interface. The goals of online screen ergonomics are
No matter how elegant the internal database may be, a failure at the
presentation layer can doom your application project.
The converse is also true. The term "putting lipstick on a pig" refers to
taking a poor database design and making it look stunning on the front-end.
the end of the day, it's end front-end and the usability of the application that
people see, and it's critical to the success of any custom development project.
Most Oracle professionals understand the technical mechanisms of Oracle tools
such as SQL*Forms, HTML-DB and JDeveloper to write applications but many are not
aware of the rules of ergonomics. Even simple things like tab
placement make a huge difference in screen usability:
Fundamental of screen ergonomics
When we talk about end-user interface quality, the yardstick for quality is
all about efficiency. An interface must be efficient to operate,
delivering data with no unnecessary input. It's amazing how poorly online
screens are designed today, and we need only look at web application to see
examples of poor interactivity:
- Unnecessary data entry
- Instead of choosing your state from a pull-down windows, and entering your
town name, why not just enter your Zip code?
- Mixing mouse and keyboard
- Most efficient online screen in Oracle are either mouse-centric or
keyboard centric. Nothing slows-down interaction more than having to
stop keying, grab the mouse, and then go back to the keyboard. Mixing
access methods can slow-down interaction by over 100%, a real problem for
screens that are used thousands of times per day.
Bad ergonomics are called "annoyances", and there are even books
dedicated to workarounds for poor online screen design.
Winner of the world worst web site award
Some screens are re-used millions of time per day (eBay screens get 20 billion
uses per day) and even the tiniest efficiency improvement goes right into labor
Avoid the mouse trap
Using dropdowns with AJAX
its servers, which send back formatted responses.
This transfer is done using the
XMLHttpRequest object, also called AJAX.
Using dynamic select:
The 90-day wonder
When online screens are used by thousands of people everyday, the Oracle
application must optimize the interaction and allow the end-user to complete
their task with a minimum amount of work.
In this example we see how a simple improvement in the end user interface
saves our customers 90 days of time. Let's assume that I have an
online Oracle "shopping cart" application where I process two transactions
per second. Each end-user must choose the state name from a drop-down,
and then type-in the town name and zip code. Assume that this takes 50
seconds. However, a better design that only solicited zip code (and
automatically fills-in town and state) only takes 5 seconds.
the sub-optimal interface only wastes 45 seconds for each transaction, but
at two transactions per second, we have 172k transactions per day:
transactions per minute
7,200 transaction per hour
172,800 transactions per day
When we computer the total lost time
(45 sec. each), we have lost 90 full days productivity:
things add-up and our goal is to design our end-user layer to maximize
productivity via ease-of-use. Let's take a closer look.
Help screen design
A properly designed help system should be
Leveraging full-functional dependency for
Screen designers understand the power of using
full-functional dependencies to reduce end-user work and improve
productivity. Here is a classic example of a poorly-designed Oracle
interface. Assume that the database requires the city/town name, the
State and the Zip Code. If you take the time to load the
cross-reference tables to gather the town and state for a given zip code,
you same the end-user tremendous work.
Wrong approach #1 - Choose a State name with a mouse
Wrong approach #2 - Choose a State name from a drop-down
proper interface is to use zip code only. We see lots of examples of
zip-code driven applications. Knowing the zip code gives us useful
information (town name, state name, longitude & latitude) allows the savvy
interface developer to derive important information on behalf of the
Using Google, we see this super-efficient application interface where we
only enter the zip code and the string "movies".
derives all movies with a geographical radius and display them quickly.
Note that the Google
movie search displays within a geographical distance and you can change the
movie sort options by movie rating or movie title:
As we see,
understanding that location, city and state are fully-functionally dependent
on zip code can greatly improve the end-user interface. We also see
similar issues for other data entry, especially data entry.
Calendar Ergonomics for Oracle Applications
Applications that accept date are also problematic. For a screen
where the end-user must use the keyboard to enter characters, grabbing the
mouse to click-off a date is a huge waste:
Repetitive strain injury
The carpal tunnel injury is classified as a "repetitive stress" injury,
common in people who spend all-day in front of a online screen interface.
All correct lone screens should have these characteristics:
- Mouse friendly areas (drag & drop, radio
buttons, check boxes)
- Keyboard friendly areas
- Auto-fill interfaces with Oracle
- Pop-up box
When we talk about end-user interface quality, the
yardstick for quality is all about efficiency. An interface must be
efficient to operate, delivering data with no unnecessary input.
American's with Disabilities Act (ADA) - The web is
a ?place of public accommodation?.
The Web Accessibility Initiative (WAI) - WAI is an
international group that has published guidelines for web content, web
authoring and web usability.
Rehabilitation Act Section 508 - Section 508 is
important to any company that develops Oracle systems for use by US
Government bodies, and many analysts believe that Section 508 may soon
expand in scope to cover non-Government systems.
Tips for blind screen design:
Provide an Access Instruction Page for Visitors
(include email hyperlink for visitors to communicate problems with
web page accessibility)
Provide support for text browsers
Attach "Alt" tags to graphic images so that
screen-readers can identify the graphic
Hyperlink photographs with descriptive text "D"
Caption all audio and video clips by using "CC"
Provide alternative mechanisms for on-line
forms (such as email or voice/TTY phone numbers)
Avoid access barriers such as the posting of
documents in PDF, table, newspaper or frame format or requiring
visitors to download software.
Help screen design:
All system help should be both intuitive
and intelligent, anticipating and actions of the end-user:
Help functions should be intuitive
If you like Oracle tuning, see the book "Oracle
Tuning: The Definitive Reference", with 950 pages of tuning tips and
You can buy it direct from the publisher for 30%-off and get
instant access to the code depot of Oracle tuning scripts.