Presentation is loading. Please wait.

Presentation is loading. Please wait.

Conveying Information to Users. Outline Types of information in GridChem Inconsistency = confusion Appropriate UI for different information types Examples.

Similar presentations


Presentation on theme: "Conveying Information to Users. Outline Types of information in GridChem Inconsistency = confusion Appropriate UI for different information types Examples."— Presentation transcript:

1 Conveying Information to Users

2 Outline Types of information in GridChem Inconsistency = confusion Appropriate UI for different information types Examples Game plan

3 Types of Information in GridChem GridChem has several different types of information. Some of it the user needs to see. Some of it the user might not need to see, but may want to see. Some of it the user doesn’t need to see.

4 Types of Information in GridChem Necessary information –Mostly generated by critical failures job submission failed account expiration project quota exceeded connection with the server broken file not found

5 Types of Information in GridChem Helpful information –Mostly generated by successes and GUI problems Cannot perform a requested action at the given time while another action is still running. bad username/password login successful file successfully retrieved invalid job description tool tips

6 Types of Information in GridChem Mostly unnecessary information –Stuff that’s nice for developers, but will only confuse most people stack traces trace statements verbose output xml serializations etc.

7 Inconsistency = Confusion In the WS and production clients, we make heavy use of System.out.println(), System.err.println() and Trace.note(). –Trace prints everything to the command line, so essentially we are writing everyting to System.out and System.err. –At different times, we print messages to the main GridChem panel. –Occasionally we pop up a message box which may arbitrarily show a warning, error, or simply convey some information.

8 Inconsistency = Confusion This is CONFUSING and adheres to the single most annoying feature of GUI design: popup windows

9 Inconsistency = Confusion We need to do a better job of presenting information to our users. The way in which we present that information must be structured, consistent, and intuitive.

10 Appropriate UIs Popups –only for critical messages when no other avenue is appropriate Progress Bar –for temporal tasks –should present all information conveyed to the user during this task Log files –contain all “excessive” information Panel dialog labels –for all info that is generally “nice to have” ie. success, etc.

11 Examples Progress bar example Dialog box examples Logging example Status label example

12 Examples Progress bar example

13 Examples Dialog box examples

14 Examples Logging examples (log4j) –open source, widely accepted logging utility –provides 4 levels of debugging output: ERROR: print error messages WARN: print error and warning messages DEBUG: print debug, warn, and error messages INFO: print everything

15 Examples Logging (cont) –Registering a class with the logger. public static Logger log = Logger.getLogger(SubmitJob.class.getName()); –Logging an error try { … } catch (Exception e) { log.error(e); log.error(object,e); log.error(object); } * where object is a custom string message, for example.

16 Examples Logging (cont.) –Logging a warning try { … } catch (Exception e) { log.warn(object,e); log.warn(object); } * where object is a custom string message, for example.

17 Examples Logging (cont.) –Logging a debug message public void someClass() { … if ( isTrue() ) { // do something } else { log.debug(object,e); log.debug(object); } … } * where object is a custom string message, for example.

18 Examples Logging (cont.) –Logging an informative message public void someClass() { … if ( isTrue() ) { // do something log.info(object,e); log.info(object); } else { log.debug(object,e); log.debug(object); } … } * where object is a custom string message, for example.

19 Examples Logging (cont.) –Output would then look like this (taken from GMS_WS logs) 2006-08-21 11:52:28,944 INFO gms.GMSResource [ServiceThread-34,loadVO:408] Project comm_dooley_8_friendly_user_period successfully loaded for user dooley(11335357) 2006-08-21 11:52:29,035 INFO credential.Credential [ServiceThread-34,getMyproxyDelegation:252] Retrieving credential from myproxy. 2006-08-21 11:52:30,239 INFO credential.Credential [ServiceThread-34,readCGIResponse:419] read server reply: User ccguser obtained X509 credential good for 480 hours 2006-08-21 11:52:30,240 INFO credential.Credential [ServiceThread-34,stageRemoteCredential:332] Successfully staged credential on CGI server. 2006-08-21 11:52:30,240 INFO gms.GMSResource [ServiceThread-34,loadVO:414] Credentials successfully loaded for user dooley(11335357) 2006-08-21 11:52:30,241 INFO gms.GMSResource [ServiceThread-34,loadVO:420] Preferences successfully loaded for user dooley(11335357) 2006-08-21 11:52:30,668 INFO gms.GMSResource [ServiceThread-34,loadVO:430] VO successfully loaded for dooley(11335357) 2006-08-21 11:52:40,047 INFO file.FileManager [ServiceThread-34, :88] User dooley has permission to access gsiftp://mss.ncsa.uiuc.edu//u/ac/ccguser/internal/dooley/dooley_proj/default_test.ccg-login.ncsa.uiuc.edu.10891.20060815/default_test.out 2006-08-21 11:52:42,127 INFO file.FileManager [CopyFileThread,run:259] Retrieving file /u/ac/ccguser/internal/dooley/dooley_proj/default_test.ccg-login.ncsa.uiuc.edu.10891.20060815/default_test.out to temporary storage Mon Aug 21 11:52:42 CDT 2006 2006-08-21 11:52:45,800 ERROR gms.GMSResource [ServiceThread-34,retrieveJobOutput:832] org.gridchem.service.gms.exceptions.FileManagementException: Copy operation failed. File not present on local disk.

20 Examples Panel dialog label example –Used to guide the user through complex operations –Non-intrusive show/view dialog box serve as a textual progress display provide tips as to the next step. ties into the help tool use with job submission, job management, file creation, etc.


Download ppt "Conveying Information to Users. Outline Types of information in GridChem Inconsistency = confusion Appropriate UI for different information types Examples."

Similar presentations


Ads by Google