Table of Contents | All Slides | Link List | Examples | CSCI E-12 Building a Website April 1, 2009 Harvard University Division of Continuing Education Extension School Course Website: http://cscie12.dce.harvard.edu/ Copyright 1998-2008 David P. Heitmeyer Instructor email: [email protected]Course staff email: [email protected]Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html 1 of 76 4/1/2009 9:12 AM
76
Embed
Building a Website - cscie12.dce.harvard.edu › lecture_notes › 2009 › 20090401-1.pdf · 4/1/2009 · Building a Website: Resources Web Style Guide, 3rd ed. by Lynch and Horton.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Table of Contents | All Slides | Link List | Examples | CSCI E-12
Building a WebsiteApril 1, 2009
Harvard UniversityDivision of Continuing Education
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
1 of 76 4/1/2009 9:12 AM
Building a Website
Nine Pillars of Successful Web Teams by JesseJames Garrett
User Research1.Site Strategy2.Technology Strategy3.Content Strategy4.Abstract Design5.Technology Implementation6.Content Production7.Concrete Design8.Project Management9.
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
2 of 76 4/1/2009 9:12 AM
Building a Website: Resources
Web Style Guide, 3rd ed. by Lynch and Horton.Book and online.
Visual Design for the Modern Web by Penny McIntire.Available online through Harvard Library - Safari
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
3 of 76 4/1/2009 9:12 AM
UsabilityJakob Nielsen's useit.com and his Alertbox Column
Usability 101: Introduction to UsabilityTop Ten Mistakes of Web Design
User Interface Engineering (UIE)
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
4 of 76 4/1/2009 9:12 AM
StrategyAudience and GoalsContentOrganization
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
5 of 76 4/1/2009 9:12 AM
Goals and Audience(s)
Why and Who
Most sites get a variety of usersSome audiences will be "primary", others "secondary"What are the target audience(s) and what are their information needs?
Most sites will have multiple audiences.
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
6 of 76 4/1/2009 9:12 AM
Michigan State UniversityWhat audiences can be identified?
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
7 of 76 4/1/2009 9:12 AM
AudienceWho are they?
demographicscomputer experience and technology profile
What are their goals?their information needstasks/actions they are performing
Know Your Audience
Be clear on who you are building for. Anticipate their needs.User testing, market research, focus groups.Jakob Nielsen's Alertbox: Why You Only Need to Test with 5 UsersFeedback from users - Watch what users do, not what they say.Alertbox: First Rule of Usability? Don't Listen to UsersAs target audiences increase, difficulty of Web design increases.
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
9 of 76 4/1/2009 9:12 AM
ContentWhat content already exists in other media types (brochures, pamphlets, statements, etc.).
Adapt it for the WebWhat content would be good to develop for the site?
Does it fit purpose of site?Does it suit the audience?Would people find this useful?
Define incremental goals to avoid "scope creep".Initial PhaseAdditional Phases
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
10 of 76 4/1/2009 9:12 AM
Organization of ContentFrom Information Architecture for the World Wide Web (also available through Harvard Library Safari):
information architecture defined:
The combination of organization, labeling, and navigation schemes within an information system.1.The structural design of an information space to facilitate task completion and intuitive access to content.2.The art and science of structuring and classifying web sites and intranets to help people find andmanage information.
3.
An emerging discipline and community of practice focused on bringing principles of design andarchitecture to the digital landscape.
4.
Organize, Label, Navigate
Organize and CategorizeLabelNavigate
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
11 of 76 4/1/2009 9:12 AM
Organize and Label
Organize
Sticky-notes, index cards, whiteboardPlan for future growth
Label
Know your audienceTest your labels (ask your audience)
Where can I get a driver for my HP8500N?What would expect to find in the category of Synergetic Integrated Scalable Enterprise Solutions?What IT degree programs are available?
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
12 of 76 4/1/2009 9:12 AM
Categories and Labels from News SitesCNN
Fox News
ABC News MSNBC CBS NPR BBC
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
13 of 76 4/1/2009 9:12 AM
Law of the Internet User Experience
Jakob's Law of the Internet User Experience:
Users spend most of their time onother sites.
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
14 of 76 4/1/2009 9:12 AM
OrganizationHierarchical
Sequential
Webs
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
15 of 76 4/1/2009 9:12 AM
Hierarchical
Library of Congress Classification
"Q" - Science"QC" - Physics
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
16 of 76 4/1/2009 9:12 AM
Open Directory Project
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
17 of 76 4/1/2009 9:12 AM
Yahoo! Categories
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
18 of 76 4/1/2009 9:12 AM
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
19 of 76 4/1/2009 9:12 AM
Taxonomy and FolksonomyTaxonomy
The science, laws, or principles of classification; systematics.Division into ordered groups or categories.
Folksonomy"Bottom-up" classification system that emerges from social tagging.A user-generated taxonomy.
CSCI E-12 tag cloud in Delicious:
Taxonomy in Amazon (for "Web Design in a Nutshell"):
Folksonomy in Amazon
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
20 of 76 4/1/2009 9:12 AM
Ontology is Overrated: Categories, Links, and Tags by Clay Shirkey
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
21 of 76 4/1/2009 9:12 AM
Too deep or too shallow?
Deep Shallow
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
22 of 76 4/1/2009 9:12 AM
Sequential
When order is important or part of presentation.
Useful when "workflow" is important in web applications.
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
23 of 76 4/1/2009 9:12 AM
WebsWikipedia.com
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
24 of 76 4/1/2009 9:12 AM
Site ArchitectureTopicsAudienceTask-OrientedSearchInternal Organization
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
25 of 76 4/1/2009 9:12 AM
Michigan State
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
26 of 76 4/1/2009 9:12 AM
IBM
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
27 of 76 4/1/2009 9:12 AM
Hewlett Packard
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
28 of 76 4/1/2009 9:12 AM
Harvard Extension School
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
29 of 76 4/1/2009 9:12 AM
Site ArchitectureCritical to site's successPrecede any design/visual elementsWork from paper or text-based Web sites
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
30 of 76 4/1/2009 9:12 AM
Navigation SystemsWhere am I?Where can I go?
What is close by?What is further away?
Where have I been?
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
31 of 76 4/1/2009 9:12 AM
Main Sections Current Page and Section More within Current Section
Harvard College
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
32 of 76 4/1/2009 9:12 AM
Global NavigationAppears on every inner page.
Quicklinks
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
33 of 76 4/1/2009 9:12 AM
Breadcrumb Navigation"Just wait, Gretel, until the moon rises, and then we shall see the crumbs of bread which I havestrewn about, they will show us our way home again.", Hansel in Hansel and Gretel
Breadcrumb Navigation Increasingly Useful, Jakob Nielsen's Alertbox, April 10, 2007.
DMOZ
Harvard Summer School
Construction Projects at FAS, Harvard University
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
34 of 76 4/1/2009 9:12 AM
Clamshell navigation
O'Reilly Safari Harvard College
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
35 of 76 4/1/2009 9:12 AM
Creating Links
Build confidence by making your links predictable and differentiable.
Pay attention to the scent of the site's links.
Links within navigation and content must be:
PredictableAm I getting 'closer' to my goal?DifferentiableWhat is the difference between clicking here or clicking there?
When creating links:
Be descriptiveUse "title" attribute to elaborateLink several words or a phrase, not just one or two words
Don't lie
Your links should have scent, and on a related note, your site should suck.
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
36 of 76 4/1/2009 9:12 AM
Use "title" attributeTitle attribute can add information so that the link is more predictable and able to be differentiated from others.
Example 9.1Example 9.1 Source:
view plain print ?
<p><a href="http://www.president.harvard.edu/speeches/faust/070917_morningprayers.html" title="Text of talk given by President Drew Gilpin Faust at Morning P
1.
President Drew Gilpin Faust spoke</a> at <a href="http://www.memorialchurch.harvard.edu/services/morningprayers.shtml" title="Morning Prayers at The Memorial Church of Harvard University" shape
2.
prayers</a> on September 17, 2007.</p> 3.
Example 9.1 Rendered:
President Drew Gilpin Faust spoke at morning prayers on September 17, 2007.
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
37 of 76 4/1/2009 9:12 AM
Deep LinkingLink directly to content within a site.Support deep linking to your site.
URLs that do not change
Alertbox: Deep Linking is Good Linking
Deep linking:
Register for Harvard Summer School so you can take CSCI S-1, "Great Ideas in Computer Science with Java".
<p> 1. <a href="http://www.summer.harvard.edu/2009/register/default.jsp"> 2. Register for Harvard Summer School</a> so you can take 3. <a href="http://www.summer.harvard.edu/2009/courses/31441.jsp"> 4. CSCI S-1, "Great Ideas in Computer Science with Java" 5. </a>. 6.</p> 7.
Not deep linking:
<p> 1. <a href="http://www.summer.harvard.edu/"> 2. Register for Harvard Summer School 3. </a> so you can take 4. <a href="http://www.summer.harvard.edu/2009/courses/"> 5. CSCI S-1, "Great Ideas in Computer Science with Java" 6. </a>. 7.</p> 8.
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
38 of 76 4/1/2009 9:12 AM
Example from Logan Airport (BOS)Example from Boston's Logan Airport site:
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
39 of 76 4/1/2009 9:12 AM
Example from Mass RMVTo renew your registration, visit http://www.mass.gov/rmv
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
40 of 76 4/1/2009 9:12 AM
Losing the Scent
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
41 of 76 4/1/2009 9:12 AM
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
42 of 76 4/1/2009 9:12 AM
Please don't "Click Here"Example from Boston's Logan Airport site:
Sometimes you can "Click Here" to Elicit an Action
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
43 of 76 4/1/2009 9:12 AM
Every Page NeedsTitle that "stands on its own"Creator (person or institution)Creation or Revision or Reviewed dateLink to home pagePossibly
URL of the pageLink to Privacy Statement, Terms of UseCopyright Statement
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
44 of 76 4/1/2009 9:12 AM
Importance of a Good TitleBrowser
BookmarksHistoryWindow Title
Search Engine results
Bookmarks
Window Title
History
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
45 of 76 4/1/2009 9:12 AM
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
46 of 76 4/1/2009 9:12 AM
Search Enginestitlemeta descriptionmeta keywords
<head> 1. <title>Harvard College Admissions Office</title> 2. <meta name="keywords" content="harvard admissions, 3. harvard college admissions, harvard admissions office, 4. harvard college admissions office, 5. harvard undergraduate admissions, 6. harvard undergrad admissions, 7. harvard undergraduate admissions office, 8. visiting harvard, visiting harvard university, 9. harvard university admissions, 10. harvard university undergraduate admissions, 11. harvard college, travel to harvard" /> 12. <meta name="description" content="The main website for the 13. Harvard College Admissions Office which oversees 14. undergraduate admissions for Harvard University." /> 15.</head> 16.
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
47 of 76 4/1/2009 9:12 AM
Visual Design
LogoTitleNavigationContent
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
48 of 76 4/1/2009 9:12 AM
Creating Content
People scan Web content. Content designed for print publications will need to be made Web-friendly:
Information needs to be "chunked"For existing print content, reduce word count by 50%Use bullet lists, subheadingsAdd appropriate hyperlinksProvide print-friendly CSS or print-friendly versions for certain documents
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
50 of 76 4/1/2009 9:12 AM
Design "Above the Fold"Check your pages for several window sizes:
800 × 6001024 × 7681280 × 1024
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
51 of 76 4/1/2009 9:12 AM
Below the FoldAbove the fold:
Below the fold:
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
52 of 76 4/1/2009 9:12 AM
Page Design: Fixed or Variable Width?Printing: 560 pixels for fixed widthReading: about the sameAvoid horizontal scrollingVariable width does not waste space, but may make text lines too long.
CNN - fixed width
W3C - flexible width
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
53 of 76 4/1/2009 9:12 AM
Page WeightTake advantage of client-side caching: re-use URLs for CSS, images, javascript throughout the side.
Decide on per page kilobyte budget which reflects your audience.
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
54 of 76 4/1/2009 9:12 AM
Download TimesA web page has a "page weight" (XHTML + CSS + images + JS + Flash + ...) of 184kb. How long does thistake to download?
184 kb = 184kb × 1024 bytes/kb × 8 bits/byte = 1,507,328 bits For a 56K modem: 1,507,328 bits / 56,000 bits/s = 26.9 s
HTTP Requests. A look at the HTTP requests needed to render www.extension.harvard.edu
Download Time Calculator
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
55 of 76 4/1/2009 9:12 AM
Graph of download times:
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
56 of 76 4/1/2009 9:12 AM
URLs as UIFile structure should resemble site organization.For some users, your URL can also function as a user-interface. (Alertbox: URL as UI)
Keep to less than 72 characters so that it doesn't "wrap" in an email or when printed.Often "advertised" or "published" URLs will be short and easy to remember. These URLs can beredirected to the true resource via Apache Redirect or Rewrite directivesOr use an URL shortener like bit.ly or TinyURL.com
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
57 of 76 4/1/2009 9:12 AM
Homepage is often a Different Beast
Boeing
Harvard College
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
58 of 76 4/1/2009 9:12 AM
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
59 of 76 4/1/2009 9:12 AM
Reassuring Users with "Inukshuk" ContentFrom User Interface Engineering: Reassuring Users with Inukshuk Content
Carleton
Harvard College
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
60 of 76 4/1/2009 9:12 AM
Examples of Website EvolutionThe Internet Archive Wayback Machine
Examples
Southwest AirlinesThe BBCCommonwealth of MassachusettsBoston.comUniversity of MichiganInternal Revenue ServiceThe White House
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
61 of 76 4/1/2009 9:12 AM
Wrap-up of JavaScript and ObjectsMenusObjects
FlashAppletsSilverlight
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
62 of 76 4/1/2009 9:12 AM
Dropdown MenusHarvardScience: Science and Engineering at Harvard University
Amazon.com
"Mega" Dropdown Menus
Jakob Nielsen's Alertbox, March 23, 2009: Mega Drop-Down Navigation Menus Work Well
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
63 of 76 4/1/2009 9:12 AM
The White House
Food Network
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
64 of 76 4/1/2009 9:12 AM
Dropdown Menus
The basics are:
Make the first list "inline"Hide the secondary listsUse the CSS ":hover" pseudo-class to change secondary list display property
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
68 of 76 4/1/2009 9:12 AM
Some details for Opera and IE6For Opera, we need a few additional styles.
For IE6, we need JavaScript since the CSS "hover" pseudo-class is not supported for all elements.
See: A List Apart: Suckerfish Dropdowns
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
69 of 76 4/1/2009 9:12 AM
Dropdown menus inspired by SuckerfishSon of Suckerfish Dropdowns
Well now they're back and they're more accessible, even lighter in weight (just 12 lines of JavaScript),have greater compatibility (they now work in Opera and Safari without a hack in sight) and can havemultiple-levels.
Superfish
Superfish is an enhanced Suckerfish-style menu jQuery plugin that takes an existing pure CSSdrop-down menu (so it degrades gracefully without JavaScript) and adds the followingmuch-sought-after enhancements.
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
70 of 76 4/1/2009 9:12 AM
Adobe SWF and Flash and FlexFlash Player is the browser pluginSWF is file formatAuthoring tools: Flash and FlexActionScript is the proprietary scripting language (based on JavaScript)
Video
Charts
Webkinz
MLB Gameday
ESPN Gamecast
Flash Earth
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
71 of 76 4/1/2009 9:12 AM
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
72 of 76 4/1/2009 9:12 AM
Example Flash with XML/SWF ChartsXML/SWF ChartsCharts SWF is providedYou provide the data in an XML format
Files involved:
chart-object.htmlcharts.swfdata.xml
A closer look
Markup (note use of "object" with nested "embed"):
Building a Website http://localhost:8080/cocoon/projects/cscie12/slides/20090401/handout.html
74 of 76 4/1/2009 9:12 AM
Use "swfobject.js" to include SWF filesswfobject SWFObject is an easy-to-use and standards-friendly method to embed Flash content, whichutilizes one small JavaScript fileExample of Chart using SWFObject
view plain print ?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">