- •Taking Your Talent to the Web
- •Introduction
- •1 Splash Screen
- •Meet the Medium
- •Expanding Horizons
- •Working the Net…Without a Net
- •Smash Your Altars
- •Breath Mint? Or Candy Mint?
- •Where’s the Map?
- •Mars and Venus
- •Web Physics: Action and Interaction
- •Different Purposes, Different Methodologies
- •Web Agnosticism
- •Point #1: The Web Is Platform-Agnostic
- •Point #2: The Web Is Device-Independent
- •The 18-Month Pregnancy
- •Chocolatey Web Goodness
- •’Tis a Gift to Be Simple
- •Democracy, What a Concept
- •Instant Karma
- •The Whole World in Your Hands
- •Just Do It: The Web as Human Activity
- •The Viewer Rules
- •Multimedia: All Talking! All Dancing!
- •The Server Knows
- •It’s the Bandwidth, Stupid
- •Web Pages Have No Secrets
- •The Web Is for Everyone!
- •Swap text and code for images
- •Prune redundancy
- •Cache as Cache Can
- •Much Ado About 5K
- •Screening Room
- •Liquid Design
- •Color My Web
- •Thousands Weep
- •Gamma Gamma Hey!
- •Typography
- •The 97% Solution
- •Points of Distinction
- •Year 2000—Browsers to the Rescue
- •Touch Factor
- •Appropriate Graphic Design
- •User Knowledge
- •What Color Is Your Concept?
- •Business as (Cruel and) Usual
- •The Rise of the Interface Department
- •Form and Function
- •Copycats and Pseudo-Scientists
- •Chaos and Clarity
- •A Design Koan: Interfaces Are a Means too Often Mistaken for an End
- •Universal Body Copy and Other Fictions
- •Interface as Architecture
- •Ten (Okay, Three) Points of Light
- •Be Easily Learned
- •Remain Consistent
- •Continually Provide Feedback
- •GUI, GUI, Chewy, Chewy
- •It’s the Browser, Stupid
- •Clarity Begins at Home (Page)
- •I Think Icon, I Think Icon
- •Structural Labels: Folding the Director’s Chair
- •The Soul of Brevity
- •Hypertext or Hapless Text
- •Scrolling and Clicking Along
- •Stock Options (Providing Alternatives)
- •The So-Called Rule of Five
- •Highlights and Breadcrumbs
- •Consistent Placement
- •Brand That Sucker!
- •Why We Mentioned These Things
- •The year web standards broke, 1
- •The year web standards broke, 2
- •The year web standards broke, 3
- •The year the bubble burst
- •5 The Obligatory Glossary
- •Web Lingo
- •Extranet
- •HTML
- •Hypertext, hyperlinks, and links
- •Internet
- •Intranet
- •JavaScript, ECMAScript, CSS, XML, XHTML, DOM
- •Web page
- •Website
- •Additional terminology
- •Web developer/programmer
- •Project manager
- •Systems administrator (sysadmin) and network administrator (netadmin)
- •Web technician
- •Your Role in the Web
- •Look and feel
- •Business-to-business
- •Business-to-consumer
- •Solve Communication Problems
- •Brand identity
- •Restrictions of the Medium
- •Technology
- •Works with team members
- •Visually and emotionally engaging
- •Easy to navigate
- •Compatible with visitors’ needs
- •Accessible to a wide variety of web browsers and other devices
- •Can You Handle It?
- •What Is the Life Cycle?
- •Why Have a Method?
- •We Never Forget a Phase
- •Analysis (or “Talking to the Client”)
- •The early phase
- •Design
- •Brainstorm and problem solve
- •Translate needs into solutions
- •Sell ideas to the client
- •Identify color comps
- •Create color comps/proof of concept
- •Present color comps and proof of concept
- •Receive design approval
- •Development
- •Create all color comps
- •Communicate functionality
- •Work with templates
- •Design for easy maintenance
- •Testing
- •Deployment
- •The updating game
- •Create and provide documentation and style guides
- •Provide client training
- •Learn about your client’s methods
- •Work the Process
- •Code Wars
- •Table Talk
- •XHTML Marks the Spot
- •Minding Your <p>’s and q’s
- •Looking Ahead
- •Getting Started
- •View Source
- •A Netscape Bonus
- •The Mother of All View Source Tricks
- •Doin’ it in Netscape
- •Doin’ it in Internet Explorer
- •Absolutely Speaking, It’s All Relative
- •What Is Good Markup?
- •What Is Sensible Markup?
- •HTML as a Design Tool
- •The Frames of Hazard
- •Please Frame Safely
- •Framing Your Art
- •<META> <META> Hiney Ho!
- •Search Me
- •Take a (Re)Load Off
- •WYSIWYG, My Aunt Moira’s Left Foot
- •Code of Dishonor
- •WYS Is Not Necessarily WYG
- •Publish That Sucker!
- •HTMHell
- •9 Visual Tools
- •Photoshop Basics: An Overview
- •Comp Preparation
- •Dealing with Color Palettes
- •Exporting to Web-Friendly Formats
- •Gamma Compensation
- •Preparing Typography
- •Slicing and Dicing
- •Rollovers (Image Swapping)
- •GIF Animation
- •Create Seamless Background Patterns (Tiles)
- •Color My Web: Romancing the Cube
- •Dither Me This
- •Death of the Web-Safe Color Palette?
- •A Hex on Both Your Houses
- •Was Blind, but Now I See
- •From Theory to Practice
- •Format This: GIFs, JPEGs, and Such
- •Loves logos, typography, and long walks in the woods
- •GIFs in Photoshop
- •JPEG, the Other White Meat
- •Optimizing GIFs and JPEGs
- •Expanding on Compression
- •Make your JPEGS smaller
- •Combining sharp and blurry
- •Animated GIFs
- •Creating Animations in ImageReady
- •Typography
- •The ABCs of Web Type
- •Anti-Aliasing
- •Specifying Anti-Aliasing for Type
- •General tips
- •General Hints on Type
- •The Sans of Time
- •Space Patrol
- •Lest We Fail to Repeat Ourselves
- •Accessibility, Thy Name Is Text
- •Slicing and Dicing
- •Thinking Semantically
- •Tag Soup and Crackers
- •CSS to the Rescue…Sort of
- •Separation of Style from Content
- •CSS Advantages: Short Term
- •CSS Advantages: Long Term
- •Compatibility Problems: An Overview
- •Working with Style Sheets
- •Types of Style Sheets
- •External style sheets
- •Embedding a style sheet
- •Adding styles inline
- •Fear of Style Sheets: CSS and Layout
- •Fear of Style Sheets: CSS and Typography
- •Promise and performance
- •Font Size Challenges
- •Points of contention
- •Point of no return: browsers of the year 2000
- •Absolute size keywords
- •Relative keywords
- •Length units
- •Percentage units
- •Looking Forward
- •11 The Joy of JavaScript
- •What Is This Thing Called JavaScript?
- •The Web Before JavaScript
- •JavaScript, Yesterday and Today
- •Sounds Great, but I’m an Artist. Do I Really Have to Learn This Stuff?
- •Educating Rita About JavaScript
- •Don’t Panic!
- •JavaScript Basics for Web Designers
- •The Dreaded Text Rollover
- •The Event Handler Horizon
- •Status Quo
- •A Cautionary Note
- •Kids, Try This at Home
- •The Not-So-Fine Print
- •The Ever-Popular Image Rollover
- •A Rollover Script from Project Cool
- •Windows on the World
- •Get Your <HEAD> Together
- •Avoiding the Heartbreak of Linkitis
- •Browser Compensation
- •JavaScript to the Rescue!
- •Location, location, location
- •Watching the Detection
- •Going Global with JavaScript
- •Learning More
- •12 Beyond Text/Pictures
- •You Can Never Be Too Rich Media
- •Server-Side Stuff
- •Where were you in ‘82?
- •Indiana Jones and the template of doom
- •Serving the project
- •Doing More
- •Mini-Case Study: Waferbaby.com
- •Any Size Kid Can Play
- •Take a Walk on the Server Side
- •Are You Being Served?
- •Advantages of SSI
- •Disadvantages of SSI
- •Cookin’ with Java
- •Ghost in the Virtual Machine
- •Java Woes
- •Java Woes: The Politically Correct Version
- •Java Joys
- •Rich Media: Exploding the “Page”
- •Virtual Reality Modeling Language (VRML)
- •SVG and SMIL
- •SMIL (through your fear and sorrow)
- •Romancing the logo
- •Sounds dandy, but will it work?
- •Promises, Promises
- •Turn on, Tune in, Plug-in
- •A Hideous Breach of Reality
- •The ubiquity of plug-ins
- •The Impossible Lightness of Plug-ins
- •Plug-ins Most Likely to Succeed
- •Making It Work: Providing Options
- •The “Automagic Redirect”
- •The iron-plated sound console from Hell
- •The Trouble with Plug-ins
- •If Plug-ins Run Free
- •Parting Sermon
- •13 Never Can Say Goodbye
- •Separation Anxiety
- •A List Apart
- •Astounding Websites
- •The Babble List
- •Dreamless
- •Evolt
- •Redcricket
- •Webdesign-l
- •When All Else Fails
- •Design, Programming, Content
- •The Big Kahunas
- •Beauty and Inspiration
- •Index
254 HOW: Style Sheets for Designers: Tag Soup and Crackers
TAG SOUP AND CRACKERS
Designers and their clients, however, were not about to sit still for such limited presentational capabilities, so browser companies (mainly Netscape at
first) began “extending” HTML willy-nilly to offer web designers more control over the visual appearance of their sites. Netscape extended the <BODY> tag, allowing us to choose background colors as well as text and link colors. Microsoft gave us proprietary <BODY> tag extensions that allowed us to create margins of a limited sort.
Netscape gave us the <FONT> tag. We could control the size of our text, regardless of its structural context. (We could, for instance, make paragraphs really big <FONT SIZE=”7”> and headlines really small <FONT SIZE=”1”> even if such approaches contradicted the underlying document structure.) Microsoft gave us the <FACE> attribute for the <FONT> tag. We could control typography in a limited, Flintstonian fashion. <FONT FACE=”ARIAL, HELVETICA”> would make text on the page appear in Arial if the visitor’s operating system offered that font. If not, the text would appear as Helvetica. If neither font were available, visitors would see their default typeface (probably Times).
While browser companies corrupted HTML in a well-meaning but wrongheaded effort to serve designers and their clients, designers began setting their text in Photoshop and saving the images in web-friendly GIF format. 14pt. Meta or Futura, with precise kerning and leading, looked a lot better than <FONT FACE=”ARIAL, HELVETICA”>. Instead of using HTML to present text, designers used it to embed visual representations of text.
What we gained in presentational spiffiness, we lost in usability. GIF images of text could not be searched, indexed, copied, or pasted. They could not even be seen by some people or in some browsers.
At the same time, designers began using HTML tables to control their layouts, a practice most of us still follow, though it runs counter to the structural nature of HTML. The practice has another downside as well: It yokes our presentation to our content, making it harder or even impossible for those with disabilities or those using nontraditional browsers to access the information on our sites.
Taking Your Talent to the Web |
255 |
Many of us went beyond using tables and text images. We harnessed invisible powers to our task. As you know, in Photoshop any layer may be fully or partially transparent. Images in the GIF format are limited to 256 (or fewer) colors, any one of which may be designated as transparent. Using Photoshop, web designers created small (1 pixel by 1 pixel) GIFs filled with a single, transparent color. We then used these transparent GIF images to control the positioning of elements on the page, as if we were designing for a fixed medium like print.
We used these transparent GIF images again to simulate leading, inserting
“spacer GIFs” between lines of HTML text.
<IMG WIDTH=”100” HEIGHT=”100” ALT=” “ SRC=”transparent.gif”>
Notice the height and width. Netscape’s browser likes it when you indicate the size of images used. This helps the browser leave space for the images, even before they have finished downloading. A tangential aspect of the whole affair is that browsers will display your images at any size you tell them to. Thus a 1 pixel by 1 pixel transparent.gif could be 100 pixels wide by 100 pixels tall if you marked it up that way in your HTML. These crude feats provided rudimentary layout control, while HTML itself did not.
That was the key. HTML, practically the only tool at our disposal, provided no typographic or layout control. So most of us deliberately deformed the simple markup language in hopes of forcing it do our bidding. We made a
“tag soup” of the Web, using <TT> (“typewriter text”) to force the browser to display a monospaced font (usually Courier). To create vertical space, we deployed transparent GIFS or typed structurally meaningless carriage returns such as:
<br><br><br>
or went so far as to create “invisible headlines” which were never intended to be read. To create invisible headlines we used the nonstandard <FONT COLOR> attribute to set a headline to the same color as the web page’s background. For example, on a page whose background color was white, we might use the following:
<H1><FONT COLOR=”#FFFFFF”>Don’t read this headline</FONT></H1>
256 HOW: Style Sheets for Designers: CSS to the Rescue…Sort of
By means of these stunts, the Web began to look better on the surface, but the markup that was supposed to hold it together was becoming less and less meaningful, more and more fragmented. Documents made less and less structural sense and were more and more tied to the quirks of specific browsers. “Use Netscape so you can see this page!” we screamed at our viewers in the mid-1990s.
CSS TO THE RESCUE…SORT OF
In 1996, Microsoft, Netscape, and other members of the World Wide Web Consortium (W3C) came up with a brilliant new standard technology—one intended to give designers far more power over the display of web pages, without further corrupting the structural meaning of their HTML documents. The name of that technology was Cascading Style Sheets (CSS).
CSS is the best friend a visually oriented web designer ever had, but support for this crucial standard has been a long time coming. In the following section, we’ll gently introduce you to CSS, showing how and why it works. Afterward, we’ll talk about what can go wrong with CSS and present a detailed No Fault CSS Plan that enables you to harness the power of style sheets without running afoul of buggy browsers. The good news about all of this is that most current web browsers now offer good-to-excellent CSS support. The bad news is that older, inferior browsers are still in use, though they are fading away over time (see the section, “The 18-Month Pregnancy” in Chapter 2, “Designing for the Medium,” for comments on this topic).
As a last prefatory note, you might find yourself working at a large web agency—one where web designers spend most of their time in Photoshop and Illustrator, while HTML production chores are handled by a separate group of professionals. Even at job like that, you will still need to know CSS. Why? It’s because even when HTML chores are assigned to web technicians, it is almost always the web designer’s job to create the style sheet.
Taking Your Talent to the Web |
257 |
That may seem puzzling. If web technicians and developers handle all other markup and coding, why wouldn’t those professionals also be called upon to write the site’s style sheet? The answer is simple—style sheets control typography and layout, and that makes them the designer’s responsibility. (You don’t really want a programmer deciding how your web typography should look, do you?)
DESIGNING WITH STYLE: CASCADING STYLE
SHEETS (CSS)
CSS is a developing web standard whose purpose is to control the display of web pages. Cascading Style Sheets Level 1, the initial version of CSS recommended by the W3C in 1996, is well (or fairly well) supported in current browsers including Opera 5 or higher, Internet Explorer 5 or higher, and Netscape 6 or higher. CSS empowers web designers to control such elements as:
■Font families, font sizes, and leading (“line-height” in CSS-speak)
■Margins and page divisions
■Colors, backgrounds, whether or not backgrounds tile, whether or not they scroll, and so on
■Positioning of elements in relation to each other, and to the edges of the browser window
■Borders, HTML elements (such as <FORM> elements), and more
As this list suggests, CSS is a very powerful standard that can replace the use of HTML tables to control layout; end the use of <FONT> tags to control web typography; and do much more than tables and <FONT> tags ever could (see Figure 10.1).