11.6 User Perceptions

I l @ ve RuBoard

11.6 User Perceptions

In J2SE applications, all that really matters is the user's perception of performance. Giving the user the perception of faster performance does make the application perform faster. User perceptions are also important for enterprise applications, but overall throughput is equally important. Enterprise applications have to balance optimal response times for individual users against optimal total work done by the system. Some practices can slow down response times to increase the throughput of the server. If some users have higher performance requirements than others, the enterprise system should be built around multiple-priority queues, with higher-priority users or services processed before lower-priority ones.

In addition, enterprise applications need to handle communications failures and client screen display optimally. All client display technology, including browser-based technology, display some screens more effectively than others. For example, some browsers display some types of screens quicker if size tags are included in the markup, if tables are avoided, and so on. Most clients (including browsers) can be built or configured to display information before the full download is completed, which gives the perception of good performance. If your clients connect to the server with varying communications bandwidths, you need to test and design for this variety, bearing in mind that users with larger bandwidths expect to see screens display faster.

Communications failures are a fact of life for enterprise systems. Handling communications failures gracefully ”i.e., requiring the user to perform as little extra work as possible to recover his last state ”gives the impression of better performance.

As a basic guideline to good enterprise performance, 1 million requests per day, 24/7, is equivalent to 12 requests per second. The vast majority of servers receive requests unevenly around some periodic patterns. Peak traffic can be an order of magnitude higher than the average request rate. For a highly scaled popular server, ideal peak performance targets would probably consist of subsecond response times and hundreds of (e-commerce) transactions per second. These are basic guidelines to help you calculate target response times appropriate for your application. Note that Java-based Internet applications have scaled to this level of traffic, and beyond.

Here is a summary of some applicable J2SE performance guidelines as they pertain to user perceptions:

  • What really matters is the user's perception of performance.

  • Keep the application interface responsive at all times. Allow the user to abort ongoing tasks and carry on alternative tasks .

  • Long response times make a bigger impression on memory than shorter ones.

  • Try to provide the appearance of better performance.

  • Don't give users a false expectation that a task will be finished sooner than it will.

  • Use threads to separate functions that could block the user interface.

  • Anticipate user actions to precalculate results.

  • Provide any partial data for viewing as soon as possible.

  • Cache items that the user might want to reuse.

I l @ ve RuBoard

The OReilly Java Authors - JavaT Enterprise Best Practices
The OReilly Java Authors - JavaT Enterprise Best Practices
Year: 2002
Pages: 96

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net