- •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
Taking Your Talent to the Web |
347 |
Java Woes
We can do this two ways: the short, brutal version or the long, boring, politically correct version.
Here’s the short, brutal version: From a user experience perspective, Java often sucks. It can be as unstable as Norman Bates, drain resources like Australians drain beer steins, and crash more frequently than a drunk driver’s Pinto.
For those who expect us to be fair, a long, carefully guarded, politically correct version follows. Feel free to skip it unless you are an attorney for Sun Microsystems. In which case, we meant to say that Java is the best thing since the Magna Carta.
Java Woes: The Politically Correct Version
At times, companies have created their own Java Virtual Machines that differ subtly from Sun’s. Sun does not like that, and you can understand why. Java is not open source; it is a protected product. Differing Virtual Machines can sometimes prevent Java from fulfilling its promise. This has led some developers to avoid using Java. As a web designer, you will want to stay aware of these issues if there’s a possibility of their affecting your site and your users.
Java can also sometimes drain the computer’s memory resources because the user is essentially running a second operating system (Java) within his existing OS. Not to mention the fact that the user is likely running a Javabased application on an unstable web browser with all its memory-hog- ging plug-ins, on top of any other software programs he might have running in the background, and on top of a possibly unstable base operating system such as an older version of Mac OS, which can be wonderful but not entirely stable.
The older the computer and the less memory at its disposal, the greater the possibility of woe. Attention, Sun attorneys: We do not wish to overstate these issues. All that is usually required is for the user to increase the amount of memory allotted to the browser. Unfortunately, most web users don’t realize this, so they don’t do it. Result: instability.
348 HOW: Beyond Text/Pictures: Cookin’ with Java
The memory problem is not a Java problem per se; plug-ins like Flash and Shockwave also work better if the user increases his browser’s memory partition. Fortunately, during the installation process, Shockwave and Flash alert users to the issue and offer to increase the browser’s memory automatically if the user clicks the OK button. Java does not do this because Java is typically preinstalled on the user’s machine when it arrives from the factory.
Given that browser makers know most users are going to encounter Java and are going to install and run plug-ins, why don’t they increase the default memory partition of their browsers? In a word: competition. The browser makers want to prove that their product uses less memory than the competitor’s, so the browser installs itself with the lowest memory allotment possible. It will operate under those conditions just fine as long as users rarely venture beyond all-text websites. Most users do venture far beyond, whether knowingly or not. So most users are practically guaranteed to encounter browser instability on sites that use Java or plug-ins or even large, memory-draining background images.
Though Java tends to work well in Windows and UNIX, it’s a mixed bag in Mac OS. Even on top-of-the-line G4 Macs with 1.5GB of installed RAM, T3 connections, and system buses capable of transferring over 1GB of data per second, Java can sour.
These same Macs can rotate a 40MB Photoshop image faster than Google can track down your ex-girlfriend. At speeds exceeding 5.5 gigaflops, they can outperform Pentiums with twice the rated clock speed. But a stupid
“rippling water” Java applet on a personal site at Geocities can take down these mighty Macs. Java is cross-platform but not always reliably so. Attention, lawyers: We do not wish to overstate these issues.
Then of course, Java does not work at all in text-based browsers such as Lynx, nor will it function in older browsers such as Internet Explorer 2. And users of even the newest browsers might “turn off” Java in their preferences, thus defeating the development team’s efforts to use Java on the site.
Taking Your Talent to the Web |
349 |
This is not a Java problem per se. Users can also turn off JavaScript and style sheets. They can refuse to install plug-ins, tell the browser to use
“their” background colors instead of yours, and in every other way imaginable assert their right to see the Web as they wish to see it, thus turning your beautiful site into a sea of sewage that strangely pleases them.
The workaround, as always, is to provide alternatives. Simple HTML menus and alternative content go a long way toward keeping sites accessible, no matter what technologies are intended for their use under optimal conditions. We do not wish to understate this issue. We wish to strongly emphasize it. Make accessibility part of the plan at all times.
Java Joys
Despite hiccups, Java is cross-platform, and it does many things very well, such as “stepping in” to replace missing plug-ins. For instance, as just described, Flash files can be run as Java applications in Netscape Navigator if the user does not have the Flash plug-in. That is fairly remarkable. It is handled by Flash itself. When saving the file, Flash generates code that will call upon a built-in Java action if the plug-in is not detected in the user’s browser.
Beyond all that, Java applets and Java servlets (smaller, more stable miniapplications of Java that run on the server) can be used to help create dynamic, database-driven websites. Java is ideally suited for sophisticated tasks that take place under the hood. Because Java works cross-platform and cross-browser (despite problems just mentioned), it might be preferable to use Java for complex tasks, rather than relying on proprietary, platformand browser-specific technologies such as VBScript and ActiveX.
Java seems less valuable to us when it is used to create dynamic menus or to trigger the rotation of ad banners. In both cases, JavaScript/ECMAScript is a lighter, more stable choice that is also a web standard, tends to use fewer computing resources, and works better across platforms.