Prior to the development of the graphical Web browser, anyone could use the Internet via a $50 modem and a Gopher connection. All you had to do was funnel through text menus by picking numbers until you got to where you were going. The only problem was when you finally got there (wherever that may have been) and began downloading a compressed file. The rest was relatively quick.
With the advent of Mosaic in 1994, most people who were surfing the Net were graduate students and government researchers. At this point, you were generally looking at Web pages with a little formatting, a little graphics, and a lot of text content. This pushed your $50 modem hook a little more. You noticed slower response to your interactions and were sometimes left waiting while graphics and text downloaded.
Today, with cross-platform woes and multiple browsers with different capabilities, it's difficult to plan for all the variables you'll encounter. Not to mention that your modem is often overtaxed, even if it's a 14.4 or a 28.8Kbps device. Aside from carefully planning the amount of graphics and sweating over the design of your pages, what else can you do?
One of the things Web developers forget is that they are actually in the software development business. Like it or not, if you're designing pages, you are developing software. The problem is your interpreter (in reference to programming languages like BASIC that use them) does not always read the Hypertext Markup Language (HTML) code the same way. Why? This is because there are different interpreters, and they also reside on different platforms-as if the former didn't present a big enough challenge.
Having said this, what's the solution? Well, just like Microsoft and the other big boys, you've got to plan time for-drum roll, please-testing, testing, and more testing. And once you've tested, you test some more. Just like large companies, you'll find that you don't have time for, don't want to, or can't justify testing. But the only surefire way to see if your pages work with multiple browsers and multiple environments is to run them in these settings.
In addition to testing issues, this chapter focuses on hardware and software issues as they relate to surfing the Net and the design of your pages. You'll take a look at the different physical means by which users access your pages-how they get hooked to the Net-and how this affects performance. The monitors and platforms they are using can either positively or negatively affect the appearance of your pages.
Unless you have a direct network connection, some Web pages can severely test your patience. Waiting for hefty pages to download is quite frustrating. One of my pet peeves is waiting several minutes for a graphic to download that has little or no relevance to what I'm looking for. Your experience with this type of frustration is undoubtedly based on what type of Net connection you have. Having experienced both the most limiting and the most unlimiting means, I can understand both. A single connection to the Internet can be via dial-up access, dial-up connection, or direct connection.
The fastest and most expensive means of connecting to the Net is via direct connection. In this scenario, the computer you are using is a direct node or computer hooked to the Internet. This means you have an Internet Protocol (IP) address and can log on anytime you want. In a direct connection, you are usually part of your department's computer network, such as a local area network (LAN), that is connected to the Internet. With this type of connection, full-screen graphics are a breeze, taking less than a few seconds to download. Most transfers occur quickly-about 1.5MB per second. Wouldn't we all like to have a direct connection at home? Ah, the promise of the Information Superhighway.
Figure 7.1 : A direct Internet connection via a LAN.
Back to reality. If you're like me, your home connection is a different story. Except for the blessed few, most in-home connections are either dial-up access or dial-up connection. Dial-up connection, the faster of the two, allows you to use a modem to connect directly to the Internet. In this type of connection the user has an IP address. The advantage to this connection is that when you download a page, graphic, or file it is funneled directly to your computer. Download times here range from 20 to 40 seconds per 100KB to 200KB at about 28.8KB per second. These are approximate numbers depending on your service provider.
The least appealing of all these options is dial-up access. In this mode, you dial up a computer which then connects to the Internet. When you download a page, graphic, or file with a 28.8 modem, wait times range from 180 to 300 seconds per 100KB to 200KB. The severe drawback to this type of access is that when you download the files, they are loaded to the host computer and then transferred to your computer.
Figure 7.2 : A dial-up connection to the Internet.
Figure 7.3 : Dial-up access to the Internet.
Most users, including myself, get anxious waiting for the page to load. Allowing a page's graphics to load increases your wait time because the browser has to pull the graphic from the site's server to your machine. Although most access providers give you ample time to surf (approximately 120 hours for $20), the clock's still running. Hey, time is money. Unless the user has a direct Net connection, he or she will probably not let inline graphics load because the proverbial meter is running.
You can easily control whether inline images are loaded or not by using your browser's inline image option. For example, in Netscape you select or deselect the Auto Load Images option in the Options menu. Toggle it on to let inline graphics load, toggle it off to see text-only pages. When the inline image option is off, the pictures embedded in the page are replaced with small icons.
Generally I run with the inline image option shut off when I'm at home. When I am at the office, I have a direct connection so I leave it on. When you are designing your pages, seriously consider what type of connection the user will have and what constraints under which they are operating. If it's for business, it will probably be a direct connection. Consumers will undoubtedly have either of the dial-up scenarios.
When talking about distributing graphics over the Net, the smaller you can make them and still have them communicate the better. As discussed in previous chapters, graphics used for navigation must load quickly. But what about graphics for clarification, reference, or additional information? Many times you just want to use graphics as supplemental material to help convey information better or clearer. In this case, it may be best to use thumbnail representations of the images so that the user can choose to click on them to invoke larger external images.
A thumbnail image is a small graphic, usually around 100 pixels tall or wide. The graphic actually serves as a link to a larger version of the graphic. If the user chooses to click on it, he is presented with a larger version of the image. In this way, the user has the choice to view the larger image rather than being forced to view it.
The use of thumbnails where the user is dialing up for connection or access is vitally important. Focusing on the perspective and needs of the users will make them much more responsive to your pages and interested in the rest of your site.
Figure 7.4 : Thumbnails allow the user to choose to view a larger version of the image.
As you get ready to test your page, keep a couple of things in mind. First, you should test early and often. Preferably you should add a particular feature, then test it, add another feature, then test it, and so on. By incrementally adding and testing, you will save yourself time debugging your code rather than having to sort through several new code strings to find the problem.
Second, make sure you test your pages in the same environment from which your user will be viewing the pages. If they will be using a Macintosh, use a Mac for testing. If you want both Mac and PC to capably view the pages, then test on both. If most users have limited random access memory (RAM) or low resolution displays, test under those conditions. The testing environment should match the performance environment for accurate results. To verify that your pages will work as planned, follow these steps:
Graphics are undoubtedly both the power and pitfall of the Web. Overuse can be catastrophic, and underuse can be visually sedating. With new technology or the modification of technology comes new responsibility, concern, and problems to overcome. Web hardware will continue to advance, and soon you won't have to be concerned with how big, how much, or how colorful your graphics on the Web are from a delivery standpoint. But until then, you must be wise in your use and development of graphics for the Web so that you will create pages that are not only aesthetically pleasing, but will be able to be downloaded by your audience.
What you see on one computer monitor is not always what you get on another. Inherently there are differences in the way different monitors produce a particular color. This is due to the variability in manufacturing. The platform and the video card, not just the monitor, can also change your would-be awesome pages into something less desirable.
Color differences occur from one platform to another. You can't change this. So you must find a way to create pages that will look good regardless of the platform on which you view it. Simply stated, the colors of a particular image will lighten and desaturate slightly when viewed on the Macintosh. The same image viewed on a PC will appear darker and more saturated. Further yet, a UNIX box could give results at either end of the spectrum.
The lightening or darkening of images deals with a concept called value. If you add white to a color you lighten its value, to create a tint of the color. If you add black to a color, you darken its value to create a shade of the color.
Figure 7.5 : Comparing Web graphics from a Macintosh and PC, respectively.
The saturation, which is the richness or vibrance of the colors in the image, affects the contrast in the image. A saturated blue, or vibrant blue, has a greater lightness than a desaturated, or duller blue. Knowing this, you must watch the values you create and the contrasts between those values. It's not much different from dealing with black and white print issues.
One of the best ways to check for both value and contrast is to use this premise: If you are concerned with a particular color image and how it will display, try opening it into an image editor and converting it to a grayscale image. Does the image still convey information? Does it still have the same impact? Are the values pretty much the same, making it difficult to distinguish what is what? These are the things you should consider before slapping it into your Web page. If it doesn't communicate in grayscale, you may want to rethink your image or use an image editor like Photoshop to adjust the brightness and contrast in the original color image.
Figure 7.6 : Using grayscale to test an image for Web use.
Another note about screen displays is the issue of color depth. This is a function of the video card inside the computer. Undoubtedly if you have a card capable of 16.7 million colors, which is 24-bit, this section won't necessarily relate to you, but most users in cyberspace are still using video cards that are only capable of 256 colors. In a 256-color environment, all the colors shown onscreen are mapped in a matrix or palette called the Color Look-Up Table (CLUT). The individual pixel colors in the image are referenced to the CLUT, much like paint by numbers. The palette or CLUT for an image can be changed to a new one; however, in some instances you may get undesirable results.
Figure 7.7 : The Windows 3.1 CLUT.
What happens if you use a color that's not in the table? For example, you load a page from the Web that has a 24-bit image in it. Well, the computer does its best to match the color to the system CLUT by either interpolation or dithering. Interpolation causes the computer to pick the closest color from the palette, but seldom does this technique give a desirable result. The second, and the preferred method, uses two colors that, when combined, create the illusion of the missing color. Most imaging packages will automatically dither colors when you change bit-depth modes. For example, changing a 24-bit image to a 256-color image will require a reduction in colors. The image editor should prompt you on how the colors should be mapped.
Figure 7.8 : True Color versus Indexed color.
The best-case scenario, when preparing your images for the Web, is to work in 24-bit (True Color) mode. This allows you to paint with 16.7 million colors and lets you see smooth blends in the image onscreen. When you are finished editing, convert your images to 8-bit (Indexed) mode; conforming it to a 256-color palette from your target browsing platform. You can perform these bit depth operations in most image editors like Photoshop. In Photoshop, you use the options in the Mode menu to change an image's color depth.
If you are planning for both PC and Mac, decide which will target the maximum number of users. There are differences between the Windows 3.1, Windows 95, and Macintosh system palettes, not to mention UNIX boxes, but this is discussed a little later.
So why, you may ask, do I need to calculate screen dimensions for images I put on the Web? Again, you must look at the wide variety of platforms, machines, and users your pages will be serving. All computers have specific screen dimensions. Note that this is not a function of the monitor, but of the display card. Most users have their machines set at VGA resolution, meaning the image projected to the monitor is 640¥480 pixels. Other surfers may have higher, but generally the lowest common denominator is 640¥480 pixels. This means if you present an image on a page that is greater than 640¥480 pixels, the user will have to scroll to see all of it. Most pages are designed to run at a resolution of 640¥480 at 256 colors. This is a general standard that most people use. As you get ready to calculate for your image sizes, take a long hard look at your target audience. Calculate for the lowest common denominator, which is the smallest screen size you'll encounter. By doing so you won't eliminate part of your market. To calculate for screen dimensions
The whole purpose behind the development of HTML as the code for Web development has been the desire for platform independence. However, inherent differences in the resources that are used to build the page on each platform inadvertently affect the end result. Remember that HTML is a semantic page definition, not a page layout tool. The fonts, rules, and alignment characteristics for each platform vary even through the semantic page definition.
In general, the biggest difficulty in surfing the Net is just getting your browser set up. Once it's running, things usually work pretty well. (Smirk.) In the following three sections, you'll learn about some specific items for each platform concerning Netscape on various platforms.
The first thing you must do when you set up Netscape is establish a network connection. This requires either a network card or modem installation. Most network cards will come with software drivers for installation. Additionally, if your network is simply Transmission Control Protocol/Internet Protocol (TCP/IP) compatible, Microsoft's TCP/IP driver is enough. Network card connection to the Internet is far more stable and reliable than modem connection.
Use of a modem for dial-up access or connection requires the use of either Serial Line Internet Protocol (SLIP) or Point-to-Point Protocol (PPP) software. These are special software connections over a modem. Usually your provider will supply you with the software for the connection. To use Netscape in this scenario, you simply start the SLIP or PPP software to connect to your provider and then you start Netscape.
One of the most difficult things about setting up Netscape on the PC is avoiding General Protection Faults (GPF). GPFs are usually caused by two programs overlapping in memory and can usually be solved by shuffling a program in memory or by specifically limiting memory locations. Netscape's home page has specific information on dealing with this and other Windows-related issues.
Network access on the Macintosh is controlled via the MacTCP control panel. If you are hooking your Mac directly to a network and have a choice, use an Ethernet connection rather than an AppleTalk connection. This is a recommendation based on speed more than anything else, but you may not have a choice.
The biggest problems that occur on the Macintosh are conflicts between MacTCP (and/or a SLIP or PPP program) and other programs loaded from the System Folder. For example, there is a known problem between MacTCP and a program called RamDoubler. RamDoubler is a program that doubles the amount of RAM in the machine by real-time memory compression. When the system boots, both programs try to load in the same location. A solution is to get MacTCP to load after RamDoubler by renaming MacTCP as ~MacTCP. Problems with other programs could also be solved in this way.
UNIX machines, which are designed for designing tools rather than for surfing the Web, can be somewhat difficult to diagnose for the average Joe. Fortunately, the biggest problem that occurs is that of default colors in Netscape. This relates to previous information about viewing 24-bit images with a screen display of 8-bit. The only way to solve it is to either increase the screen display to 24-bit mode or use an external image editor to view high bit-depth images.
Fundamentally, the 8-bit palettes from the Macintosh, Windows 3.1, and Windows 95 palettes function the same. However, the arrangement of colors varies from one to another. In fact, 216 of the 256 colors are the same no matter which platform you're viewing on, but the remaining 40 colors are the ones that cause problems. These 40 colors are used for system items such as dialog boxes and other system functions. The best way to overcome these problems is to design around what the majority of your target audience uses. If the majority are Macintosh users, design using the Macintosh palette. If they are Windows 3.1 or 95 users, use their respective palettes.
Now that you know how to design pages that anyone can download
I want to view in 24-bit mode. How do I know what my current resolution is, and how do I change it to 24-bit mode? | |
The procedure to check your current resolution or change the resolution depends on which platform you are on. To check or change the resolution on the Macintosh, access Control Panel | Monitors. On Windows 3.1, access the Main group | Setup. With some video board manufacturers, there may be a special control panel to change resolutions located in the Main group | Control Panel, rather than changing it through Windows setup. In Windows 95, the resolution can be changed by going to the Start Menu | Settings and choosing Control Panel. In Control Panel, select Display and then the Settings tab. | |
I've installed Netscape, but it says it can't find winsock.dll. What do I do? | |
Check to ensure that there is a file called winsock.dll in your \wWindows or \wWindows\system directory. If so, make sure that the Path statement in your autoexec.bat file includes the \windows or windows\system directory. If not, you need to install the network TCP/IP driver for your network card or from your service provider diskette. | |
I installed Netscape 2.0 to my system, but now my Macintosh won't boot up! What's the deal? | |
There is a major conflict between the Netscape install program and memory doubling utilities like RamDoubler. When Netscape 2.0 is installed on a machine that uses RamDoubler, it corrupts the B-tree structure of the Macintosh. Unfortunately, most people don't find out about this until after the fact. To fix the problem, use either the First Aid on the Disk Utilities disk that came with your Mac or use a utility such as Norton Disk Doctor. | |
I tried to access a site and it gave me "Unable to find DNS Entry." What does this mean? | |
There are several reasons why you might get this prompt. Generally it is an indication that there was a momentary lapse in DNS service-the DNS server was too busy to accept your call. Another occurrence is that of a mis-spelling in the address name. If you are trying to set up Netscape for the first time and keep getting this message, it means that it is not set up correctly. First, it may be your TCP/IP software. In this case, check your settings and make sure the TCP/IP software is set up correctly. If you find that it is set up correctly, check with your system administrator to make sure that you don't have a firewall that requires a password for external access or that your server allows DNS name mapping. | |
I get weird things happening on my display when I run Netscape. Is Netscape just really buggy? | |
More than likely it's not Netscape. It's probably your video card driver-the software that is the mediator between the CPU and your card. If you find that Netscape crashes or you get screen redraw problems or weird things happen onscreen, check with your video board manufacturer to see if you have the latest video drivers for your board. |