SlideShare ist ein Scribd-Unternehmen logo
1 von 71
Downloaden Sie, um offline zu lesen
What makes good web design?
Richard Cornish
rich@richardcornish.com
Project: A house

  Tool: A hammer

  Goal: A home to live in
I don’t make a house
because I like the hammer.

I make a house because I
need to live in it!
Function followed form   Form followed function
Function followed form   Form followed function
From chaos ...
... came order
Project: A Web site

   Tool: Design, technology

  Goal: To sell stuff,
        To read about a game,
        To get a date

         ... to connect people
Netscape ... no, Internet Explorer!
                                 Firefox ... no, Safari!
                                 HTML ... no, XHTML!
                <img>                                                     <img />


                            Transitional ... no, Strict!
xhtml1-transitional.dtd                                               xhtml1-strict.dtd


                                 CSS 1 ... no, 2 ... no, 3!
        { text-indent }                                               { text-shadow }


                                   XML ... no, RSS ... no, ATOM!
                <?xml?>


                             Javascript ... no, AJAX!
 type=quot;text/javascriptquot;


                                    Perl ... no, PHP!
                                MySQL ... no, PostgreSQL!
                             RealAudio ... no, Podcasts!
                            Shockwave ... no, Flash!
                                  PDFs ... no, eBooks!
                                vCards ... no, hCards!

                                                                                !
                            WCAG 1.0 ... no, 2.0!
                          Ruby on Rails ... no, Sapphire on Spaceships!
                              Web 1.0 ... no, 2.0 ... no, 3.0!
             Web 1.0
Gradients
Drop shadows
Reflections
Rounded corners

                  Hello!
Big type
Bright colors

                    !
Cute icons
Star shapes
Beta
❖ Are all the links underlined? I prefer most links that’s aren’t “buttons”   ❖ For content heavy sites — does it have a well categorized archive and
    underlined.                                                                   search? Depending on the site, search should be on every page.
                                                                                  Either way, it’s good to accommodate both browsers (as in people
❖ Is there a specified a visited link state?
                                                                                  browsing a site) and searchers on content rich sites.
❖ Are buttons fully clickable? I see semi-clickible buttons all the time
                                                                              ❖ Do you have dates and authors for anything like an article or post?
    and they bug the heck outta me.
                                                                                  Something that kills me about many of blogs. I like to know when and
❖ Are fly-outs functioning properly? Easy to click? Spaced far enough              by whom when reading something.
    apart? I find these hard to use all the time, but when they’re done well
                                                                              ❖   Does the content print well?
    they don’t frustrate me though.
                                                                              ❖   Is there up-to-date and easy-to-find contact information?
❖ Are you using color for any important information? Don’t forget the
                                                                              ❖
    colorblind may have a problem with that.                                      Do you have a custom 404 page? These can be a real help.
❖ Are alt attributes specified for non-ornamental images? Do they              ❖   Do you have a working link to RSS feeds if available?
    describe the image accurately where it’s helpful to do so?                ❖   Did you check content for passive voice?
❖   Is there relevant meta information?                                       ❖   Have you checked your spelling “gotchas”? I miss these all the time.
❖   Is there a proper doctype?                                                ❖   Are links checked and working?
❖   Are there proper margins, line height and letter spacing?                 ❖   Are there any typos in images? Typos in alt attribute text?
❖   Does content maintain a good default line length and font size            ❖   Is there a copyright on every page?
    (especially for small serif fonts) for reading?
                                                                              ❖   Is there a text equivalent for any important graphical information?
❖ Are fonts relative and scalable?
                                                                              ❖   Is there a link to home (or whatever you use for home) from every
❖ Is there decent contrast for text?                                              page?
❖ Do borders give enough room to text and/or important visual                 ❖ is there generic about information or link to it from every page for
    elements?                                                                     those coming in via search engine?
❖ Is there a good use of whitespace?                                          ❖   Are PDFs and other “non-html” files labeled properly?
❖ Do headlines look like headlines? Do they make sense in relation to         ❖   Are advertisements labeled as such, or obvious as advertisements?
    the content?
                                                                              ❖   Does the design work well in 800×600?
❖ Are navigation labels straightforward and easy to understand?
                                                                              ❖   Are all forms functioning properly? Are they easy to fill out?
❖ Do the pages look good cross browser? Cross platform? Check if you
                                                                              ❖   Do error messages make sense?
    can!
                                                                              ❖   Is feedback easy for visitors to give?
❖ Is there a proper page title for each page? Hopefully relevant to the
                                                                              ❖   Does the back button always work?
    page itself and its content?
❖ Is there an “About” page? Most every site should have something!
                                                                              D. Keith Robinson
                                                                              7nights.com/asterisk/archive/2004/
                                                                                07/the-big-web-design-details-list
“   (The elements that make a successful home page
    are) anything that accomplishes the site’s
    objectives and goals.

    Really, that’s all it comes down to at the end of the
    day. I wish it were as simple as ‘The Seven Habits
    of Highly Effective Homepages,’ but no single list
    will work for every possible Web site strategy.”

                              Cameron Moll, March 2005
                              digital-web.com/articles/cameron_moll
“                                     ”
    It is purpose that drives us.
                        Agent Smith
                        The Matrix Reloaded
islostarepeat.com
fsa.usda.gov/haynet (old)
Expand when necessary
Contract when possible

 ... just like your pants
Good web
    Good design
+
Good web design
The ideas
The Web as a platform
Cooperation, not control
Collective intelligence and experience
Effective communication


The grit
Semantic markup
Separation of content and presentation
Accessibility
Usability
<table summary=quot;a unholy messquot; border=quot;0quot; cellspacing=quot;0quot; cellpadding=quot;0quot;> <tr> <td colspan=quot;9quot; width=quot;553quot; height=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot;
height=quot;1quot; width=quot;1quot; /></td> </tr> <tr> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> <td width=quot;11quot;
height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;9quot; width=quot;11quot; /></td> <td width=quot;150quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;150quot; /></td> <td
width=quot;20quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;20quot; /></td> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot;
height=quot;1quot; width=quot;1quot; /></td> <td width=quot;11quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot; height=quot;10quot;><img src=quot;images/spacer.gifquot;
alt=quot;quot; height=quot;10quot; width=quot;338quot; /></td> <td width=quot;20quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;20quot; /></td> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/
1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> </tr> <tr valign=quot;topquot;> <td width=quot;11quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td
width=quot;150quot;>This could really be done much more simply.</td> <td width=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;11quot;><img src=quot;images/
spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot;>Guess how much markup there is in this little table? 13.7k. There are 17 rows and 9 columns in this thing. And did I
mention all of the spacer GIFs?</td> <td width=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> </tr> <tr> <td width=quot;11quot; height=quot;20quot;><img src=quot;images/
spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;150quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;150quot; /></td> <td width=quot;20quot; height=quot;20quot;><img
src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;11quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot;
height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;338quot; /></td> <td width=quot;20quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> </tr> <tr>
<td colspan=quot;9quot; width=quot;553quot; height=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> </tr> <tr> <td rowspan=quot;3quot; width=quot;1quot;
background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> <td width=quot;11quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></
td> <td width=quot;150quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;150quot; /></td> <td width=quot;20quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot;
width=quot;11quot; /></td> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> <td width=quot;11quot; height=quot;10quot;><img src=quot;images/
spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;338quot; /></td> <td width=quot;20quot; height=quot;10quot;><img
src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> </
tr> <tr valign=quot;topquot;> <td width=quot;11quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;150quot;>There are way too many table cells and spacers in here.</td> <td
width=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;11quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot;>And all
of the dotted borders are done with a <code>background</code> attribute on table cells, which won't validate. <table summary=quot;listquot; width=quot;338quot; border=quot;0quot; cellspacing=quot;0quot;
cellpadding=quot;0quot;> <tr> <td width=quot;10quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;10quot; /></td> <td width=quot;328quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot;
height=quot;10quot; width=quot;328quot; /></td> </tr> <tr valign=quot;topquot;> <td width=quot;10quot;>•</td> <td width=quot;328quot;>A nested table? What for?</td> </tr> <tr> <td width=quot;10quot; height=quot;10quot;><img src=quot;images/
spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;10quot; /></td> <td width=quot;328quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;328quot; /></td> </tr> <tr valign=quot;topquot;> <td
width=quot;10quot;>•</td> <td width=quot;328quot;>To make a bulleted list? You're kidding, right?</td> </tr> </table> </td> <td width=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /
></td> </tr> <tr> <td width=quot;11quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;150quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot;
height=quot;10quot; width=quot;150quot; /></td> <td width=quot;20quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;11quot; height=quot;20quot;><img src=quot;images/spacer.gifquot;
alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;338quot; /></td> <td width=quot;20quot; height=quot;20quot;><img src=quot;images/
spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> </tr> <tr> <td colspan=quot;9quot; width=quot;553quot; height=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot;
width=quot;1quot; /></td> </tr> <tr> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> <td width=quot;11quot; height=quot;10quot;><img
src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;150quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;150quot; /></td> <td width=quot;20quot;
height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot;
width=quot;1quot; /></td> <td width=quot;11quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot;
height=quot;10quot; width=quot;338quot; /></td> <td width=quot;20quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/
1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> </tr> <tr valign=quot;topquot;> <td width=quot;11quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td
width=quot;150quot;>This could all be done with 8 table cells and 4 CSS rules.</td> <td width=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;11quot;><img
src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot;>Seriously. 8 cells and 4 css rules, that's all it takes. <table summary=quot;listquot; width=quot;338quot; border=quot;0quot;
cellspacing=quot;0quot; cellpadding=quot;0quot;> <tr> <td width=quot;10quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;10quot; /></td> <td width=quot;328quot; height=quot;10quot;><img src=quot;images/
spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;328quot; /></td> </tr> <tr valign=quot;topquot;> <td width=quot;10quot;>•</td> <td width=quot;328quot;>Oh no, another table masquerading as a bulleted list.</td> </tr> <tr>
<td width=quot;10quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;10quot; /></td> <td width=quot;328quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;328quot; /
></td> </tr> <tr valign=quot;topquot;> <td width=quot;10quot;>•</td> <td width=quot;328quot;>Just mark up your bulleted lists as bulleted lists and let CSS do the rest.</td> </tr> </table> </td> <td
width=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> </tr> <tr> <td width=quot;11quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td>
<td width=quot;150quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;150quot; /></td> <td width=quot;20quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /
></td> <td width=quot;11quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot;
width=quot;338quot; /></td> <td width=quot;20quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> </tr> <tr> <td colspan=quot;9quot; width=quot;553quot; height=quot;1quot; background=quot;images/
1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> </tr> <tr> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot;
height=quot;1quot; width=quot;1quot; /></td> <td width=quot;11quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;150quot; height=quot;10quot;><img src=quot;images/spacer.gifquot;
alt=quot;quot; height=quot;10quot; width=quot;150quot; /></td> <td width=quot;20quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/
1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> <td width=quot;11quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot;
height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;338quot; /></td> <td width=quot;20quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td
rowspan=quot;3quot; width=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> </tr> <tr valign=quot;topquot;> <td width=quot;11quot;><img src=quot;images/spacer.gifquot;
alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;150quot;>You need a rule for <table>, one for <td>, one for <ul> and one for <li>.</td> <td width=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot;
height=quot;10quot; width=quot;11quot; /></td> <td width=quot;11quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot;>That's it. Once you have those you're golden. <table
summary=quot;listquot; width=quot;338quot; border=quot;0quot; cellspacing=quot;0quot; cellpadding=quot;0quot;> <tr> <td width=quot;10quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;10quot; /></td> <td
width=quot;328quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;328quot; /></td> </tr> <tr valign=quot;topquot;> <td width=quot;10quot;>•</td> <td width=quot;328quot;>That's better than using 8
more table cells to make a fake bulleted list, which ends up being much less accessible.</td> </tr> <tr> <td width=quot;10quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot;
width=quot;10quot; /></td> <td width=quot;328quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;328quot; /></td> </tr> <tr valign=quot;topquot;> <td width=quot;10quot;>•</td> <td
width=quot;328quot;>Excellent! The last fake bullet.</td> </tr> </table> </td> <td width=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> </tr> <tr> <td width=quot;11quot;
height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;150quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;150quot; /></td> <td
width=quot;20quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;11quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td>
<td width=quot;338quot; height=quot;20quot;> </td> <td width=quot;20quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> </tr> <tr> <td colspan=quot;9quot; width=quot;553quot; height=quot;1quot;
background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> </tr> </table>
<table summary=quot;a unholy messquot; width=quot;553quot; border=quot;0quot; cellspacing=quot;0quot; cellpadding=quot;0quot;><tr valign=quot;topquot;><td>much better</td><td>Guess how much markup there is in this little table?
2.1k. There are 4 rows and 2 columns in this thing. And no spacer GIFs.</td></tr><tr valign=quot;topquot;><td>just right</td><td>And all of these dotted borders are done with CSS and are
perfectly valid.<ul><li>This is a list item now</li><li>Just the way it's supposed to be</li></ul></td></tr><tr valign=quot;topquot;><td>This is all done with 8 table cells and 4 css rules.</
td><td>Seriously. 8 cells and 4 css rules, that's all it takes.<ul><li>Hooray for bulleted lists</li><li>Why not just mark up your bulleted lists as bulleted lists and let CSS do the
rest?</li></ul></td></tr><tr valign=quot;topquot;><td>You need a rule for &lt;table&gt;, one for &lt;td&gt;, one for &lt;ul&gt; and one for &lt;li&gt;.</td><td>That's it. Once you have those
you're golden.<ul><li>I just love bulleted lists</li><li>Excellent! no more fake bullets</li></ul></td></tr></table>
Smaller files


Faster-loading pages


Less-costly bandwidth


More page views ... ?
Better screen readings


Better search engine
rankings


Easier to maintain and
redesign
Identity
speed      travel    strength   earth     halo
athletics   transit    cars      energy    cars
  nike      tube      peugeot     bp      toyota
Identity appeals to feelings
   and transcends text
Consistent identity creates trust
Just be careful

You’re you — be proud of it
Grid
Hierarchical                             Categorical




               flickr.com/photos/andwar
Typography
p{   font-family:         arial, sans-serif;
     font-size:           150%;
     font-variant:        small-caps;
     line-height:         1.5em;
     text-align:          justify;
     text-indent:         1em;
                                        }
     text-transform:      uppercase;



                w3c.org
scalable Inman Flash Replacement


Display your font on
their computer while
using standards

... but there is
always a catch

                                             June 2006




                   mikeindustries.com/sifr
Colo(u)r



credit: flickr.com/photos/minarets
wellstyled.com/tools/colorscheme2/index-en.html
Let nature decide ...




     mezzoblue.com
... or let the pros decide




        pantone.com
Imagery
The flirty Customer Service Gal
Operators are standing by to take your call ...
               and your heart


               credit: fortymedia.com
Uh, no.

We can do better than that.
That’s OK if you’re not an
award-winning photographer

Just get real with your images
Never underestimate the power of an image

sxc.hu
everystockphoto.com
yotophoto.com
your own digital camera (seriously)
Media
March 2006
So, is design the second coming?

      As a designer, I wish.
Crappy sites succeed despite their bad design
              (not because of it)


                   Why?
Windows


A fatal exception occurred at 0137:BFF9A07C. The current
application will be terminated.


* Press any key to terminate the current application
* Press CTRL+ALT+DEL again to restart your computer. You will
  lose and unsaved information.


                  Press any key to continue
Because visitors will slog through hell
     to get to what they want ...
    if they want it badly enough


       Why take that chance?
Thanks! Questions?
           richardcornish.com/goodwebdesign.pdf

                 rich@richardcornish.com
                     +1 (630) 890-0307

Weitere ähnliche Inhalte

Kürzlich hochgeladen

Essential UI/UX Design Principles: A Comprehensive Guide
Essential UI/UX Design Principles: A Comprehensive GuideEssential UI/UX Design Principles: A Comprehensive Guide
Essential UI/UX Design Principles: A Comprehensive GuideDesign Studio UI UX
 
Jual Obat Aborsi Bandung ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan ...
Jual Obat Aborsi Bandung ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan ...Jual Obat Aborsi Bandung ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan ...
Jual Obat Aborsi Bandung ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan ...ZurliaSoop
 
一比一定(购)西悉尼大学毕业证(WSU毕业证)成绩单学位证
一比一定(购)西悉尼大学毕业证(WSU毕业证)成绩单学位证一比一定(购)西悉尼大学毕业证(WSU毕业证)成绩单学位证
一比一定(购)西悉尼大学毕业证(WSU毕业证)成绩单学位证eqaqen
 
Design-System - FinTech - Isadora Agency
Design-System - FinTech - Isadora AgencyDesign-System - FinTech - Isadora Agency
Design-System - FinTech - Isadora AgencyIsadora Agency
 
Sweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxSweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxbingyichin04
 
一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样
一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样
一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样yhavx
 
Just Call Vip call girls Fatehpur Escorts ☎️8617370543 Two shot with one girl...
Just Call Vip call girls Fatehpur Escorts ☎️8617370543 Two shot with one girl...Just Call Vip call girls Fatehpur Escorts ☎️8617370543 Two shot with one girl...
Just Call Vip call girls Fatehpur Escorts ☎️8617370543 Two shot with one girl...Nitya salvi
 
TRose UXPA Experience Design Concord .pptx
TRose UXPA Experience Design Concord .pptxTRose UXPA Experience Design Concord .pptx
TRose UXPA Experience Design Concord .pptxtrose8
 
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfJordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfamanda2495
 
ab-initio-training basics and architecture
ab-initio-training basics and architectureab-initio-training basics and architecture
ab-initio-training basics and architecturesaipriyacoool
 
Abortion pills in Kuwait 🚚+966505195917 but home delivery available in Kuwait...
Abortion pills in Kuwait 🚚+966505195917 but home delivery available in Kuwait...Abortion pills in Kuwait 🚚+966505195917 but home delivery available in Kuwait...
Abortion pills in Kuwait 🚚+966505195917 but home delivery available in Kuwait...drmarathore
 
Independent Escorts Goregaon WhatsApp +91-9930687706, Best Service
Independent Escorts Goregaon WhatsApp +91-9930687706, Best ServiceIndependent Escorts Goregaon WhatsApp +91-9930687706, Best Service
Independent Escorts Goregaon WhatsApp +91-9930687706, Best Servicemeghakumariji156
 
NO1 Top Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakist...
NO1 Top Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakist...NO1 Top Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakist...
NO1 Top Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakist...Amil baba
 
Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...gajnagarg
 
Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...
Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...
Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...HyderabadDolls
 
Pondicherry Escorts Service Girl ^ 9332606886, WhatsApp Anytime Pondicherry
Pondicherry Escorts Service Girl ^ 9332606886, WhatsApp Anytime PondicherryPondicherry Escorts Service Girl ^ 9332606886, WhatsApp Anytime Pondicherry
Pondicherry Escorts Service Girl ^ 9332606886, WhatsApp Anytime Pondicherrymeghakumariji156
 
一比一定(购)滑铁卢大学毕业证(UW毕业证)成绩单学位证
一比一定(购)滑铁卢大学毕业证(UW毕业证)成绩单学位证一比一定(购)滑铁卢大学毕业证(UW毕业证)成绩单学位证
一比一定(购)滑铁卢大学毕业证(UW毕业证)成绩单学位证wpkuukw
 
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证eeanqy
 
Furniture & Joinery Details_Designs.pptx
Furniture & Joinery Details_Designs.pptxFurniture & Joinery Details_Designs.pptx
Furniture & Joinery Details_Designs.pptxNikhil Raut
 

Kürzlich hochgeladen (20)

Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman MuscatAbortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
 
Essential UI/UX Design Principles: A Comprehensive Guide
Essential UI/UX Design Principles: A Comprehensive GuideEssential UI/UX Design Principles: A Comprehensive Guide
Essential UI/UX Design Principles: A Comprehensive Guide
 
Jual Obat Aborsi Bandung ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan ...
Jual Obat Aborsi Bandung ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan ...Jual Obat Aborsi Bandung ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan ...
Jual Obat Aborsi Bandung ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan ...
 
一比一定(购)西悉尼大学毕业证(WSU毕业证)成绩单学位证
一比一定(购)西悉尼大学毕业证(WSU毕业证)成绩单学位证一比一定(购)西悉尼大学毕业证(WSU毕业证)成绩单学位证
一比一定(购)西悉尼大学毕业证(WSU毕业证)成绩单学位证
 
Design-System - FinTech - Isadora Agency
Design-System - FinTech - Isadora AgencyDesign-System - FinTech - Isadora Agency
Design-System - FinTech - Isadora Agency
 
Sweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxSweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptx
 
一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样
一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样
一比一原版(ANU毕业证书)澳大利亚国立大学毕业证原件一模一样
 
Just Call Vip call girls Fatehpur Escorts ☎️8617370543 Two shot with one girl...
Just Call Vip call girls Fatehpur Escorts ☎️8617370543 Two shot with one girl...Just Call Vip call girls Fatehpur Escorts ☎️8617370543 Two shot with one girl...
Just Call Vip call girls Fatehpur Escorts ☎️8617370543 Two shot with one girl...
 
TRose UXPA Experience Design Concord .pptx
TRose UXPA Experience Design Concord .pptxTRose UXPA Experience Design Concord .pptx
TRose UXPA Experience Design Concord .pptx
 
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdfJordan_Amanda_DMBS202404_PB1_2024-04.pdf
Jordan_Amanda_DMBS202404_PB1_2024-04.pdf
 
ab-initio-training basics and architecture
ab-initio-training basics and architectureab-initio-training basics and architecture
ab-initio-training basics and architecture
 
Abortion pills in Kuwait 🚚+966505195917 but home delivery available in Kuwait...
Abortion pills in Kuwait 🚚+966505195917 but home delivery available in Kuwait...Abortion pills in Kuwait 🚚+966505195917 but home delivery available in Kuwait...
Abortion pills in Kuwait 🚚+966505195917 but home delivery available in Kuwait...
 
Independent Escorts Goregaon WhatsApp +91-9930687706, Best Service
Independent Escorts Goregaon WhatsApp +91-9930687706, Best ServiceIndependent Escorts Goregaon WhatsApp +91-9930687706, Best Service
Independent Escorts Goregaon WhatsApp +91-9930687706, Best Service
 
NO1 Top Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakist...
NO1 Top Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakist...NO1 Top Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakist...
NO1 Top Pakistani Amil Baba Real Amil baba In Pakistan Najoomi Baba in Pakist...
 
Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In eluru [ 7014168258 ] Call Me For Genuine Models We ...
 
Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...
Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...
Madhyamgram \ (Genuine) Escort Service Kolkata | Service-oriented sexy call g...
 
Pondicherry Escorts Service Girl ^ 9332606886, WhatsApp Anytime Pondicherry
Pondicherry Escorts Service Girl ^ 9332606886, WhatsApp Anytime PondicherryPondicherry Escorts Service Girl ^ 9332606886, WhatsApp Anytime Pondicherry
Pondicherry Escorts Service Girl ^ 9332606886, WhatsApp Anytime Pondicherry
 
一比一定(购)滑铁卢大学毕业证(UW毕业证)成绩单学位证
一比一定(购)滑铁卢大学毕业证(UW毕业证)成绩单学位证一比一定(购)滑铁卢大学毕业证(UW毕业证)成绩单学位证
一比一定(购)滑铁卢大学毕业证(UW毕业证)成绩单学位证
 
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
怎样办理伯明翰大学学院毕业证(Birmingham毕业证书)成绩单留信认证
 
Furniture & Joinery Details_Designs.pptx
Furniture & Joinery Details_Designs.pptxFurniture & Joinery Details_Designs.pptx
Furniture & Joinery Details_Designs.pptx
 

Empfohlen

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 

Empfohlen (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

What makes good web design?

  • 1. What makes good web design? Richard Cornish rich@richardcornish.com
  • 2. Project: A house Tool: A hammer Goal: A home to live in
  • 3.
  • 4.
  • 5.
  • 6. I don’t make a house because I like the hammer. I make a house because I need to live in it!
  • 7. Function followed form Form followed function
  • 8. Function followed form Form followed function
  • 11. Project: A Web site Tool: Design, technology Goal: To sell stuff, To read about a game, To get a date ... to connect people
  • 12. Netscape ... no, Internet Explorer! Firefox ... no, Safari! HTML ... no, XHTML! <img> <img /> Transitional ... no, Strict! xhtml1-transitional.dtd xhtml1-strict.dtd CSS 1 ... no, 2 ... no, 3! { text-indent } { text-shadow } XML ... no, RSS ... no, ATOM! <?xml?> Javascript ... no, AJAX! type=quot;text/javascriptquot; Perl ... no, PHP! MySQL ... no, PostgreSQL! RealAudio ... no, Podcasts! Shockwave ... no, Flash! PDFs ... no, eBooks! vCards ... no, hCards! ! WCAG 1.0 ... no, 2.0! Ruby on Rails ... no, Sapphire on Spaceships! Web 1.0 ... no, 2.0 ... no, 3.0! Web 1.0
  • 13. Gradients Drop shadows Reflections Rounded corners Hello! Big type Bright colors ! Cute icons Star shapes Beta
  • 14. ❖ Are all the links underlined? I prefer most links that’s aren’t “buttons” ❖ For content heavy sites — does it have a well categorized archive and underlined. search? Depending on the site, search should be on every page. Either way, it’s good to accommodate both browsers (as in people ❖ Is there a specified a visited link state? browsing a site) and searchers on content rich sites. ❖ Are buttons fully clickable? I see semi-clickible buttons all the time ❖ Do you have dates and authors for anything like an article or post? and they bug the heck outta me. Something that kills me about many of blogs. I like to know when and ❖ Are fly-outs functioning properly? Easy to click? Spaced far enough by whom when reading something. apart? I find these hard to use all the time, but when they’re done well ❖ Does the content print well? they don’t frustrate me though. ❖ Is there up-to-date and easy-to-find contact information? ❖ Are you using color for any important information? Don’t forget the ❖ colorblind may have a problem with that. Do you have a custom 404 page? These can be a real help. ❖ Are alt attributes specified for non-ornamental images? Do they ❖ Do you have a working link to RSS feeds if available? describe the image accurately where it’s helpful to do so? ❖ Did you check content for passive voice? ❖ Is there relevant meta information? ❖ Have you checked your spelling “gotchas”? I miss these all the time. ❖ Is there a proper doctype? ❖ Are links checked and working? ❖ Are there proper margins, line height and letter spacing? ❖ Are there any typos in images? Typos in alt attribute text? ❖ Does content maintain a good default line length and font size ❖ Is there a copyright on every page? (especially for small serif fonts) for reading? ❖ Is there a text equivalent for any important graphical information? ❖ Are fonts relative and scalable? ❖ Is there a link to home (or whatever you use for home) from every ❖ Is there decent contrast for text? page? ❖ Do borders give enough room to text and/or important visual ❖ is there generic about information or link to it from every page for elements? those coming in via search engine? ❖ Is there a good use of whitespace? ❖ Are PDFs and other “non-html” files labeled properly? ❖ Do headlines look like headlines? Do they make sense in relation to ❖ Are advertisements labeled as such, or obvious as advertisements? the content? ❖ Does the design work well in 800×600? ❖ Are navigation labels straightforward and easy to understand? ❖ Are all forms functioning properly? Are they easy to fill out? ❖ Do the pages look good cross browser? Cross platform? Check if you ❖ Do error messages make sense? can! ❖ Is feedback easy for visitors to give? ❖ Is there a proper page title for each page? Hopefully relevant to the ❖ Does the back button always work? page itself and its content? ❖ Is there an “About” page? Most every site should have something! D. Keith Robinson 7nights.com/asterisk/archive/2004/ 07/the-big-web-design-details-list
  • 15. (The elements that make a successful home page are) anything that accomplishes the site’s objectives and goals. Really, that’s all it comes down to at the end of the day. I wish it were as simple as ‘The Seven Habits of Highly Effective Homepages,’ but no single list will work for every possible Web site strategy.” Cameron Moll, March 2005 digital-web.com/articles/cameron_moll
  • 16. ” It is purpose that drives us. Agent Smith The Matrix Reloaded
  • 19. Expand when necessary Contract when possible ... just like your pants
  • 20. Good web Good design + Good web design
  • 21. The ideas The Web as a platform Cooperation, not control Collective intelligence and experience Effective communication The grit Semantic markup Separation of content and presentation Accessibility Usability
  • 22. <table summary=quot;a unholy messquot; border=quot;0quot; cellspacing=quot;0quot; cellpadding=quot;0quot;> <tr> <td colspan=quot;9quot; width=quot;553quot; height=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> </tr> <tr> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> <td width=quot;11quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;9quot; width=quot;11quot; /></td> <td width=quot;150quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;150quot; /></td> <td width=quot;20quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;20quot; /></td> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> <td width=quot;11quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;338quot; /></td> <td width=quot;20quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;20quot; /></td> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/ 1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> </tr> <tr valign=quot;topquot;> <td width=quot;11quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;150quot;>This could really be done much more simply.</td> <td width=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;11quot;><img src=quot;images/ spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot;>Guess how much markup there is in this little table? 13.7k. There are 17 rows and 9 columns in this thing. And did I mention all of the spacer GIFs?</td> <td width=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> </tr> <tr> <td width=quot;11quot; height=quot;20quot;><img src=quot;images/ spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;150quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;150quot; /></td> <td width=quot;20quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;11quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;338quot; /></td> <td width=quot;20quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> </tr> <tr> <td colspan=quot;9quot; width=quot;553quot; height=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> </tr> <tr> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> <td width=quot;11quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></ td> <td width=quot;150quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;150quot; /></td> <td width=quot;20quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> <td width=quot;11quot; height=quot;10quot;><img src=quot;images/ spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;338quot; /></td> <td width=quot;20quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> </ tr> <tr valign=quot;topquot;> <td width=quot;11quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;150quot;>There are way too many table cells and spacers in here.</td> <td width=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;11quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot;>And all of the dotted borders are done with a <code>background</code> attribute on table cells, which won't validate. <table summary=quot;listquot; width=quot;338quot; border=quot;0quot; cellspacing=quot;0quot; cellpadding=quot;0quot;> <tr> <td width=quot;10quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;10quot; /></td> <td width=quot;328quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;328quot; /></td> </tr> <tr valign=quot;topquot;> <td width=quot;10quot;>•</td> <td width=quot;328quot;>A nested table? What for?</td> </tr> <tr> <td width=quot;10quot; height=quot;10quot;><img src=quot;images/ spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;10quot; /></td> <td width=quot;328quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;328quot; /></td> </tr> <tr valign=quot;topquot;> <td width=quot;10quot;>•</td> <td width=quot;328quot;>To make a bulleted list? You're kidding, right?</td> </tr> </table> </td> <td width=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; / ></td> </tr> <tr> <td width=quot;11quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;150quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;150quot; /></td> <td width=quot;20quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;11quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;338quot; /></td> <td width=quot;20quot; height=quot;20quot;><img src=quot;images/ spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> </tr> <tr> <td colspan=quot;9quot; width=quot;553quot; height=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> </tr> <tr> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> <td width=quot;11quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;150quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;150quot; /></td> <td width=quot;20quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> <td width=quot;11quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;338quot; /></td> <td width=quot;20quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/ 1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> </tr> <tr valign=quot;topquot;> <td width=quot;11quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;150quot;>This could all be done with 8 table cells and 4 CSS rules.</td> <td width=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;11quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot;>Seriously. 8 cells and 4 css rules, that's all it takes. <table summary=quot;listquot; width=quot;338quot; border=quot;0quot; cellspacing=quot;0quot; cellpadding=quot;0quot;> <tr> <td width=quot;10quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;10quot; /></td> <td width=quot;328quot; height=quot;10quot;><img src=quot;images/ spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;328quot; /></td> </tr> <tr valign=quot;topquot;> <td width=quot;10quot;>•</td> <td width=quot;328quot;>Oh no, another table masquerading as a bulleted list.</td> </tr> <tr> <td width=quot;10quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;10quot; /></td> <td width=quot;328quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;328quot; / ></td> </tr> <tr valign=quot;topquot;> <td width=quot;10quot;>•</td> <td width=quot;328quot;>Just mark up your bulleted lists as bulleted lists and let CSS do the rest.</td> </tr> </table> </td> <td width=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> </tr> <tr> <td width=quot;11quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;150quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;150quot; /></td> <td width=quot;20quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; / ></td> <td width=quot;11quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;338quot; /></td> <td width=quot;20quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> </tr> <tr> <td colspan=quot;9quot; width=quot;553quot; height=quot;1quot; background=quot;images/ 1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> </tr> <tr> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> <td width=quot;11quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;150quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;150quot; /></td> <td width=quot;20quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/ 1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> <td width=quot;11quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;338quot; /></td> <td width=quot;20quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td rowspan=quot;3quot; width=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> </tr> <tr valign=quot;topquot;> <td width=quot;11quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;150quot;>You need a rule for <table>, one for <td>, one for <ul> and one for <li>.</td> <td width=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;11quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot;>That's it. Once you have those you're golden. <table summary=quot;listquot; width=quot;338quot; border=quot;0quot; cellspacing=quot;0quot; cellpadding=quot;0quot;> <tr> <td width=quot;10quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;10quot; /></td> <td width=quot;328quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;328quot; /></td> </tr> <tr valign=quot;topquot;> <td width=quot;10quot;>•</td> <td width=quot;328quot;>That's better than using 8 more table cells to make a fake bulleted list, which ends up being much less accessible.</td> </tr> <tr> <td width=quot;10quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;10quot; /></td> <td width=quot;328quot; height=quot;10quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;328quot; /></td> </tr> <tr valign=quot;topquot;> <td width=quot;10quot;>•</td> <td width=quot;328quot;>Excellent! The last fake bullet.</td> </tr> </table> </td> <td width=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> </tr> <tr> <td width=quot;11quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;150quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;150quot; /></td> <td width=quot;20quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;11quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> <td width=quot;338quot; height=quot;20quot;> </td> <td width=quot;20quot; height=quot;20quot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;10quot; width=quot;11quot; /></td> </tr> <tr> <td colspan=quot;9quot; width=quot;553quot; height=quot;1quot; background=quot;images/1dot.gifquot;><img src=quot;images/spacer.gifquot; alt=quot;quot; height=quot;1quot; width=quot;1quot; /></td> </tr> </table>
  • 23. <table summary=quot;a unholy messquot; width=quot;553quot; border=quot;0quot; cellspacing=quot;0quot; cellpadding=quot;0quot;><tr valign=quot;topquot;><td>much better</td><td>Guess how much markup there is in this little table? 2.1k. There are 4 rows and 2 columns in this thing. And no spacer GIFs.</td></tr><tr valign=quot;topquot;><td>just right</td><td>And all of these dotted borders are done with CSS and are perfectly valid.<ul><li>This is a list item now</li><li>Just the way it's supposed to be</li></ul></td></tr><tr valign=quot;topquot;><td>This is all done with 8 table cells and 4 css rules.</ td><td>Seriously. 8 cells and 4 css rules, that's all it takes.<ul><li>Hooray for bulleted lists</li><li>Why not just mark up your bulleted lists as bulleted lists and let CSS do the rest?</li></ul></td></tr><tr valign=quot;topquot;><td>You need a rule for &lt;table&gt;, one for &lt;td&gt;, one for &lt;ul&gt; and one for &lt;li&gt;.</td><td>That's it. Once you have those you're golden.<ul><li>I just love bulleted lists</li><li>Excellent! no more fake bullets</li></ul></td></tr></table>
  • 24. Smaller files Faster-loading pages Less-costly bandwidth More page views ... ?
  • 25. Better screen readings Better search engine rankings Easier to maintain and redesign
  • 27. speed travel strength earth halo athletics transit cars energy cars nike tube peugeot bp toyota
  • 28. Identity appeals to feelings and transcends text
  • 29.
  • 31.
  • 32.
  • 33. Just be careful You’re you — be proud of it
  • 34. Grid
  • 35.
  • 36. Hierarchical Categorical flickr.com/photos/andwar
  • 37.
  • 38.
  • 40.
  • 41.
  • 42. p{ font-family: arial, sans-serif; font-size: 150%; font-variant: small-caps; line-height: 1.5em; text-align: justify; text-indent: 1em; } text-transform: uppercase; w3c.org
  • 43. scalable Inman Flash Replacement Display your font on their computer while using standards ... but there is always a catch June 2006 mikeindustries.com/sifr
  • 46. Let nature decide ... mezzoblue.com
  • 47. ... or let the pros decide pantone.com
  • 48.
  • 49.
  • 51. The flirty Customer Service Gal Operators are standing by to take your call ... and your heart credit: fortymedia.com
  • 52. Uh, no. We can do better than that.
  • 53.
  • 54.
  • 55.
  • 56. That’s OK if you’re not an award-winning photographer Just get real with your images
  • 57.
  • 58.
  • 59.
  • 60.
  • 61. Never underestimate the power of an image sxc.hu everystockphoto.com yotophoto.com your own digital camera (seriously)
  • 62. Media
  • 63.
  • 65.
  • 66. So, is design the second coming? As a designer, I wish.
  • 67.
  • 68. Crappy sites succeed despite their bad design (not because of it) Why?
  • 69. Windows A fatal exception occurred at 0137:BFF9A07C. The current application will be terminated. * Press any key to terminate the current application * Press CTRL+ALT+DEL again to restart your computer. You will lose and unsaved information. Press any key to continue
  • 70. Because visitors will slog through hell to get to what they want ... if they want it badly enough Why take that chance?
  • 71. Thanks! Questions? richardcornish.com/goodwebdesign.pdf rich@richardcornish.com +1 (630) 890-0307