Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Taking_Your_Talent_to_the_Web.pdf
Скачиваний:
5
Добавлен:
11.05.2015
Размер:
9.91 Mб
Скачать

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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]