Web: Staying Up-To-Date - Ian Graham's Personal Web Site
Download
Report
Transcript Web: Staying Up-To-Date - Ian Graham's Personal Web Site
Web Application Design
Ian Graham
UofT
http://www.utoronto.ca/ian/
Groveware http://www.groveware.com/
Overview
Definition of Web applications
Examples, and options
Issues for design
Technical
Human
Design steps
Examples of design
What is a Web Application?
Pages as interfaces to back-end
databases
Pages generated from back-end data
Focus is on the first of these:
Complex, rich interfaces
Significant programmatic content beneath
(and controlled by) the pages
Web Application Options
Simple applications
Limited functionality (e.g. search tool)
Full-fledged applications
Full-featured (word processor, document
management, etc.)
Middle-level applications
Web-based interaction and management
Simple Applications
Examples
Search a catalog, database
Send a note, or message -- WebForums
First-Generation Web Applications
Simple to use, easy to implement (example1)
Use minimal set of Web technologies
Limited, specific functionality
Full-Fledged Applications
Complex Client-Server Applications
Workflow, document management,
collaboration; complex applications
Problems/Issues
Difficult to customize/adapt
Clunkiness of Web technology
Hard to build easy-to-use interfaces (Java…)
Middle-Tier Applications
Task-specific applications
More complex interfaces, with multiple
pages, perhaps some scripting
Web-based administration, management
Still only perform a limited set of functions
We will be looking at applications of this type
Design Process Questions
User Profiles
Who are the users?
Regular, or infrequent users? Sophisticated?
Task Analysis for Processes
What are the required tasks
Break down into Web-style flowcharts
Security and Access Control
Establish requirements, priorities
Relation to Web Design
Very similar sets of issues
Focus here is on largely dynamic content,
with Web-based control
Management tools are different
Probably Web-based, and integrated within the
Web application
Interfaces more complex, function-driven
Importance of navigation, clear design is
the same in both
Design Principles
Simplicity
Keep interfaces as simple as possible
Functionality
Make sure function of page, or functions
available on a page, are obvious
Uniformity
Use the same design elements
Design Principles (cont.)
Minimalist
Only show functions that are relevant
Navigation
Provide clear, well defined navigation within
and between functions
Helpful
Explain mistakes, or how to do things
User-Centric Design
Design for Users
Understand their needs, requirements
Understand their knowledge, abilities
Infrequent users -- simpler designs
Frequent users -- more complex
designs, tools
Design Process
Step 1 -- user requirements
Step 2 -- transform requirements into
specifications
Step 3a -- Design of software
requirements
Step 3b -- Web interface prototyping and
testing
Design Process (2)
Step 4 -- Design core components of
application
Step 5 -- Usability testing
Step 6 -- Implement all components
Step 7 -- More user testing, tuning -prepare documentation
Design Process (3)
Step 8 -- Release! Is it finished?
Step 9 -- Ongoing support and training
Step 10 -- Ongoing maintenance and
error analysis
Campus Main Event
Web-based list of campus events
Design criteria
Intuitive use by infrequent, non-expert users
Bookmarkable “views” of events
Web-based posting and event management
Security and access control for management
functions
Viewing Events
Calendar and list views
“printable” formats for some views
click to navigate between different views
Simple select boxes to define criteria for
events being viewed
(example2, example3, example4, example5, example6)
Calendar Views Interfaces
Simple Interface
Function buttons to the left
“Special” functions on top
Title clearly displayed
Intuitive navigation embedded in the views
(change week, go to specific event, etc.)
User-centric Aspects
Usability tested with real users
Features based on feedback
Print-format views
Bookmarkable reference for future use
Administrative Functions
Require User Authentication
Previous pages show ways to login
Authentication reveals additional functions,
areas of the system, depending on user’s
permissions.
Page laid out to distinguish these new
areas of functionality
Structural Layout
Page-related structure
“Areas” denoted by tab bars
“Generic” functions at top of page
“Area-specific” functions in left-hand button
bar
“Page-specific” functions embedded in page
Management Functions
List Tasks and Task Functions
List “management” areas
List “functions” in this management area
Other functions in page content (reuse icons)
Design Implementation
Selecting “management” area changes the
list of “functions.”
(example9, example10)
Function Implementation
Natural starting, stopping places
Often loops, or recursion
Want to guide the user on each step
Provide help where appropriate
Check for, handle and comment on errors
that occur in user input.
Input convenient to user, not software
Functional Implementation
(example11, example12, example13, example14, example15)
Loop returns to starting location
Reflects changes that have been done
Confirms that changes took place
Pages with errors are reproduced with
descriptions of problems.
Always is a link to cancel the function
modify
errors
start
input
accept, or cancel
Confirm
Page Design and Layout
This Example
TABLEs to define page layout
Design tries to be accessible
Image buttons have ALT text
FORMs are structured to be tab-navigated
HTML 4 has special attributes to control tab
access sequences and key bindings.
Page Design -- Software
No FRAMEs used
Limits accessibility to visually impaired
hard to navigate
breaks up functional components
FRAMEs are, however, useful in
applications, as they let you place
different functional components in
different frames.
Local Programmability
Limited use of JavaScript
Dynamic validation of input
Popup windows; multiple display windows
Use limited by user base
Need consistent deployed script support
Older browsers present problems
Summary
Simple designs/complex applications
Define task to perform before starting
Design constrained by technical limitations
determined by user community
Further constrained by users
User profiles
User requirements (defined by application)
Web Application Design
Ian Graham
http://www.utoronto.ca/ian/
http://www.groveware.com/
[email protected]