52
for Web Applications

Designing and Developing Windowed Interfaces for Web Apps

Embed Size (px)

DESCRIPTION

Learn to design and code rich, desktop caliber application interfaces for your web applications.

Citation preview

Page 1: Designing and Developing Windowed Interfaces for Web Apps

for Web Applications

Page 2: Designing and Developing Windowed Interfaces for Web Apps

Steve SmithHi, I’m

http://sidebarcreative.comhttp://orderedlist.com@orderedlist

Page 3: Designing and Developing Windowed Interfaces for Web Apps

Windowed Interface?What is a

Page 4: Designing and Developing Windowed Interfaces for Web Apps
Page 5: Designing and Developing Windowed Interfaces for Web Apps

Advantages• Important interface elements are always in

sight and available

• Allows for independent scrolling of various content sections

• Feels more like a desktop application

• Lends itself to more natural AJAX integration

Page 6: Designing and Developing Windowed Interfaces for Web Apps

Concerns• Less room for content areas because of

persistent navigation or header

• Requires fluidity in your layout

• More difficult to replicate the interaction of a desktop application

Page 7: Designing and Developing Windowed Interfaces for Web Apps

Windowed InterfaceHow to design a

Page 8: Designing and Developing Windowed Interfaces for Web Apps

Common ElementsIdentify

Page 9: Designing and Developing Windowed Interfaces for Web Apps
Page 10: Designing and Developing Windowed Interfaces for Web Apps
Page 11: Designing and Developing Windowed Interfaces for Web Apps
Page 12: Designing and Developing Windowed Interfaces for Web Apps
Page 13: Designing and Developing Windowed Interfaces for Web Apps

Keep it SimpleRemember to

Page 14: Designing and Developing Windowed Interfaces for Web Apps
Page 15: Designing and Developing Windowed Interfaces for Web Apps

Remember to Think Thin• Thin doesn’t mean small

• Take only the space necessary for each element

• The fewer items you need to show, the more breathing room you can give them, which increases usability

• Maximize the clickable area on any visually small elements

Page 16: Designing and Developing Windowed Interfaces for Web Apps
Page 17: Designing and Developing Windowed Interfaces for Web Apps

Window FlexibilityPrepare for

Page 18: Designing and Developing Windowed Interfaces for Web Apps
Page 19: Designing and Developing Windowed Interfaces for Web Apps
Page 20: Designing and Developing Windowed Interfaces for Web Apps

Cursor StylesThink about

Page 21: Designing and Developing Windowed Interfaces for Web Apps

vs.

Arrow Cursor Pointer Cursor

Page 22: Designing and Developing Windowed Interfaces for Web Apps

Fight!!!

Page 23: Designing and Developing Windowed Interfaces for Web Apps

Use the arrow pointer everywhere except on standard text links.

Suggestion:

Page 24: Designing and Developing Windowed Interfaces for Web Apps

Why alter the default behavior?• No other application except browsers use the

pointer cursor

• The arrow cursor feels more precise

• Often the click behavior only alters the current page, not loading a new one

• Don’t rely on the pointer cursor to indicate if an element is clickable

Page 25: Designing and Developing Windowed Interfaces for Web Apps

ConsistencyNotes about

Page 26: Designing and Developing Windowed Interfaces for Web Apps

Be consistent in...• Navigational treatments

• Button styles and placement

• Cursor treatments

• Graphical elements across sections

• Section width, height, and placement

Page 27: Designing and Developing Windowed Interfaces for Web Apps
Page 28: Designing and Developing Windowed Interfaces for Web Apps

Windowed InterfaceHow to develop a

Page 29: Designing and Developing Windowed Interfaces for Web Apps

Think in GroupsStart simple:

Page 30: Designing and Developing Windowed Interfaces for Web Apps

#header

#content

#secondary #main

Page 31: Designing and Developing Windowed Interfaces for Web Apps

HTML

<div id="header"> <h1>My Web Application</h1></div><div id="content"> <div id="main"> <h2>Main Content</h2> ... </div> <div id="secondary"> <h2>Secondary Content</h2> ... </div></div>

Page 32: Designing and Developing Windowed Interfaces for Web Apps

Position and StyleStart to

Page 33: Designing and Developing Windowed Interfaces for Web Apps

Style the Header

#header { height:60px; line-height:60px; width:100%; position:absolute; overflow:hidden;}

Page 34: Designing and Developing Windowed Interfaces for Web Apps

Style the Content Area

#content { position:absolute; top:60px; left:0; right:0; bottom:0;}

Page 35: Designing and Developing Windowed Interfaces for Web Apps

Style the Main Content

#main { padding:10px 15px; position:absolute; top:0; left:280px; right:0; bottom:0; overflow:auto; border-left:1px solid #717171;}

Page 36: Designing and Developing Windowed Interfaces for Web Apps

Style the Sidebar

#secondary { padding:10px 15px; position:absolute; top:0; left:0; width:250px; bottom:0; overflow:auto;}

Page 37: Designing and Developing Windowed Interfaces for Web Apps

Examine the ResultsGetting to

Page 38: Designing and Developing Windowed Interfaces for Web Apps
Page 39: Designing and Developing Windowed Interfaces for Web Apps
Page 40: Designing and Developing Windowed Interfaces for Web Apps
Page 41: Designing and Developing Windowed Interfaces for Web Apps
Page 42: Designing and Developing Windowed Interfaces for Web Apps

IE6 and CSS ExpressionsWorking with

Page 43: Designing and Developing Windowed Interfaces for Web Apps

Conditional Comments

<!--[if IE 6]><link rel="stylesheet"

href="css/ie6.css" /><![endif]-->

Page 44: Designing and Developing Windowed Interfaces for Web Apps

ie6.css: Basic Styles

html { overflow:hidden;}

body { height:100%; overflow:auto;}

Page 45: Designing and Developing Windowed Interfaces for Web Apps

ie6.css: Fix the Height

#secondary, #main {height:expression(

document.body.scrollTop + document.body.clientHeight - document.getElementById('header').offsetHeight - 20

);}

Page 46: Designing and Developing Windowed Interfaces for Web Apps

ie6.css: Fix the Width

#main { width:expression(

document.body.scrollLeft + document.body.clientWidth - document.getElementById('secondary').offsetWidth - 31

);}

Page 47: Designing and Developing Windowed Interfaces for Web Apps

Internet Explorer 6Testing in

Page 48: Designing and Developing Windowed Interfaces for Web Apps
Page 49: Designing and Developing Windowed Interfaces for Web Apps

Just the BeginingThis is

Page 50: Designing and Developing Windowed Interfaces for Web Apps

Questions?Are there any

Page 51: Designing and Developing Windowed Interfaces for Web Apps

Thank YouA sincere

Copyright © 2009 Steve Smith

Page 52: Designing and Developing Windowed Interfaces for Web Apps

for Web Applications