|
|
|
About This Site
The Ideaphile site is my personal home page, and my primary
outlet for the many ideas I have in the shower, while driving, attending
computer-industry conferences, and so on. One of these days I'll have
an idea so compelling I'll have to do something with it, but in the meantime,
maybe you can do something with these.
You'll also find some of my opinions here, information
about the Internet fiasco at my apartment complex, pictures I've taken
as well as some interesting photos from elsewhere, and several pages about
me. Hey, it's my site. :-)
And now, some explanation of the new format. I offer
these observations in hopes they may help other Web designers. There are
some designers out there who just don't seem to understand that the Web
is a communications medium, and it's here to help us communicate, not
hinder communication.
My goals for the new format:
- I want to ensure that my site can be viewed conveniently over a wide
range of platforms. For Macs and PCs, a 640-pixel screen width should
be enough.This isn't common in new desktops, but older laptops often
have 640x480 screens.
- I also want this site to be readable from PDAs like my own Apple Newton,
or Windows CE Handheld PCs. My tests show that the key here is keeping
the text column to less than 480 pixels wide. It seems narrow-screen
browsers are able to stack horizontally adjacent table cells vertically,
which means they present the left-side menu cell first, followed by
all the text. This works pretty well, actually. I wouldn't mind seeing
an option on desktop browsers to do the same.
- I want to make sure this site isn't browser-specific. Whether you've
got a beta of Netscape Communicator 5.0 or you're running Lynx from
a Lear-Siegler ADM-3A, you ought to be able to view this site. Indeed,
I'm trying to make sure the site works as well as possible with voice
synthesizers for blind users, and would especially appreciate feedback
on this specific point.
- I don't want to stop anyone from stretching the screen out to cover
a 1600x1200 desktop, either. If someone wants to have really wide columns
of text, that's okay with me. This means the text column, and the table
itself, can't have a fixed width. By the way, using a background image
like the one on this page actually constrains the width of the browser
window. Stretch this page out past 1,600 pixels and you'll see the blue
stripe repeat itself. I could make it wider, but that would make that
image larger. I'd rather not, but maybe I should. Ideas?
- I want this site to print out as neatly as possible. This is why the
menu bar on the left consists of white text (eventually it'll be stylish
white text in clickable images); when printed, the background image
will drop away and the text won't print at all, at least in Navigator.
Ensuring the menu always overlaps the blue stripe in the background
image, but never overlaps any part of the text column, has taken far
more work than I want to think about right now. Few Web pages print
well from the Mac or the PC unless the printing scale is changed in
Page Setup to 80% or less, but this page prints just fine at 100%.
- I want to minimize the number and size of images on the page. That's
why I use the horizontal rule tags rather than custom image dividers,
for example, even though I could do something more attractive than these
simple lines. I've had to use a few instances of a single-pixel transparent
GIF with various WIDTH settings to ensure that the table columns have
the proper width, but I don't think this is much of a problem.
- I want the site to be both flexible and easy to maintain. Ideally,
I should have just a couple of different templates for my Web-page editor
(I use Macromedia Dreamweaver) to cover every page I'll ever have to
create for the site. I also want to be able to update the common stuff
on every page by updating Dreamweaver library elements, particularly
the menus to the left and all the standard stuff at the bottom of each
page.
What I've learned while working on this page:
- If you really care about controlling the width of table columns, don't
use the table or td width parameters, or any kind of cell padding. They
just don't work correctly or consistently across browsers and varying
window widths. Force minimum column widths with a single-pixel transparent
GIF stretched to the column width you want, and add extra columns (and
rows, if necessary) to force the exact padding you want. All columns
except the primary text column should also have a maximum width enforced
by ensuring nothing in them can be wider than desired; this means using
<br> tags to force word wrapping where you want it.
- It looks like a long "word" in a table column will force
the column to stretch out. I wish there was some way to control this,
but if there is, I can't figure it out. If you paste in text that isn't
ordinary words (like samples of HTML code) and it has long stretches
without white space, you'll find your columns expanding unexpectedly.
- In general, fonts are poorly handled in HTML. Why couldn't they have
used point sizes rather than these stupid dimensionless numbers? Nobody
knows how big font size "3" is, so font sizes mean different
things from one browsers to another and from one platform to another.
It's ridiculous.
- Internet Explorer treats the image hspace parameter differently than
Netscape handles it. The result is that you can't use images with hspace
to force table columns to a particular width without getting different
results in IE and Netscape.
- The horizontal rule tag could stand to have a color attribute and
the ability to span a specified fraction of a specified width (say,
90% of 120 pixels). This would allow me to use rules to force table
column widths.
- Also on the topic of horizontal rules, Netscape always draws them
in black, while IE 4.0 for Windows will draw them in a contrasting color
(the one under my picture above is black in Netscape, nearly white in
IE). IE 4.0 for MacOS behaves like Netscape does. Go figure.
- Dreamweaver can't always figure out the right place in your HTML code
to put the cursor when you click into the preview window. Sometimes
it ends up on the other side of an HTML tag from where you wanted it,
and as you type you split one tag group into two. It always makes sure
the result is sensible and syntactically correct, but you can end up
with stray tags floating around, like <font xxx></font>
pairs. I seem to create these pretty often. (This is true of the Mac
version, which is what I use; the Windows version may have a different
set of quirks.)
- Dreamweaver gets confused about column widths in the preview window,
too. If a column is expanded by inserted text (as described above),
then you correct the problem, Dreamweaver won't shrink the column again
until you adjust the window size a little bit.
- Other things I've learned about Dreamweaver: there's a convenient
"Paste as Text" function that allows you to paste special
characters into the preview window and have them automatically escaped
(">" turns into ">" in the page's HTML,
for example). However, it doesn't treat carriage returns in the pasted
text the same way it handles the Return key on your keyboard; it takes
three CRs in the pasted text to create a blank link.
- Dreamweaver doesn't seem to know enough about table cell backgrounds.
It knows what they are; it'll display a table cell background image
in the preview window; its browser-check function knows that table cell
backgrounds aren't supported by any version of Navigator but are supported
by Internet Explorer. It just doesn't provide any way to define table
cell backgrounds except for typing in the parameter in the HTML window!
The GUI allows you to change table cell color, but there's just no field
for a background image. See note 15 for an update.
- Dreamweaver on the Mac is slow! The Windows version on my NT Server
box is nice and snappy. I've got a 233-MHz PowerPC G3 processor, an
ATI accelerated graphics card, and plenty of memory, so there's just
no excuse for this annoyance. It's still usable, but less than ideal.
See note 15 for an update. Worse, leaving Dreamweaver open slows down
the keyboard response in other open apps! This is pathetic.
- Dreamweaver 1.2 changed the default way it handles library elements.
In an effort to make library elements position-independent, it now modifies
links from library elements to other pages on your own site to be site-root
relative. This broke a bunch of my links, particularly the menus on
the left and at the bottom of the screen. To their credit, Macromedia
mentions this issue in a tech note on their Web site. Unfortunately
they didn't mention it in the upgrade documentation, the program doesn't
check to see if the new method will break an existing site, and to go
back to the old way, you have to edit the prefs file using a text editor
(or RegEdit on Windows).
- I really wish Dreamweaver would tell me which Web pages have a given
library element, especially when I save an element and it updates the
site. I get strange reports from the updating utility. Save a new
element and it says it's updating 15 pages. Huh?
- Strangest thing I've ever seen in Netscape (Mac v3.04): Down at the
bottom of this page is a Javascript object designed to display the last-modified
date for the current page. If there's a horizontal rule in the same
table cell with it, the script won't run. To deal with this problem,
I've moved the horizontal rules into their own table rows. This is just
ridiculous.
- Dreamweaver 2 (at least the beta release build 286, which I'm using
now) has some major improvements over 1.2. It knows about table-cell
backgrounds, for example. It's got much better site-management features,
too. It's no faster, though; type a sentence fast and it'll drop characters.
C'mon, Macromedia... there's still no excuse for this. It also
formats pages incorrectly the first time they're opened, as if it's
wrapping text to the right border of the window, rather than the inside
edge of the vertical scroll bar. This is probably fixable.
|