2003, Part 2

Deluged

Wednesday, 2 April 2003

I'm back from User Interface 7 West, which was a most excellent time; and a four-day vacation at Ragged Point, which was a more excellent time, but in a completely different and much more relaxing way. Upon my return, my personal e-mail account contained 2,280 messages, of which almost precisely half were spam. The work account had 1,300+ messages, and I'd already downloaded 500+ while on the road.

I'm a little behind, is what I'm trying to say.

If you sent me a message recently, odds are it will be a while before I respond. If I don't respond in the next couple of weeks, your message was probably lost in the spam, so consider resending it after that time. Yes, I know, Spam Assassin, Cloudmark, blah blah blah. It's more fun to complain about the spam, really. Besides, deleting it manually is a good workout for my speed-reading and snap-evaluation skills.

I did notice a number of messages about webreview.com rerouting to Dr. Dobbs Journal, and the disappearance of the CSS support charts (a.k.a. "The Mastergrid"). Yes, the charts are now offline, although since they hadn't been updated in over two years this is not what I'd call a deep tragedy. Fans of the charts will be glad to know I'd already been working (slowly, ever slowly) toward finding the charts a new home and getting them updated. I'll certainly make an announcement here once there is actual news, but for now, let's pause a moment in silent tribute to the late, lamented Web Review. They gave me my first paid writing gig and the charts a home, and I'll always be grateful to Dale, Chuck, Derrick, and all the rest of the staff.

Oh, and for those interested in my RSS feed, you can pick the flavor you like best from the Eric's Archived Thoughts page.

Restless

Thursday, 3 April 2003

Last night, for a while I lay in bed having trouble falling asleep. When I finally did drop off, I dreamed that I was lying in bed and having trouble falling asleep.

That was weird.

Mark Pilgrim has a nice entry on his site about creating a tab interface out of a simple unordered list and CSS. His approach uses float: left; instead of display: inline;, which has some advantages and drawbacks. Mark also says, "This CSS stuff is hard; don't let anybody tell you different." Well, I'll tell you different, although you can always reject what I have to say. CSS is challenging, certainly, especially if you have old design habits to unlearn. CSS doesn't always act in intuitive ways. Its learning curve sometimes seems too steep a climb for many people. But CSS is very much consistent, once you dive into it far enough, and once you adjust to its way of doing things it becomes not so much easy as very, very powerful.

Some enterprising soul(s) managed to dig up the URL of the copy of the CSS mastergrid at ddj.com, but I wouldn't get too used to it being there. Plus the file isn't using CSS to style the grid any more, which is really rather funny in its own way, but also makes the charts harder to use. While I have suspected for a while that webreview.com would go away, the changeover was completely without warning, so I don't even know who to talk to about fixing the problems. It's a touch frustrating.

I also found out, in the process of tracking down the new chart URL, that someone thinks I look like Luke Skywalker.

That was more weird.

Exhausted

Friday, 4 April 2003
When I woke up this morning my girlfriend asked me, "Did you sleep well?" I said, "No, I made a few mistakes."
—Steven Wright

The link I posted to the CSS mastergrid now redirects to a registration page (apparently DDJ thinks you need to register with them to have to dig for a resource that isn't as useful as it was before they got hold of it), so I've removed the link from the archive.

Also, I forgot to mention that part 2 of the interview with Mike Davidson of ESPN was posted last Friday. It gets into the nuts and bolts of redesign a bit, and Mike tosses out some strong opinions on CSS and validation, among other things.

I think I'm the last to find out about this, but BlogShares is kind of interesting. This site is listed on the exchange, which surprised me no end, and while it isn't doing as well as scottandrew.com (which is where I found out about all this) I'm amused that there are already people who "bought" shares of meyerweb.com. If nothing else, it's an interesting tool to see who's linking to this site, and I like the overall presentation a little better than Technorati's design.

Speaking of which, I went off on an egorati hunt (a term I first heard Tantek use) and found wherearemylegs, which looks a bit familiar. Cool! I'm always interested to see how other people adapt my design ideas to their own needs.

Since I was up way too early this morning anyway, I decided to rework some of the Raging Platypus' buttons in CSS-styled text. So you can steal these buttons, too. The work isn't an exact copy, nor does it cover everything the Plat created. That wasn't really the point. Oh, and I also threw in a recreation of Dave Winer's "XML" button.

I'm wondering if "platypus" is particularly hard to type in general, or if it's a special challenge to me today because I'm so tired. Given that it took me four tries to get "challenge" spelled correctly in the previous sentence, I'm thinking it's the fatigue. I'm also using annoying sentence construction, like starting out clauses with "I'm wondering" and "I'm thinking." As if I remain frozen in those states until you come read this entry. By the time you get here, I'll have moved on to something else. And yet, it makes things sound more personal, doesn't it?

Yep. Definitely fatigue.

Tentacle Alert

Monday, 7 April 2003

Holy cow, there's some cool stuff over at Squidfingers. One of his offered patterns may well find its way into the next redesign of this here site. And, if you'll notice, the pages are very structural markup that's laid out with CSS. No layout tables for our cephalopodic pal!

(Last week, while watching a video on octopi, it occurred to me to wonder if scientists who study octopi and squid tentacles are called cephalopodiatrists. Do cephalopods ever get tenticular cancer? And is it illegal in Georgia to cuttlefish? Even stuffed ones? Even if the stuffing is a really nice Gulf shrimp stuffing?)

I'm currently reading a book called Conspiracy, which is actually an exploration of people's readiness to believe in conspiracy theories and the roots of such theories. For a couple of days, though, I couldn't find the book anywhere in the house. I began to wonder if it had been stolen by the Illuminati or something, but then it turned up on Kat's desk. Very suspicious. Maybe she's actually an agent of the Illuminati, keeping an eye on me to ensure that I don't uncover the real truth. Yeah, that seems reasonable. I'll need to look into making some tin hats to block out their mind-control rays.

The book I read before Conspiracy was James Gleick's Faster: The Acceleration of Just About Everything. Ironically, it took me almost a month to finish.

As I was working on something late last night, FX showed a program called "UFOs: The Best Evidence Ever (Caught On Tape) 2." Leaving the odd punctuation aside, how is it that there was more than one of these shows? I mean, once you've shown the Best Evidence Ever, then shouldn't the next show be called something like "The Next-Best Evidence Ever?" Then I saw Denis Leary doing a Quaker State commercial, which seemed really sad somehow. That was immediately followed by a double shot (sorry) of ads for a "natural male enhancement" product. As if I don't get enough of that kind of spam in my Inbox—now I'm getting it on TV as well. So when do we get mainstream-media spam for breast enhancement products? It would only be fair.

So Square It's Hip

Tuesday, 8 April 2003

I thought Squidfingers was cool, but Jesse Ruderman's bookmarklets are about a zillion times cooler, only in a really geeky way. Want to see, in the status bar, the document-tree path of whatever element your mouse pointer is over? Jesse's got your back. Look up the WHOIS record for whatever site you're visiting? Check. View style sheets, see the generated source, show the values for named anchors, kill off CSS temporarily, go up a directory level, view whatever cookies relate to the site you're visiting, sort tables, view HTTP headers, zoom images, or even resize fixed-pixel layouts? Oh yeah. And that's only a fraction of what Jesse has on tap. My only real problem is that there's nowhere near enough room on my personal toolbar to hold all the bookmarklets I want to install. Even with dropdown folders it's going to be a tight fit.

That reminds me of another cool bookmarklet I saw a while back but never pointed out: Simon Willison's Image Drag. Visit a page, click the bookmarklet, and drag images around to see if you like them better in other spots. Wow. Talk about making design-change previews easier!

Those bookmarklets, plus the features that Henrik Gemal just recently wrote about, makes Mozilla a nearly ideal Web development environment all on its own. Invest a little time in setting things up to your liking, and the Web is your oyster. Amazing stuff.

Master of Your Cascade

Friday, 11 April 2003

The CSS1 support chart known as the mastergrid disappeared when Web Review's servers got shut off, which has apparently caused some anguish in the community. Anguish no more! It's back online now, thanks to Netscape DevEdge. Actually, there are three charts now, with more planned for the future.

There are also plans afoot to (finally!) get the charts expanded to include browsers that have been released since the end of 2000. You know, like two three major releases of Opera, three of Netscape, Mozilla 1.0, IE6, and so on. I don't know if Linux browsers will be added or not, but I'll see what can be done. Also, I'd really like to add Safari, but since I don't have Jaguar, I'm kind of stuck until I can find time to upgrade my laptop.

The charts are also now licensed under a Creative Commons license (specifically, Attribution-Noncommercial-ShareAlike 1.0) so that they can always be available to the community, regardless of what happens in the future. They can also be extended, should somebody wish to undertake the effort, without removing the extended works from the community. I'd like to thank the folks at Netscape for not only giving the charts a home, but also for being very supportive of this licensing approach.

Renewals

Sunday, 13 April 2003

The css-discuss archives are back into active and complete form, although the URL changed slightly. If you're looking for something in the annals of our little community (1,966 members and counting), go to it. The archive makes for a handy way to publicly link to list posts... say, if I wanted to point out a post I made about the issues with creating a monthly calendar without using a table. The archive upgrade happened a little while ago, and I've been utterly remiss in mentioning it. I'd like to thank the fine folks at Incutio for their support and services in keeping the archive going and growing.

This is kind of cool: a design generator for CSS columnar layout. Simon says that it "appears to use Big John's source ordered columns technique," which wouldn't surprise me. Either way, it's an interesting tool.

Spring is well underway hereabouts, and the days are once again sunny and beautiful. Cleveland is an interesting city; through the winter we're one of the least sunny spots in the country, but during the rest of the year we're one of the sunniest. Right now, there's a flawless blue sky backing up barely-budded trees swaying in the wind, and I wish this spring could last the better part of forever.

In Memoriam

Friday, 18 April 2003

Carol S. Meyer, 59, died Thursday, April 17, 2003 at home. She left us after a courageous and eloquent battle with cancer. Carol celebrated life, touching many lives through her caring, teaching, and loving support of others. She was a wife, mother, and best friend to her family. She is survived by her husband, Art; son, Eric, and his wife Kat; daughter, Julie, and her husband, Joe; two sisters, Bonnie and Shannon; two brothers, Steve and Mark; and numerous family and friends.

Carol taught elementary school, having spent the last two decades at Bellville Elementary School. She held several leadership positions within the Clear Fork Valley Teachers Association. She enjoyed gardening and was a Master Gardener for many years.

Friends may call at the Ontario Home of Wappner Funeral Directors Monday, April 21, from 4-8 p.m. A service celebrating Carol's life will be held at the First Congregational Church in Mansfield at 7:00 p.m. Tuesday, April 22, conducted by Rev. Clifford D. Schutjer. A reception for family and friends will follow the service. Memorial contributions may be made to the Community Health Access Project, 445 Bowman Street, Mansfield, Ohio 44903.

Afterimage

Thursday, 1 May 2003
I tried to believe
But you know it's no good
This is something
That just can't be understood
—Neil Peart, "Afterimage" (1984)

I've moved the memorial page into another directory, which feels like a file-system expression of the process of moving on with life. A lot of people told me that the eulogy I delivered at Mom's service touched them, and since I wrote the text out in advance, I've decided to make it available. I think it helps illuminate my state of mind, which is one of deep sorrow but not of hysterical grieving. At some level I'm devastated, but at another I'm at peace, and I think my father and sister feel basically the same. The end was swift, it was relatively painless, and it was gentle. She was not alone, and she knew how much we all loved her. If a cherished person must die, one cannot ask for much better than that.

Our good friend Tantek was probably the first to publicly note Mom's passing, and beautiful journal entries were written by both Gini and Ferrett (also good friends) about the celebratory service, and Mom, and us. Comforting words were received from many, many more people, both by Web and by e-mail, and Kat and I thank you all. Your words have helped sustain and comfort us through a very difficult event.

It's still very difficult to grasp. By definition, of course, my mother existed for my entire life. She always seemed eternal because, in my personal timeline, she had always existed; there was no time when she was not. Until now. How does one come to terms with that? I don't know yet. I'll find out over time, as most people eventually must.

I learned your love for life
I feel the way that you would
—I feel your presence
I remember—

Randomatters

Friday, 2 May 2003

When you withdraw for a couple of weeks, all kinds of stuff piles up—in the house, in the Inbox, in life in general.

During our Passover seder on April 17, I spotted a label on a bottle that cracked me up. Since I'd acquired a digital camera just the day before in hopes of taking pictures of both our families at one table, I couldn't resist capturing the label for posterity, so I'll share it with you. A label from a Coca-Cola bottle that reads, in part: NCAA Final Four - Tune in and be a part of the MADNESS on CBS - Log on to cokemadness.com for more information. Somebody really needed to think a little harder about their domain name choice. Then again, had they done so, I'd have been deprived of a good laugh. Hey, maybe they're going back to their original recipe! Wouldn't that be fun.

The day after Mom's death, Netdiver published a close-ups* interview with me. You've probably already seen it, but if not, there you go. It's long, but that's mostly due to it having a lot of questions, some of which were actually difficult to answer.

Chris Casciano updated his PNH Developer Toolbar to fix some typos, add more links to useful tools, and make the toolbar work in Phoenix/Firebird as well as Netscape/Mozilla. I don't think I mentioned the toolbar here before, so let me just say it's insanely useful and thoroughly awesome. I'm already becoming addicted to it, especially in conjunction with the DevEdge Sidebar Tabs, which lets me drill into various W3C specifications quickly and easily.

Everyone got all upset at Dave Winer, who in turn got upset with everyone; things were said, mistakes were made, meanings were imposed and decomposed. If it hadn't started with a post about designers and CSS, I wouldn't even bother to mention it. My reaction: everyone over-reacted. Dave didn't say in that particular post that there was anything wrong with CSS, although he did make some interesting statements about what works and what doesn't. Of course the advantages of using CSS are fairly self-evident to anyone paying the slightest bit of attention, and (to my eye) far too compelling to ignore or eschew. There are indeed flaws and omissions both in browser support and the CSS specification itself, but that's never stopped anyone. Meanwhile, anyone who's using CSS as a political club of some sort needs to cut it out. CSS is a technology, and a good one that promises to get better. It's not a religion, despite the odd quasi-religious titles people keep affixing to my name ("CSS Pope" being one of the funniest).

On an oddly related note, Jeffrey and Tantek and Matt batted about thoughts on RSS, syndication, hand-rolling a weblog, and so on. This particular journal (as I call it) is basically hand-rolled, and for a long time I manually updated the current entries and archives: when I added a new entry to the home page, I'd cut the least recent entry and paste it into the archive page. That worked so long as I posted weekly and didn't want to do anything else with the entries.

But then I started hearing from people who said that without an RSS feed, they couldn't keep track of a site. I write these entries so that people can see them, and I was sort of interested in RSS anyway, so I decided that I needed a way to set up a feed and automate the process of managing the entries. As long-time readers will recall, I accomplished this by teaching myself XSLT and using it to create a very minimal content management system of my own. Entries are written in an XML format I derived from RSS itself, and I run the XML file through a series of XSLT recipes to produce the most recent entries on the home page, the archives, and the RSS feeds. I suppose I could also create messages to e-mail to people who signed up for them, but I'm not up to that yet.

So anyway, I agree with what Jeffrey says about pouring an entire site's contents into an RSS feed: why would I bother? Part of the experience of reading a personal site is how it looks, the way the words are arranged, the layout of the content. So I've been doing basically what Jeffrey is now doing, and dropping the first sentence of each entry into the feed. That keeps the feed small, it allows people to know when I've posted something new, and gives them enough information to decide if they want to go read the new entry. It also forces me to think about writing good lead sentences, since an entry description of "I just had a thought...." isn't nearly is interesting as "I was pondering the relationship between XSLT and CSS, and had an idea I think is pretty cool...."

(Incidentally, those of you chastising Jeffrey for "selling out" need a serious perspective check. Try some deep-breathing exercises while you're at it.)

Matt observed that I should drop the plink class on the permalinks and use a contextual selector to style them, and that I should add rel="bookmark" to the permalinks. The latter I'll implement in my next XSLT update, as I should have done long ago. The former, however, I'll probably not do just because I like having a class that applies only to the permalinks and nothing else. I might decide in the future to move the permalinks from one element to another, and I don't want to have to juggle a bunch of selectors when I do. The structure and design of the site are always in a slow state of evolution, so I try to plan for future mutations as best I can.

That's one benefit of hand-rolling the whole system. I can plan ahead with the greatest possible clarity because I know exactly how everything is put together, and how changes to the structure will affect the layout and experience. I can also make sure the site's markup is as lean and relevant as possible, because the most advanced document optimization tool ever devised is still the human brain.

Laughter and Sorrow

Monday, 5 May 2003

This morning's Penny Arcade just floored me (it makes more sense if you read the preceding comic first). Say, did you know the Pants Association encourages you to wear your pants at least three times a day? Yes, that's a quote. You get major geek points if you can identify the source, and about a million times more geek points if you know the exact episode name.

Some time later, I chuckled quite a bit at this joke:

Look inside a typical CSS flamer house. What do you see? Chairs, only chairs. No tables.

That was followed by a post asking for realistic experts to explain how to use CSS effectively. Hey, that's me! It's what I strive to be, anyway, as I have for quite some time. I hope it shows in my work.

I'm still trying to get a handle on this whole "CSS flamer" thing, a term I first encountered only a few days ago. I can't quite tell if there are people running around using CSS advocacy as a way to pummel others because it's fun, or if strong advocacy of the use of CSS is interpreted as flaming, or what, exactly. I mean, yeah, I think that if you can design without tables, then you should definitely do it. Is that being a CSS flamer? Even though the reasons are good things like reduced page weight, simplified page structure, and better accessibility? I also think that if you need to do something CSS can't handle, then use the next best tool—tables, Flash, public radio, whatever. Is that some sort of betrayal of the Holy Path of CSS? Help me out here, people, I'm trying to understand. Are technologies forever dead because they aren't perfect? Did visual styling become a war? How? When? Why?

I thought about ranting a while longer, but frankly everything I wrote sounded whiny (as if the above didn't) and it was getting pointlessly angry, so I decided to stop. Maybe I'll come back to it later. Summary: technologies are tools, not religions. Use the best tool for a job. Show other people how to better use a particular tool, if you can. No matter how skilled you are with a tool, please don't hit other people with it.

Every now and again, a little anger does indeed leak through. I might be grouchier than usual today because of the spam I've been getting over the last few days. Here's one I got just this morning: "Remember Mom on Mother's Day!"

Well gee, Mr. Spammer, thanks so much for reminding me that I can't really do anything else.

Zen and the Art of CSS

Thursday, 8 May 2003

Want to see some wonderful, and strikingly different, designs for the same content? Want to contribute your own themes? Then get on over to the CSS Zen Garden. I have two reactions: delight and jealousy. As I've said before, I don't have strong visual design skills. I've been working on a new set of designs for meyerweb, and they're almost ready to go live. I was feeling rather proud of what I'd done. Then these guys come along and show me just how fumbling and crayonesque my design efforts have been.

There are quite a few span elements littered throughout the Zen Garden's source, but as I've been finding recently, this is almost necessary. It's troublesome to me that really interesting CSS-based visual design should require that we clutter the document structure with gratuitous elements, but there truly doesn't seem to be a good way around this. It may be that future CSS, or some other styling language, will allow the author to create multiple layout boxes (or other shapes) for a given element and style them independently. The syntax would probably be weird compared to what we have now, but it would allow for a lot more design flexibility.

And speaking of design, don't forget about the Web Design Meetup tonight!

Blending Galore

Monday, 12 May 2003

For some reason I decided this weekend to crawl into a hole and hack some JavaScript, so the Color Blender's gotten an upgrade. You can use a "waterfall" display of "web-safe" colors to input colors, or type them in as before. If you have already filled in colors and switch value formats, the colors will stay and the values will be converted in place. This can be useful if you want to, for example, find midpoints between #AA31FF and rgb(13%,23%,42%). I think the changes make the tool even more useful, and I hope you do too.

Oh, and yeah, I used a simple table to lay out the page. I toyed with positioning and floating the three "columns," but in the end the table approach seemed the easiest, so I went with it. This was partly because I have a footer and didn't want to mess with floating and clearing just to get it below everything else. It was also because, after a day or two of grappling with JavaScript, I got lazy. I may go back at some point and replace the table with floats. In the meantime, this works well enough.

CSS2 and the official CSS1 Test Suite both turn five years old today. I'm not sure if I bring this up in celebration or protest, but in my case, it's definitely cause for introspection.

A couple of contributed designs have sprouted in the CSS Zen Garden, and I imagine there will be more to follow. What an incredible resource! A few weeks back, I said in my close-up* interview:

While an artist is certainly limited by his medium, it's more often the case that the medium is limited by its artists. Until a Picasso or Serat comes along, you don't truly appreciate what the medium can produce. As more designers come to use CSS, we'll see more compelling CSS-driven sites.

Dave Shea and his contributors are doing exactly that: showing us more of what the medium can do, and creating a compelling site. Just moving from design to design in the Zen Garden should be ample proof that CSS is capable of more than most of us have ever thought possible—me included.

Meanwhile, David Hyatt posted to say that XBL directly addresses the point I made in Thursday's post:

You attach XBL to an element through CSS, and XBL can generate a complete anonymous content subtree that can then be styled using a scoped stylesheet applied to those elements. You can even scatter the real content however you'd like within the anonymous content tree.... XBL is a perfect tool for implementing complex layouts at the presentational level and preserving the purity of the main source document. XBL can even execute scripts for fancy animation effects or rollovers, all without the source document being polluted at all.

Sign me up! I had no idea XBL was capable of this sort of thing; when the "XSLT vs. XBL" thread erupted on www-style a few months ago, I pretty much tuned it out after the fifth message. Obviously I should have paid a little more attention. If I can, for example, take a paragraph and use XBL to generate three block boxes and two inline boxes, styling each one independently to create given effects and applying multiple backgrounds, then it seems like the ideal solution. Except for that whole lack of cross-browser support thing, of course. Still, a similar lack didn't exactly stop me from digging into CSS, back in mid-1996.

I Can Feel The Love

Tuesday, 13 May 2003

The XBL/Zen Garden thread continues over at Surfin' Safari, including an interesting (Gecko-only) example of XBL in action and comments from various parties. Share and enjoy.

I got a bit of feedback on the Color Blender, including a request to make it a downloadable package for offline use. I'll probably merge the CSS and JavaScript back into the HTML document, so people can just save the source if they want an offline blender. I split the styling and scripting out to make development easier, so I probably should have poured them back in before going public. It'll be fewer hits on the server, even. Look for an update in the next couple of days.

Thanks to El Jefe, I discovered that diveintomark.org (whose favicon I may steal) has Eric Meyer on CSS in his "Recommended Reading" section. I'm blushing! The book's sales are actually on the rise, apparently, which is kind of amazing given both the industry and the economy. It's the kind of thing that makes me wonder if I should write a sequel quickly, to strike while the iron is hot; or wait until sales trail off to avoid buyer confusion (and to milk the original for all it's worth). Hopefully it's the latter, because frankly I don't have time right now to tackle a sequel. Too busy with another writing project (itself a sequel of sorts).

Thanks to Technorati, I found a site that asked if the DevEdge redesign was the "worst use of CSS ever?" Ah, me public. It's okay, though; in reading through the rest of the site, I concluded that if the person in charge didn't like our design, we'd probably done something right.

Blending and Teaching

Wednesday, 14 May 2003

The Color Blender has been updated to be one standalone file, so you can save it to your hard drive easily. I also put it under a Creative Commons license, which I should have done in the first place. Feel free to share and enjoy. Now I'm really going to try to make this my last blender-related post for a good long while. (Unless I make observations about margaritas.)

Daniel Sternberg has some interesting questions about what makes a computer science teacher. It's a question that's been on my mind as I try to pull together a series of outlines for four-week seminars on standards-based Web design and CSS. You can guess that this is intended for a community college because they're willing to let me teach this stuff without a PhD in computer science. Heck, I don't even have a CS degree of any kind, unless you count a minor in artificial intelligence, and that was focused on the philosophical aspects of it. Allow a History major to teach in a computer science department at a University? Please. I'd have about as much of a chance to be nominated head of the Congressional Black Caucus.

And yet, am I not qualified to teach students how to assemble a Web design, and about the underpinnings of today's Web, with an eye to the future? I certainly think I am, at least from a skills point of view; whether or not I'd make a good teacher of people is another question entirely, of course. The deepest experts can be the worst teachers, something all of us probably encountered at some point in our educational experiences.

So it's been interesting to be contacted by people from community colleges and business schools to come speak, but not hear a peep from the CS departments in my area. Not at all unexpected, obviously, but still interesting.

All Decked Out

Thursday, 15 May 2003

This whole playing-card deck thing is getting way out of hand. We all know about the US Central Command's card deck of Iraq's Most Wanted; you can even download a low-resolution PDF of the deck, or else buy a better-quality set from one of about a zillion merchants. Réseau Voltaire is offering Les 52 plus dangereux dignitaires américains, a deck of the "52 most dangerous American dignitaries" in the Bush Regime. When Texas Democrats fled to Arkansas Oklahoma to deny legislative quorum and kill a redistricting bill, Republicans created a "Most Wanted" deck of cards featuring the faces of their absent colleagues. I've been getting spam for a "Deck of Weasels" featuring American war opponents' pictures and quotes. (Which is ironic considering I'd personally like to see a "Deck of Weasels" featuring the pictures and home addresses of the top 52 spammers.) I'm guessing that in the upcoming election cycle, we'll see plenty of card decks—most wanted polluters, tax boosters, pork-barrel projects, missing freedoms, whatever. It won't be too much longer before we'll be able to create a deck of the 52 most wanted Most Wanted decks. For that matter, how soon will someone create a 52 Most Wanted standards implementation changes?

And don't look at me. I have way too much on deck as it is.

Advance Planning

Friday, 16 May 2003

Regional linguistic variations are funny. The BBC News UK Web site has an article with this lead paragraph:

US President George W Bush has launched his bid for re-election, filing papers declaring his intention to contest next year's vote.

Here in America, the usual meaning assigned to "contest," at least in this context, would be "challenge" instead of "strive to win"—so to us Yanks, the implication is that Bush is already preparing to challenge the results of the next election. Sounds like an Onion story, doesn't it?

Speaking of linguistic variations, I now have in my possession copies of Cascading Style Sheets: The Definitive Guide in Polish, Bulgarian, and Korean. Two of each, in fact. The surreal part is that all the examples and screenshots are still in English, while the main text is in something not English. I have to wonder how that affects the book's utility for local readers.

So not only will I be speaking at The Other Dreamweaver Conference (TODCON) next month in Las Vegas, I'll be giving two technical sessions and delivering the conference keynote. Some other speakers you might know will also be there, including Molly Holzschlag, Murray Summers, Massimo Foti, and Angela Buraglia, among others. It should be an interesting time, what with me giving talks to all those Dreamweaver power users when I, you know, don't actually use Dreamweaver. Haven't touched it in years, in fact.

We're headed off to see The Matrix Reloaded tonight, and as expected it's already causing hugely polarized reactions among those who've seen it. I have pretty low expectations, so I ought to be all right. As with the first one, I expect a lot of goofy exposition and nonsensical backstory mixed in with some eye-popping special effects sequences. Hey, it worked well enough the first time, so why not draw from the same well?

Ghostly Echoes

Saturday, 17 May 2003

Eight years ago today, my life was fundamentally changed by a single sentence. Ten simple, unexpected words were the gateway to several months of anger, confusion, and grief. And regret, so much regret. In the end, it really was all for the best, but it certainly didn't feel like it at the time. I learned a great deal, and changed in ways I never would have believed possible. In retrospect, the benefit was worth the cost, even if I hadn't been aware I was going to be paying.

One month ago today, my life was fundamentally altered by a single event. It was somewhat expected, of course, and had been for sixteen months. That didn't make it any less final, but it did make it less difficult in many ways. There was very little unresolved by the end, so there was very little to regret. Whatever needed to be said was said; whatever needed to be done had been done. We gave as much love as we could, and had no doubt she knew how much we all loved her. If there is anything that can ease the path from this world, I have to believe that it's love.

There will be regrets to come—words and events and feelings we can't share, tiny pangs when we wish we could tell her what's happening in our lives and hear the pride in her voice; a feeling of absence when we want to turn to her for comfort or advice and know that it isn't there. These are selfish desires, I suppose, but not ones easily put away. Perhaps the process of healing is really one of substitution, as we find other sources for the same feedback. Perhaps it's a slow process of forgetting the details of what we miss so dearly, so that it becomes blurry and shrouded in a haze of elapsed time. The edges soften, and stop cutting quite so deeply.

I'm just guessing, of course. It's only been a month. Ask me again in eight years, and I might know something. For now, I just keep moving and keep doing my best to make her proud of me.

Scratch One Town

Wednesday, 21 May 2003

All I can say, having been a bysitter to a group of people watching the series finale to Buffy The Vampire Slayer, is this: if there is indeed a Hellmouth in Cleveland, it's more than likely under the Peter B. Lewis Building. It makes a certain degree of sense, especially when you consider the Law School is immediately adjacent to the site. Before the building's construction, there was an empty field containing a few abstract sculptures that may actually have been, upon reflection, demonic symbols or powerful wards of some kind. Now they've been removed, which probably means creeping evil, lowered bowling averages, and all manner of ickiness.

While we're on a pseudo-religious bent, the prophetical power of Scrooged continues to be demonstrated, as it was several months ago. Yea, the words of the most reverend Mitchum shall lead us from the valley of the miniseries, and unto the Kingdom of Schmaltz.

Be Heard

Thursday, 22 May 2003

Do you still avoid PNG images because IE/Win doesn't support the alpha channel? If you're like most Web designers, the answer is "yes." Thanks to Owen Briggs, I came across a petition asking Microsoft to change that. Will it change anything? Who knows? We can but try. You will have to allow a cookie (to prevent petition stuffing) and give them an e-mail address, but you can withhold your e-mail address from public exposure. If you want to see real and widespread PNG support on the Web (and any designer should, once they fully understand what PNGs can do) then you should go sign the petition. It's quick, it's easy, and it's important.

Valid Relaxation

Tuesday, 27 May 2003

The W3C's HTML validator has a new beta that includes a significant change. It will now attempt fallback validation if it can't find a DOCTYPE or character encoding. In other words, if you run a legacy document through the validator, it will warn you the document is invalid because it couldn't find the stuff it needed, but make a guess at the right DTD and character encoding to use and try validating against those. See, for example, the validation run of a "non-DOCTYPE" test page.

Personally, I think this is great. It makes the validator a lot more friendly without giving people the idea that their invalid documents are okay. It removes one more annoyance from the path to validation, and that can't be a bad thing.

I spent the three-day weekend producing a few metric tons of screenshots, pounding my head against the desktop over the inline formatting model (again), blowing up some virtual giant robots, and all the other things that make for a good holiday weekend. Last night Kat and I went with some good friends to see A Mighty Wind, which we all thought was a hoot. Or, more properly, a hootenanny. Eugene Levy's character, Mitch, was just amazing.

My Dull Surprise

Wednesday, 28 May 2003

I'm continually amazed by what interests people. The most recent examples: Simon Willison's CSS tutorials and Stuart Robertson's "The Search For the Missing Link." This is in no way a denigration of the work either man is doing—it's top-notch stuff, and is not only well presented but is obviously striking a chord with readers. I'm just saying that it never would have occurred to me that people would be interested in those kinds of things, so even if I'd had the ideas, I probably wouldn't have bothered to write them up. (Exception: Simon's CSS makeovers of the Winer and JWZ sites, which I wish I'd thought of first. Oh well.)

This bothers me, because it hints at a personal failing. If I'm not talking about the things that interest people, if I've lost touch with what people want to know, then how can I be an effective teacher and author? Why should anyone bother to listen to what I have to say? For a communicator like me, this is a real problem. I thrive on the exchange of information, both incoming and outgoing. Of course I can always consume knowledge, but that isn't enough. If I can't provide it as well, the meal is unsatisfying. The important thing is the sharing.

Am I bored with CSS, and having that stunt my abilities? Is this a lurking fear of being eclipsed by newer (and generally younger) contributors to the field and eventually forgotten? Have I just been in the game too long to stay in touch with the audience? I'm sure people out there would be happy to tell me that I could still see what the audience wants if only a massively swollen ego weren't blocking my sight, and for all I know they're correct. Maybe it's time to move into a different area of study, and see what happens. I hear they're taking applications at that truck driving school.

It was two years ago tomorrow that I started work for Netscape, by the way.

Spanning the Globe

Thursday, 29 May 2003

This afternoon I wrapped up an interview with a guy from Radio New Zealand's Digital Life programme, who was calling me from tomorrow morning. (They're eighteen hours ahead of me.) I noticed almost no lag despite the distance; after watching the one-second-plus pauses in conversations between anchors at CNN Center and field correspondents in the Middle East, I expected a similar effect. There was a very slight delay, it seemed, maybe a quarter-second or less, but no more. We were separated by roughly ten thousand kilometers (six thousand miles) of linear distance and probably thirteen thousand kilometers (nine thousand miles) of surface distance as we talked, and yet the conversation was no different than if he'd been sitting across town. Just wow. I've been promised a transcript of the interview, so I hope I was reasonably coherent.

Yesterday's entry drew some responses, all of them basically telling me to stop worrying. I appreciate that. I think I'll still fret for a while anyway, just because it forces me to think about what I really want to do. If I find other things more interesting than CSS, then I need to admit that and move on. If not, then I need to stop dithering and get back to work. Probably the latter, but one should take stock every year or so.

On this, the second anniversary of starting at Netscape, Microsoft agreed to settle an antitrust lawsuit by paying AOL a large pile of cash, and furthermore let AOL continue to use IE in the AOL client for the next seven years for free.

Well. Perhaps the reflections upon my career and its future will come in handy after all.

Yeah, But It's a Dry Heat

Saturday, 31 May 2003

I'm off to Las Vegas to speak at TODCON MX, so come say "hi" if you're there! I did a quick check of the weather forecast for Vegas and the high temperatures are projected to be over 100 degrees Fahrenheit every day I'm down there. Holy mother of pearl, that's hot... especially for a pale Northern boy like me.

So apparently Internet Explorer for Windows won't be developed as a standalone product any more, but (if I read the article correctly) will instead be bolted even more deeply to the operating system than it is already. Yeah, that sounds like a great plan. Because, you know, the security of their existing products has always been so exemplary.

Hot Hot Hot!

Tuesday, 3 June 2003

Greetings from fabulously hot Las Vegas, where TODCON MX is about halfway to done. Another few degrees and it'll be burnt. Kat and I walked off the plane and the jetway was quite toasty, and then as we left it for the cool airport terminal, we were greeted by several rows of slot machines blinking and booping and warbling. Right there in the terminal. Within five steps I turned to Kat and said, "Okay, I officially hate this place."

I feel the same way every time I'm on a casino floor. Fortunately I've been able to largely avoid them, and concentrate on things like conference activities and wireless access.

So far I've given one talk and have two to go, the next one coming just after lunch today. The brilliant and beautiful Angela Buraglia seems to have liked my keynote, which was nice to see—especially since her son also appears to appreciate my work.

This has been a particularly interesting conference because, with the exception of Molly, every one of the attendees is someone I'd never before met in person. Many of them I know from online work and correspondence, of course, but it's always good to associate a physical presence with a name. Or, in this case, a whole bunch of names.

As for dinner last night... well. This is definitely a fun group of folks, that's for sure, and surprisingly difficult to offend. The advertisements all claim that what happens in Vegas stays in Vegas, but I may soon have some photographic evidence to the contrary. (Insert evil chuckle here.)

Zen, Now, and the Hereafter

Friday, 6 June 2003

There's a great theme at the Zen Garden: What Lies Beneath. It's very non-traditional (hint: you don't scroll like normal) but very well done, nice and earthy. There have been several other contributions since I last mentioned the site, all of them quite interesting. The design process behind one of them has been explained in some detail by its author, Doug Bowman, who knows quite a few things about the power of CSS-based design.

Meanwhile, the Literary Moose has taken advantage of the CSS3 definition of content to show how text can be replaced with an image in a gracefully flexible manner. If you just see plain text for the headline, follow the link to the screenshot, which was taken in Opera. If more browsers supported this behavior, we could stop using <span>-based image replacement hacks such as those employed at the Zen Garden and other sites. I'm not slamming said sites: such hacks are necessary if certain effects are to be achieved in today's browsers. It's still good to have someone pointing out where we might be able to go tomorrow.

As you might have guessed, I'm back from TODCON MX Vegas, which was a real kick on many levels (but not the literal one). That is one seriously unhinged and fun group of folks, and I'd like to thank Ray West for finally getting me there. It seems my presentations were all very well received, which is always preferable to the alternatives, especially the ones involving torches and pitchforks. I hope to get my files online in the next few days, particularly the ones from the "Redesigning" talk. Pictures from the conference are already appearing over at DWmommy.com, and I'd bet there will be plenty more to come.

I think that of all gifts one person can give another, trust is the rarest and most precious. In a way that few other gifts do, trust creates a bond that is at once strong and fragile, and that very paradox is part of what gives it so much beauty. The next time I'm feeling downcast about myself, I need only think of all the people who have trusted me with their thoughts, their feelings, with pieces of their lives.

Images and Words

Monday, 9 June 2003

Having owned a digital camera for less than two months now, I find myself taking random pictures of interesting patterns, just on the off chance I might use them some day. Why not? But the dark side of this activity is the creeping impulse to establish a photo gallery where I can display these abstract patterns and images for all the world to see.

"Go ahead," my ego whispers, "it will show you're a Renaissance Man with diverse interests and talents. People will love it. You'll get invited to show stuff in art galleries, just like Josh Davis. Trust me!" Meanwhile, the more pessimistic (or, more likely, realistic) portion of my brain sneers, "Yeah, just what the Web needs, another collection of pseudo-pretentious almost-art shots. Like it hasn't been done a thousand times before. Would it kill you to be original for once? I mean, honestly."

I don't know exactly what all this means, but it might mean that one day I'll add "Gallery" to the navigation links of this site. If so, please feel free to shake your head in sorrow for me. Then invite me to display my stuff in an art gallery.

Late last week, I was writing e-mail to a friend when I realized I'd changed the phrase "I'll write down some ideas" to "I'll type up some ideas." Now I want to know how, in the long slow evolution of the English language, two such similar activities ended up going in totally opposite directions.

Eos Rising

Tuesday, 10 June 2003

Yep, I finally did what I've hinted at for some time now and updated the site design. Behold: Eos. It's sort of an in-joke, one that I would expect exactly four other people to get straightaway, along with perhaps a few others who happened to see the pictures. Checking the styles might help those who are really curious to unravel the mystery, but trust me, it's not really that interesting if you weren't there in the first place.

So anyway... the new design is based around positioning, as opposed to the old one, which was based on floats. The underlying structure of the site has barely change, with one exception. The navigation/presentation portion of the pages is now found at the end of the document, instead of the beginning. This seems more accessible to me. If you want to see what the raw, unstyled page looks like, pick the theme "void(style);" from the menu.

Note that not every theme is guaranteed to work in your browser. I stuck to the CSS standards as much as possible, and I did do cross-browser testing. This uncovered some weird whitespace-sensitive bugs in some browsers. It also showed that not every technique works well in all browsers. I'm open to hearing about workarounds for broken displays in browsers, should you find them, so long as they're based on standard CSS and don't break the display in too many other browsers.

A few other notes:

  • Unlike the old design, the new themes are intended to have notably distinct layout approaches. Almost all of them put the sidebar on the right, but that's just because I prefer righthand navigation. With the old themes, each one was basically a different set of colors and backgrounds for the same layout. This time, I wanted to be a little more original. I'd credit the CSS Zen Garden with prompting this, but I've been slowly working at this change since last fall.
  • The cookies that store the theme name and base text size (if you change it) changed their names to be a little more verbose. You can of course deny said cookies; the site will be completely navigable without them. The theme switcher won't work, that's all.
  • Only one of the themes uses pixel-sized text: "Classic MW." Since the theme is intended to reproduce the old design as closely as possible, I figured I'd leave its 11px baseline text. You can always override it with text-zoom features, or else on the advanced setup page, like before.
  • Some themes use ems or percentages to set the body element's text size to be smaller than the user's default. I did this to prevent the sans-serif fonts employed in those themes from looking stupidly big in default browser installs. If you object to this approach, then pick a theme that doesn't override text size—the default theme, "Eos," is one of these—or set your preferred base text size on the advanced setup page. Or both.
  • When switching from one theme to another, you may run afoul of bugs in various browsers that let styles leak from one theme to another. If you see a totally horked display, reload the page to see if that fixes it.
  • Although I was tempted, I didn't end up using any PNGs to create the translucency effects in various themes. I didn't use background-attachment: fixed, either. It was a lot more challenging to figure out ways to let IE/Win users see the translucent effects with scrolling backgrounds and regular old JPEGs. I may write a tutorial on how I managed this, but anyone who can't wait is free to tear into my CSS and figure it out for themselves. And to copy the technique, if they so desire.
  • Despite it not being the default theme, I think my favorite is Aware. The name is not necessarily the English word meaning "having knowledge or cognizance," but is instead a Japanese word meaning "the sense of poignant beauty arising from an ephemeral thing." Since I think the latter is only possible with the former, I find this to be a wonderful intersection of cross-linguistic meaning. Thus you can take the title to mean whichever of the definitions appeals to you most. For me, it changes back and forth over time.

There may be adjustments to the themes in the future as I find techniques I like better, or as I fix up oddities in and add extra visual frosting to the more experimental themes (like "Matrix"). Meanwhile, please feel free to share and enjoy.

We Live To Serve

Wednesday, 11 June 2003

Yesterday, Jeffrey Zeldman was nice enough to point people toward meyerweb's redesign, and also to say some kind words about yours truly that he'll probably regret some day. I know I have already, because when goofy rendering errors were reported in IE6/Win, I kind of felt obligated to do something about them instead of just shrugging and saying, "Eh, not my problem." Curse you, El Jefe! I shall be revenged!

Two days ago, I got an e-mail message that had me falling out of my chair, I was laughing so hard, and I simply can't resist sharing it with you. I've edited the text a bit for clarity, and the name has been removed to protect—well, the guilty, really. In a legal sense, I mean.

I've spent some time reading and working with several CSS books.... and I have to tell you that Eric Meyer on CSS is the best.... if I want to know how to do something and refer to the pile of books near my left hand, it is the one that most easily produces the answer.

It has one other great advantage over all the others as well: it is by far the best book to roll a joint on. Shape, size, thickness, glossiness, flexibility, and color are all excellent and [far] ahead of the competition.

It's amazing how a well designed book serves all purposes.

Well. Glad I could help out.

A day or two before that fascinating bit of e-mail arrived, I was standing in clothing store located in a brand-new shopping mall just recently built a couple of miles from our house, when the following lyrics came over the store speakers:

Don't it always seem to go
That you don't know what you've got till it's gone?
They paved paradise and put up a parking lot.
—Joni Mitchell, "Big Yellow Taxi"

...and I thought to myself, "Is someone trying to be ironic?"

XSLTorture

Thursday, 12 June 2003

Three days ago, in the process of finishing up the transition to the new design(s), I discovered a new reason to dislike XSLT—and it's not exactly like I was lacking for reasons to do so before that. So what aroused my ire this time around? Whitespace. Suppose you have the following XSLT template:

<xsl:template match="/archive">
<div id="thoughts">
<h3>
<span>Thoughts From Eric</span>
</h3>
<xsl:apply-templates select="//entry" />
</div>
</xsl:template>

Further suppose you want to preserve those whitespace returns in and around the elements, in order to keep the resulting HTML clean and readable without being forced to indent all the elements. You can very easily force source indentation with xsl:output, but if you indent elements then you indent everything, including inline elements, and that drives me crazy. In addition, having the whitespace avoids strange layout bugs in certain Web browsers that shall remain nameless, but are not IE/Win, surprisingly enough.

There is, so far as I could discover, only one way to ensure that whitespace is preserved in the HTML output. It isn't xsl:preserve-space, which will only preserve the whitespace found in the source XML. No, apparently the answer is to use xsl:text as follows:

<xsl:template match="/archive">
<div id="thoughts">
<xsl:text>
</xsl:text>
<h3>
<xsl:text>
</xsl:text>
<span>Thoughts From Eric</span>
<xsl:text>
</xsl:text>
</h3>
<xsl:text>
</xsl:text>
<xsl:apply-templates select="//entry" />
<xsl:text>
</xsl:text>
</div>
</xsl:template>

God, that's ugly. Really ugly. Much uglier than XSLT's inherently verbose clumsiness in template handling, which is what made me dislike it in the first place. If there's a better way to do what I did above, someone please let me know so I can share it with everyone else and feel a little less annoyed. Thanks.

Don't misunderstand: I really like what XSLT can do. It's just the syntax and what I find to be thoroughly weird limitations (such as the above) that I abhor.

Transformed Transforms

Friday, 13 June 2003

Thanks to the power of the Internet, I am now less annoyed at XSLT. Chriztian Steinmeier wrote to suggest I try xml:space, something I hadn't previously come across. So the template now looks like this:

<xsl:template match="/archive" xml:space="preserve">
<div id="thoughts">
<h3>
<span>Thoughts From Eric</span>
</h3>
<xsl:apply-templates select="//entry" />
</div>
</xsl:template>

Ah, much better! On the other hand, I discovered when I applied xml:space to another portion of my XSLT, it broke an xsl:choose structure. I had to split one template up into three to sneak around that particular limitation, which some would say is a strength of the technology, since it forced me to further modularize my template.

If I'd been sufficiently determined to avoid splitting up that particular template, I could have used an idea sent in by Hugo Lopes. He wrote to suggest that I could use custom-defined entities, like so:

<!DOCTYPE stylesheet [
<!ENTITY sp "<xsl:text> </xsl:text>">
<!ENTITY cr "<xsl:text>
</xsl:text>">
]>
<xsl:template match="/archive">
<div id="thoughts">&cr;
<h3>&sp;<span>Thoughts From Eric</span>&sp;</h3>&cr;
<xsl:apply-templates select="//entry" />&cr;
</div>
</xsl:template>

It's a lot less ugly than what I had yesterday, I'll agree, but in this particular situation xml:space is a better route for me to take. Still, it's an interesting solution to the problem, and a technique I'll definitely keep in mind for future XSLT projects. Thanks to Hugo and Chriztian for the help!

Hail and Farewell

Saturday, 14 June 2003

I would have posted about this yesterday, but frankly it was too depressing. As others have noted, Internet Explorer for Macintosh is, effectively, done. There will not be another major version: I'll never get to write about CSS support in IE6/Mac, because there won't be one. As I said on Webdesign-L yesterday, and Zeldman quoted in part, I said:

[The IE/Mac team] was truly committed to the best standards support they could muster while working for a corporation that did not always share their ideals. I wish everyone on the IE/Mac team the best of luck in their future projects, whatever they may be. They not only paved the way for many of the things we now take for granted, but they fought the good fight, fought it hard, and in many respects they emerged victorious. It's tough to imagine a better legacy than that.

I was a beta tester for IE5/Mac, and it's long been a favorite of mine. There may be some personal bias stemming from the fact that I know bug reports and suggestions of mine are reflected in the final product, but the wider truth is that it was a groundbreaking browser. I know DOM scripters find it annoying and substandard, but for those of us on the content-authoring side, it was rarely the worst of our troubles.

Others will analyze this development in light of the recent Microsoft/AOL settlement, the cessation of IE/Win as a standalone product, and so on. I'm not really interested in all that right now. Instead, I'd like to take a moment to run down a list of innovations and features that IE5/Mac introduced back in 2000:

  • DOCTYPE switching—some would call this a bug, but in my view they're missing the bigger picture. DOCTYPE switching was the first mechanism that allowed authors to decide whether their document rendering should look to the past, or to the future. It permitted browsers to fix bugs in standards support, instead of forever enshrining them for the sake of "backward compatibility." This quickly spread to Mozilla, and eventually made its way into Opera and IE/Win.
  • Display resolution setting—there's a preference dialog where you can set your monitor's PPI value, literally by holding up a ruler to the screen and using a slider to match the ruler. Some Windows display drivers had this before, but IE/Mac was the first major browser to build the feature into the browser itself.
  • Text Zoom—don't like a site's font size? Override it with a simple keyboard combination, scaling all the text up or down, depending on what you need. Mozilla quickly followed suit and Opera introduced Page Zoom, arguably a better solution.
  • Excellent CSS1 support—it's easy to forget how revolutionary a reasonably complete and bug-free implementation of CSS1 really was. Yes, there are some bugs, as with anything. It's still better than IE6/Win's CSS1 support.
  • Decent (if limited) CSS2 support—not quite as robust as the CSS1 support, IE5/Mac still made good forays into CSS2. Remember the browser was shipped about two years after CSS2 went final, which means it was being written maybe a year after CSS2. That may sound weak, but consider that in addition to fixing all its CSS1 bugs and finishing off CSS1 support, the team found the resources to look at CSS2 and take a stab at doing it right. That's pretty impressive, what with them also having to do all the other stuff a browser has to support besides CSS.
  • XML source tree view—if you load up an XML file, you get a "pretty-printed" view of the document and its source, with collapsible element views. Mozilla got this ability only recently, and I've always guessed that IE6's similar ability only exists because IE5/Mac gave them an example to follow.
  • Full PNG supportincluding alpha channels and gamma adjustment. Sure, it was years after PNG was published, but who else was doing it at the time? Even today, people are still signing petitions to get Microsoft to do the same for IE/Win.
  • Customizable toolbar—you could define your own toolbar buttons, create PNGs (with alpha) to represent the buttons, and customize your browser. It isn't quite "skins" but it was still pretty darned cool. Oh, and the toolbar configuration data was stored in XML.
  • Page holder—eventually Mozilla came along with the sidebar, into which almost anything can be installed. IE5/Mac was doing it long before, albeit with a somewhat different feature set.

There was more, I'm sure, but that was all that came to mind. When it shipped in 2000, IE5/Mac had a feature set that would be respectable if the browser were released today. I'd always hoped that one day it would be followed up with a similarly impressive new version. Sadly, not so.

Just to add an extra layer of melancholy to the whole thing, when Tantek says he found out from folks pointing it out to him, I was one of those folks. It's at once difficult and all too easy to believe that the man who created such a good layout engine, and put in so much effort to improve the Web, found out about the end of his own project from friends and the press.

TODCON MX Talks Available

Monday, 16 June 2003

The presentation and example files from TODCON MX in Las Vegas last week are now available via the Talks page. Thanks and apologies to those who waited; it took me a lot longer than it should have to get these online.

Mirror Life

Tuesday, 17 June 2003

Ever have the feeling that you've seen a site somewhere before? It happens to me on occasion, and this morning e-mail hit my Inbox pointing me to the Web site for The Clasby Family, which looks darned familiar. In case something changes, here's a screenshot of the site, and a shot of a similar one. Actually, all but one of its themes look really familiar for some odd reason.

How did I find out about this? Someone e-mailed me to mention that the designer for clasbylife.com had posted a forum question about Opera's rendering of the themes. I read the post and was amused to find it was the exact same problem I hit back in February, and explained the situation in some detail in a site post. So it turns out the source of the problematic styles is also the source of the explanation. Funny!

For the record, I'm not really upset by this, although it would have been nice if I'd been asked about the use of the images, since some of them are my original works (those in "Natural" in particular). One really good way to learn CSS-driven design is to snag a local copy of someone else's design and take it apart. Then put it back together in your own way. clasbylife.com seems to have that underway, with a new theme that looks to be a mutation of "Natural." If grabbing a copy of something I've done help a designer understand CSS a little better, then I'll be the last to complain. More power to you. Feel free to use them yourself, as long as they're used for non-profit or educational purposes. No charging other people for my designs, though! I really have to get around to explicitly branding these things with a Creative Commons license so it's all clear.

Anyway, as the new stylesheets note in fairly obvious comments, some of the images I use belong to me, whereas some came from other sources. That won't stop people from copying them, but at least I'm providing fair warning (and credit).

Now You See Me...

Thursday, 19 June 2003

Just some fair warning: meyerweb may be sporadically offline over the weekend, as my hosting provider (the incomparable gang at The Opal Group) switches locations, upgrades services, and that sort of thing. So if you drop by and don't get a response, try again later. In the meantime, go for a walk, plant a tree, or scratch a puppy behind the ear. They really love that.

It's already the last third of June, and what I want to know is this: how did so much of the year disappear so quickly?

Reduced to Efficiency

Monday, 23 June 2003

I've been trying to catch up on e-mail. Astonishingly, after only a couple of days of sustained effort, I've managed to get to the point where I'm only two weeks behind on my Inbox! This is to a large degree because I've been sending out terse responses, for the most part, and pointing people to css-discuss in case they need more help. Out of the 300 - 400 messages that arrive every day, once I strip away the listserv traffic and ditch the spam, I'm generally left with anywhere from three to twenty pieces of mail sitting in my Inbox. The average is somewhere just below ten.

So if you're thinking about asking me for help with understanding CSS, my best advice is to go join css-discuss. As much as I love to help people out, you're more likely to get much quicker and more complete answers from the community than from me, especially this summer, which is shaping up to be one of the busiest of my life.

As if in answer to all of my past grumblings about XSLT being all icky and bloated and clumsy, Simon brings word of the Parsimonious XML Shorthand Language (or PXSL, pronounced "pixel"). This language basically turns XML syntax inside out, introduces indentation sensitivity, and ends up with a smaller and much less cluttered language. Consider this example, which I nicked straight from the PXSL documentation:

<xsl:template match="/">
  <xsl:for-each select="//*/@src|//*/@href">
    <xsl:value-of select="."/>
    <xsl:text>&#10;</xsl:text>
  </xsl:for-each>
</xsl:template>

Here's the PXSL version:

template /
  for-each //*/@src|//*/@href
    value-of .
    text <<&#10;>>

Okay, maybe not as compact as I would like, but it's still a lot better than the XSLT version. True, it still has to use XPath, so the line-noise quotient isn't as close to zero as it should be, and it won't do anything about the template-nesting rules XSLT imposes for no apparent reason. It is also true PXSL is dependent on indentation and that never makes me happy, being a veteran of BASIC (where there was no indentation), PASCAL (where it didn't matter), and HTML (ditto). If I were programming Python already, I probably wouldn't bat an eye, but guess why I'm not programming in Python?

The fascinating part to me is that, if you dig far enough into the document (which isn't actually all that long), PXSL was originally designed "to reduce the verbosity of XSLT stylesheets." Ay-men, brother! I do have to wonder about its whitespace handling, though. Fortunately, when I'm ready to learn more I can find out about it via the PXSL Community site, which employs both XHTML and CSS for layout, including a styled unordered list to set up the navigation. Most excellent.

What a great way to start a week!

Testing for Flaws

Tuesday, 24 June 2003

Chris Hester wrote earlier to point out the CSS2 Test Suite's main page was completely unreadable in Internet Explorer 6 if you had the "Text Size" set to "Smaller." This was news to me; I'd set my text to "Medium" the day I installed IE6 and never looked back. So I went to the page, changed my text size, and winced.

The problem's since been worked around, but to see the problem as well as read about the trigger and the solution, try this testcase. Note that if you're using IE6 and your browser is set to "Smaller" the testcase will start out completely unreadable. Set it to "Medium" first and then go to the page and follow the directions.

The flaws in IE6 continue to amaze me, and now we're stuck with it for another three years, minimum. Great, just great.

Dave Hyatt recently made some observations about standards-support charts (starting with Standards Charts and continuing into three posts the next day). I agree with most of what he has to say, actually. Charts like the "master grid" are by their nature coarse. They can do no better than provide support information for whichever tests the chart author happened to run. In presenting an overview and comparison of CSS support, for example, depth-of-implementation testing is sacrificed. It has to be. The CSS support charts I published on Web Review for years, and now on DevEdge, are basically the work of one person: me. I wrote most of what became the W3C's CSS1 Test Suite in the creation of the original charts, back in late 1996 and early 1997. Back then, it was easier—bugs were more obvious, and all implementations were shallow. The charts could afford to be as shallow.

Now, thanks to years of experience, implementations are getting much, much better, and the bugs harder to find. To fully test modern CSS implementations requires a far more complex set of tests than I could author in a lifetime of evenings (which is when I wrote the tests and the charts). To be really comprehensive, you'd need to test every property and value combination on every element in HTML (or a markup language of similar complexity), which I think was once calculated to run into a few trillion combinations. It's a lot harder to create tests, to run tests, and to chart results than it used to be. This fact was driven home to me recently as I worked on (finally!) updating the CSS charts. For the tests I have at hand, most browsers score perfectly, or close to it. I know that's not true: every browser has bugs in its CSS support, some worse than others (*cough*WinIE*cough*).

(Aside: I feel either amused or gratified that there's support for the concept of penalizing browsers for having bugs, a concept I used in compiling the "CSS leader board," back in the day. "Full" support earned a point, partial support got half a point, no support got zero, and a bug lost you half a point. It was a touch crude, perhaps, but it worked.)

But I only have so many hours in every day, the same as anyone else. It's not reasonable to expect one or even five people to meet this challenge. The only way to handle it is to find a moderately large crowd of CSS experts, all of whom trust the others completely, and distribute deep-test creation among them. In a few months, they may have gotten far enough to run browsers through their tests. A month or so after that, they could start compiling results, and eventually publish them. But even assuming all of that data could be collected and presented, how useful would it really be to the Web community? One of the keys to the original CSS support charts' success was that they were easy to comprehend: their very shallowness made them useful. Authors don't have time for much more.

Implementors have different needs, of course. If those needs are strong enough, they're going to need to fund positions (and I do mean more than one) to coordinate the work necessary to fulfill their needs. The money could come out of the Quality Assurance budget, even. In any case, if standards support testing is a serious problem, then we'll need a serious commitment to address it. Who's going to step up to the plate?