March 2004

Family Leave

Thursday, 4 March 2004

Travel and work have conspired to keep me from updating in a while. We headed off to New York City (or at least its eastern suburbs) for an extended weekend at Kat's parents' house, so Carolyn's now taken her first two airline flights. She was really well behaved, which was no doubt a relief to the people seated around us in the ERJ-135s (seating capacity: 37) we took to and from JFK. Kat's brother Neil flew in from San Francisco to meet his niece for the first time, and some friends and family in the area gathered on Sunday to meet Carolyn. It's a good thing she's so cheerful and happy to meet new people.

While we were gone, I received some e-mail that hypothesized that last week's masthead graphic was, um... was... er... let's just say he wanted to know if it was an extreme anatomical closeup. In a sense, the answer is "yes." It was a closeup from a picture of a giraffe's eye taken from a distance of about two feet; the same picture, in fact, that I submitted to the Mirror Project. I've been told that I should have an "About the Masthead" area of the site. Somehow, I find it more fun to leave things a little mysterious, at least for the more abstract masthead images. After all, if I explained everything up front, I wouldn't get amusing e-mail.

There should be plenty of opportunities for you to guess. This week's masthead is #5 in a series of 26, and I expect I'll have added even more before #26 goes up at the end of July.

Hack and Slash

Saturday, 6 March 2004

Back in January, I reacted to Peter Nederlof's whatever:hover by musing that it would be nice to see behaviors used to extend IE in other useful ways, like adding generated content support and so on. Dean Edwards, regardless of whether he saw what I had to say, is doing that and more with his in-progress IE7 behavior suite. Can you say, "will add support for attrribute selectors, multiclass selectors, and adjacent-sibling selectors to IE/Win?" Oh yeah... I thought so. And that's just the beginning. He has generated content on his list of things that will be supported, and a whole lot more besides. The behavior is currently alpha, but it's everything I could possibly have hoped for and more. I'm going to be keeping a close eye on Dean's work, and will be putting it to use as it moves out of beta.

In a similar vein, Dean also created an XBL binding to let Gecko-based browsers use Microsoft behaviors. I think he just might be a genius. Thankfully, he's using his powers for good instead of evil.

Hopefully, I can get one of you XSLT gurus to do the same on my behalf. I have a problem that's proven beyond my ability to grasp. Basically, I have a list of events that include start and end dates; here's the basic markup that drives it. I can get a list of upcoming events, no problem; I just pass in information about the current date when I run the XSLT and do comparisons. What I need is a list of recent events, where "recent" is defined as occuring within the past three months, even if those months straddle a New Year. I also want to get at least the most recent event even if it didn't happen within the last three months. And, of course, I want any results sorted in reverse chronological order. I cannot figure out how to do all that in XSLT. Any pointers or takers for this one? I could really use some help.

(Yeah, yeah, doing it with some database or other would be a snap. I'm trying to do it in XSLT. Think of it as a creative design constraint.)

On a totally different note, here's an interesting pair of articles from SF Gate: Gay marriage momentum stuns both backers and foes and Where Is My Gay Apocalypse? Thanks to Jeff Veen and Simon Willison for the pointers.

Textual Healing

Sunday, 7 March 2004

I freely admit that I'm kind of a zealot when it comes to words and text—heck, this quiz classified me as a "grammar fuhrer." (Note: the rating of "M" for the linked quiz may be too weak; "A" might be better. The results you get may well offend you terribly. Consider yourself warned.) I love to read, and wish I could do it more often. I enjoy writing, for that matter, because there's a sublime joy in crafting the right sequence of words and creating the right tone as a result. (Speaking of writing, I'll have some things to say about that tomorrow.) In what I regard as an exceedingly rare moment of lucidity on Rush Limbaugh's part—perhaps he'd been off the drugs for a few days—he once said, "Words mean things." I absolutely agree, and not just in the narrow sense. To me, the right words mean something far more than a string of communicative markers. They create a meaning that is much greater than the sum of the parts. The right words at the right time can literally change a life.

I say all that to frame what I'm going to say next. The Man In Blue recently posted some thoughts on the use of text in Web design—or, more precisely, his opposition to its use for branding purposes.

By utilising run-of-the-mill text to render your identity, it makes it very hard to distinguish yourself from anyone else delivering a message. Granted, usage of plain text can itself be an identity, but I think that Eric Meyer has pretty much cornered the market on that one.

I'm not sure if that's meant as a compliment or a criticism, but it actually doesn't matter. I took it as a compliment, and I think the things I said above help explain why. Still, I'm going to speak in some defense of using "plain" text for design. Not a full defense, because Mr. Blue (a.k.a. Cameron Adams) is quite correct: branding is important, and visual identity is an important part of that branding. As he says, Coca-Cola spends millions every year on branding. I'm sure Pepsi does the same, as do a great many other companies. As they should. He goes on to say:

Although it might pain the purists, sometimes only an image will do.

He couldn't be more right. It makes a lot more sense for me to share a picture of Carolyn smiling at her mommy than it does to try to describe the same thing. Carolyn, reclining in her car seat while in semi-profile, looks up and to the right with a broad grin on her face.  Kat's hand rests next to Carolyn's left shoulder. If I were in charge of Amazon.com or Wired or some other branded organization, there's no way I'd replace the logo with plain text. Besides, an img with alt text is as accessible as plain text—a little longer to download, but not enough to make a significant difference.

For me, I stick to text because I'm not a visual designer. I don't have a CD full of fonts that I can use to make my text look different, graphically or otherwise, and I don't have the patience to search free font resources to find one. It doesn't make sense for me to spend time flailing toward what would probably be an amateurish result when I can just style some text and move on.

But that doesn't mean that I settle for the default presentation of text, either. An example is the "Cut your costs..." text at the top of Complex Spiral Consulting's main page. The relevant bits of its CSS are:

font: bold 166% Arial;
letter-spacing: -1px;

Yep, just boldfaced largish Arial—but the negative letter-spacing pulls the letters together just a touch, and significantly alters the visual impact of the text, making it seem weightier than normal. Conversely, a positive letter-spacing would spread text apart, giving it a more open feel. Most visual designers grit their teeth over this kind of thing, because it's the crudest form of kerning imaginable. True enough, but it still has a desirable effect, and typically one that's underexploited.

The other reason I stick to text is that it's almost infinitely more flexible than raster graphics like GIF and JPEG. If I decide to resize the "meyerweb.com" in the masthead, all I have to do is fiddle with a line of CSS. For that matter, I do change the size of that text on sub-pages, just as I do the masthead itself. I can also change the text color to suit the masthead graphic. For every one of the 26 mastheads I've created (this week's is #6), I've changed the text color to blend better with the background. Doing this was, again, a change of a couple of lines of text. It would be even better if RGBA color values were widely supported, so I could make the text colored and translucent, but never mind that now. (Side note to Dean Edwards: how about adding RGBA support to IE7?)

And, of course, the user can resize text, which I regard as a benefit, although a lot of designers regard it with pure horror. If I had the name of this site as a graphic, then in any browser except Opera, resizing the content display would leave the graphic text unchanged. That bugs me. If there were universal vector-graphic support, say for SVG, then I could use it to create any font-and-logo combination I was able to dream up (or hire someone to create for me). Even with the widespread availability of the Adobe SVG plugin, it's still not enough. I know, beyond any doubt, that a Web browser will support text rendering. I don't have the same confidence about SVG or even Flash, both of which can be scaled.

So I stick with text. Realize that this is not what I would tell a corporate client to do. When I worked with Macromedia, I didn't tell them that they should replace their logo graphic with plain text stating "Macromedia," and it wouldn't even have occured to me. If I were to work with Adobe or Microsoft or Apple or Red Hat or anyone who'd established a visual identity based around an image, I wouldn't even consider telling them to replace it with plain text. I'd agitate for sensible alt text, of course.

But for this site, or for Peter's site—both of which are personal sites—I don't see anything wrong with using text. (Then again, I guess I wouldn't, having a corner on this particular market and all.) In a lot of ways, I think it's preferable, reducing bandwidth consumption and server hits.

And, y'know... it's text. C'mon, everybody, sing it with me:

Text is natural, text is good Not everybody loves it But everybody should

Or, if you groove to an older, smoother beat:

I can tell you, darling, that it's textual healing Mark up, mark up, mark up, mark up, let's design tonight Wake up, wake up, wake up, wake up, text will do it right

Thankyew! Try the veal.

Making Book

Monday, 8 March 2004

This past weekend, the folks at O'Reilly and I wrapped up the final edits and adjustments to Cascading Style Sheets: The Definitive Guide, 2nd Edition. The in-stock date is near the end of this month, so it ought to be physically sitting on shelves by the beginning of April, maybe sooner. The page count listed on the O'Reilly page (as I write this) is an early estimate and too high; the actual page count will be closer to 550 pages. There are a few reasons for this drop in pages:

  • The support charts have been dropped. When the first edition came out, it made sense to include that kind of information in an appendix, so we did. As I recently wrote on www-style, the world is much different now, and the day of nifty support charts may well have passed. In the CSS realm, anyway. To even present a simple yes/no support chart for CSS2 would have been a dozen pages long, and a nuanced chart with notes would easily have run five times that long. I still have notes and warnings about particularly egregious problems sprinkled through the text, though.
  • The "CSS In Action" and "Look Ahead" chapters were also dropped. There is plenty information available these days on how to actually use CSS, so we decided not to be redundant. As for looking ahead, even a high-level overview of where CSS3 is headed could be a hundred pages long, and out of date the minute we printed it. Better to wait and see where things end up than make a lot of ill-informed guesses.
  • By rearranging the way information was presented, I was able to cut a lot of redundancies that bedeviled the first edition. I also cut out some material that seemed important back in 1999, but has long since become irrelevant (like notes about what IE3 does or doesn't do).
  • The figure count has been scaled back. There are still a few hundred figures throughout the book, but I went to some effort to combine several points into a single figure when I could, and not illustrate every little point I made. You really only need to see so many examples of "boldface text," you know?
  • The text doesn't spend time on things that were in CSS2 but aren't in CSS2.1, and that nobody will likely ever support. This means that some paged-media properties like marks weren't described, and I didn't waste time on the CSS2 marker-styling features since they will almost certainly die out and be replaced by a different approach in CSS3. I did cover properties like font-size-adjust and text-shadow, but not in major detail.

So the second edition is an update of about 380 pages of the first edition, once you subtract out the stuff that was cut. Every chapter of the first edition was reviewed and, in most cases, significantly overhauled even if it wasn't expanded (for example, the Fonts chapter didn't gain a lot, but it was still reworked to reduce the number of figures needed and to clarify some points). There are four all-new chapters, five chapters with significant additions or revisions, and five more that were lightly to moderately revised. So it's practically a whole new book.

That's even more true of the book I have coming out in mid- to late April from New Riders: More Eric Meyer on CSS, a sequel to Eric Meyer on CSS. And when I say "sequel," I really mean it: this is a collection of ten entirely new projects, so it is not a new edition of the older book. You can own one without the other, although of course you should buy both! Baby needs a new pair of shoes, after all. (Okay, that's a lie; she's too little to be wearing shoes. But you know what I mean.) I'll have more details as they become available.

Fishing For Style

Tuesday, 9 March 2004

As a followup to yesterday's entry, I thought I'd share some details on what will be in Cascading Style Sheets: The Definitive Guide, 2nd Edition (now available for pre-order!). Here's the Table of Contents, or at least a core subset of it:

  1. CSS and Documents
  2. Selectors
  3. Structure and the Cascade
  4. Values and Units
  5. Fonts
  6. Text Properties
  7. Basic Visual Formatting
  8. Padding, Borders, and Margins
  9. Colors and Backgrounds
  10. Floating and Positioning
  11. Table Layout
  12. Lists and Generated Content
  13. User Interface Styles
  14. Non-Screen Media
  1. Property Reference
  2. Selector, Pseudo-Class, and Pseudo-Element Reference
  3. Sample HTML 4 Style Sheet

Owners of the first edition will notice that the chapters have been rearranged a bit. Thanks to the expansion of selectors in CSS2, it made sense to rearrange things so that they got their own chapter (which you can read in beta form from O'Reilly), and the parts about how CSS relates to document structure were folded into the chapter about specificity and the cascade. The consolidation of floating and positioning into one chapter really helped cut down on redundancies, although that is the longest and most-enfigured chapter in the book. (In second place, "Basic Visual Formatting.") "Table Layout" talks about how tables are laid out and styled, not how to do layout with tables. The last two chapters are basically overviews with some detail, since user interface styles are almost certainly going to change radically in CSS3 and non-screen media support is limited or largely theoretical at this stage. There's still enough detail to satisfy, I think.

As for the other chapters, they're largely the same as in the first edition in terms of topical coverage. They've just been updated and expanded to match what's in CSS2.1. As an example, "Text Properties" covers everything that it did in the first edition, now updated for 2004; plus it adds information on text-shadow, direction, and unicode-bidi.

The technical reviewers for the second edition were Tantek Çelik and Ian Hickson, who were just as tough and thorough as I'd hoped. Ian's one of the people who pounded the inline layout model into my head until I got it when writing the first edition, actually. I got similar treatment from both reviewers over the interaction of generated content with non-generated elements this time around, not to mention when I tried to figure out the value syntax for text-decoration. It used to be simple, but oh no... they had to go makin' it all fancy.

Anyway, I hope that will give some idea of what lies ahead for those of you who do me the honor of purchasing the book.

I occasionally toy with the idea of setting up a Cafépress store with CSS-related merchandise. If anyone out there has bought stuff (particularly T-shirts and other articles of clothing) from Cafépress, kindly let me know what you thought of it in terms of quality and durability.

Sign, Sign, Everywhere A Sign

Wednesday, 10 March 2004

So I'm on the book-signing schedule at SXSW04 as part of a five-person signature cage match that will last until only one person is left standing! Er, or something. Actually, I assume they're going to kick us out of there by 1:15pm to clear enough space for all of Cory Doctorow's screaming fans. But hey, if you have a book you want to have signed by any of us, bring it along. I imagine you'll also be able to buy Eric Meyer on CSS at the Borders booth where the signing will be held, as well as any of the other books listed. This signing comes just fifteen minutes after the panel in which I'm participating, so it looks like I'll have to dash from one to the other.

When they asked me if I was game for a book signing, I did recommend that they get copies of Eric Meyer on CSS because it seemed beyond scummy to have them stock up the first edition of Cascading Style Sheets: The Definitive Guide when the second edition will be coming out within a week or two of the signing. Hey, I'm lookin' out for ya. Now all I have to do is think up some witty phrases to inscribe.

(If you're in the Austin area but aren't going to be attending SXSW04, you can still drop by and heckle us for free by getting an iF! pass.)

In the past three weeks, I've tried to hack (with varying levels of success) XSLT, Perl, and JavaScript. Since I'm no better than a middling-fair programmer in any of those languages, I suppose some confusion was inevitable, but it seems like it's always XSLT that gets me. Thankfully, Chriztian Steimeier provided a solution for my XSLT problem. The way that templates get called and nest and interact with each other continues to befuddle me, but I hope that it will one day make a modicum of sense.

Austin City Events

Sunday, 14 March 2004 | 1533US Central

So here I am in warm, sunny Austin, which has been chilly and rainy. I actually don't mind, as the weather is quite nice for the time of year, compared to back home. I have similar reactions in San Francisco, which every November I'm there is chilly but feels great to me, so I'm walking around without a jacket while all the locals are complaining bitterly about how cold it is, and I scoff at them. But anyway, SXSW04 is well underway and things are as crazy as expected. We had a fun css-discuss / Webdesign-L / WaSP / W3C / random folks gathering at the Iron Cactus last night, and I finally got to meet SImon Willison. Actually, I've been expanding my rel="met" roster quite a bit, so that's cool.

So after that gathering, which was organized by James Craig, a bunch of us headed over to the party thrown by frog design. Wow. It was very loud, extraordinarily crowded, and had just the right amount of decadence. There was this big screen on which they were projecting some kind of frog design promotional video, all quick cuts and rapid strobing and MTVesque everything, except it featured stuff on which they'd worked, including the iPod. Then the video player crashed, and they had to reboot the system. I got a picture with Tantek standing in front of the screen as it started up. Tantek Çelik stands silhouetted in front of a projection screen on which can be seen a giant Windows XP bootup screen. Thanks to the folks at frog design for giving us one of the funniest moments of the conference to date. (This one's for you, Scoble.)

When we entered the party, hostesses gave us little plastic cups with fake money in them. Apparently you could gamble in the back, and with enough of this frog money could get little door prizes. Or something. I was amused by the fact that Tantek just walked around the party with a cup in his hand, and people kept stuffing their frog money into it. He didn't ask, didn't say anything about the money one way or the other; he just kept being given more for no apparent reason. Considering who employs him, that seemed somehow appropriate.

On Friday night I made a pilgramage to the throne of Lord British, or at least the temporary throne set up in Room 18AB of the Austin Convention Center. Richard Garriott (whose works claimed many, many hours of my youth) and Warren Spector (ditto) talked about the current and future state of electronic gaming. That was definitely enjoyable, as both men were good speakers and had just-different-enough views on the industry to make the session interesting.

I was encouraged to hear that they're moving toward making online games less massively multiplayer, allowing people to find groups of friends and then let those groups continue playing without having to interact with the rest of the people online. That sounds antisocial, but it's actually more social than the current games. I've avoided online games largely because I don't want to have to deal with all the pre-teens killing my avatar and crowing about how I've been "0wnz0r3d." Sorry, kids, I have better things to do with my time. If I could play interesting games with a restricted group of friends, though, I might be seriously tempted. If Half-Life 2 comes out for Xbox with a good multiplayer component, that plus Halo 2 will probably be just about all she wrote.

Friends Galore

Monday, 15 March 2004

This morning's panel seems to have gone well, although since I haven't seen the audience feedback I'm basing that impression on the nice comments I got from people who talked to me afterward. There was also a very low walkout rate during the session itself, which is always a good sign, especially in an audience as crowded as was ours.

At the Web Awards last night, where Dave Shea quite deservedly walked away with the Developer's Resource and Best of Show awards for the CSS Zen Garden, Jennifer Neiderst Robbins' son Arlo got passed around between Jeff Veen, Anitra Pavka, and Steve Champeon. Jeff Veen holds Arlo in his hands as they give each other inquisitive looks. It was kind of odd to watch somebody else's child be subjected to a round of Pass The Baby, and fun to be able to watch the holders without having to worry so much about the baby. (It's a parent thing—when someone else is holding your baby, you watch the baby to see what it does. And to make sure it doesn't get dropped.) Arlo never did make it over to me, but that's okay. I'd far rather hold Carolyn. I miss her, and I miss Kat.

During the end-of-day sessions, Tantek delivered a short presentation on XFN during the panel titled "Ridiculously Easy Group Forming." Strangely, he was really the only one to directly talk about the easy part, although the Easy Journal portion of the panel did cover ways in which the service is easy. The audience seemed quite interested in XFN, which was very cool. Of course, Tantek did a great job of presenting the important core lessons of XFN in relation to social networking solutions; these were, in effect:

  1. Tackle a small problem and solve it in a simple way.
  2. Release the solution into the wild.
  3. Watch adoption spread and tools multiply.

There were many good questions about the structure of XFN from the attendees, to the point that Tantek was afraid he'd hijacked the panel. I told him that the audience asked about what interested them the most. In the cheap swag department, Matt printed up stickers and badge inserts that were large versions of the "XFN Friendly" image to distribute, and I spotted several attendees' badges marked as being friendly.

After the day's sessions I headed to the "Long Live Webmokey!" party, where I proudly wore my Webmonkey toque and finally met some of the staff members (like Kristin and Evany) with whom I'd swapped many an e-mail back in the day. When the smoke drove me out of doors, I spent some time chatting with Steve Champeon and Pableux Johnson, who congratulated me on Carolyn's arrival and were curious to know why Kat and I wanted children. Even though I'd already had to think about and answer that question last year, I realized I didn't have any better answer for them than, "It was important to us."

Feeling worn down, I took in an excellent Italian dinner at Carmelo's with Molly, Christopher, and Anitra, and then retired to my room for the night. Shortly thereafter, a thunderstorm swept in from the west, driving rain through the streets. I spared a sympathetic thought for all the people trying to get from one of the numerous parties to another, and enjoyed the lighting flowing from cloud to cloud and silhouetting the Austin skyline.

[Sorry this update is tardy, but the internet access died on my floor of the hotel last night, and once I reached the conference cloud on Tuesday morning I was too busy saying goodbye to everyone to get online, so posting had to wait until I got home.]

North By Northeast

Tuesday, 16 March 2004

I'm back home in Cleveland and got my Carolyn fix, arriving just in time to be able to hold her for a few minutes before putting her to bed, so all's right with the world. There's a good half-foot of snow or more on the ground, and that makes things even more right—it's mid-March, and that's a time for snow. I'll appreciate spring when it comes, as I did a year ago tomorrow, but for now I want to enjoy winter. Even if it did mean having to dig my car out from under a whole lot of wind-sculpted snow.

Now that I'm home, it's time to list my SXSW04 XFN (those who are newly rel="met", anyway) in the order they came to mind:

If we met for the first time at SXSW04 and I neglected to list you, get in touch and I'll make with the fixing.

SXSW04i Wrap-Up

Thursday, 18 March 2004

Having taken some time to decompress, play with Carolyn, and generally recover from the trip, I present some thoughts, impressions, and memories gathered at SXSW04 Interactive.

  • There's still a lot of interest in social networking, and as much interest in doing it right. The attention XFN gathered (see D. Keith Robinson's comments about hallway buzz) indicates that people want to make assertions about their social connections, and that they aren't satisfied with the currently popular mechanisms for doing so.
  • The interest in favelets/bookmarklets caught me totally off-guard; apparently, of everything I said in my ten minutes, the use of favelets for diagnostic purposes was the things that fascinated people the most. It's easy to forget that such a simple thing can be unknown. I'll be posting some of the ones I used in the near future, but in the meantime, you can't go wrong with Tantek's favelets.com or Jesse Ruderman's Bookmarklets ("ancestors" is flat-out brilliant).
  • Once I managed to pry him away from his fans (a picture of Min Jung Kim acting like a teenage Japanese fangirl on one side of Scott Andrew while Dinah Sanders does a more American fangirl thing on the other side), I chatted with Scott Andrew about the latest goings-on in the CSS world. I mentioned that Dave Shea and Doug Bowman are (deservedly) getting a lot of invitations to speak these days to cool events in other countries with travel expenses paid and everything. "That's the rock star treatment," said Scott. I groused a bit that I didn't get that kind of treatment. He looked at me for a second and said, "Yeah, but you know, you're the guy who's been around forever and inspired all the new up-and-comers. You always get credited as an influence but you never get to the top of the charts. You're basically the Neil Young of CSS."
  • I got a picture of Photo Matt as he was taking this picture. This fact amuses me completely out of proportion to its actual significance.
  • The ratio of Mac laptops to everything else at the conference was about 10:1, maybe higher. I say "everything else" because I know of at least a couple of Intel-based laptops that were running Linux, not Windows. Brian Alvey came up with the idea of inventing a glowing Apple-logo sticker that non-Mac users could stick on their laptop lids in order to blend in.
  • While standing outside the Webmonkey party, I saw a guy ride up on a bike with what looked like a heavy metal pole over his shoulder. He pulled to a stop, dismounted, and put his burden down while he locked up the bike. I was completely floored when I realized that he'd brought his own bar stool. Now that's a self-sufficient man.
  • I ended up at the Iron Cactus two nights in a row, and both nights I found myself shaking my head over the sign outside advertising low-carb margaritas. A lighted sign that reads "HAVE YOU TRIED OUR LOW CARB MARGARITA" That's right, folks, they take out the alcohol and pass the inflated profit margin on to you! It's kind of a brilliant sales tactic, really, and I applaud them for overcharging customers in an honest yet sneaky way.

Frankly, the whole low-carb mania is starting to seriously tick me off, as it did Nick Bradbury; and yes, I know people for whom it's worked. A cousin dropped 70 pounds and halved his cholesterol on Atkins, and my father has been very happy with the related South Beach Diet. That's no excuse for the herd mentality I keep encountering. For example, Schlotzsky's, whose sandwiches I love, now has low-carb options. How's that work? They take away the distinctive sourdough bread (to use their own marketing phrase) and put the sandwich contents on a bed of lettuce. Um, isn't that just a drastically overloaded salad?

Return of the Fish

Friday, 19 March 2004

An image of the cover of Cascading Style Sheets, Second Edition I have in my hands a physical copy of the second edition of Cascading Style Sheets: The Definitive Guide, bound with a RepKover lay-flat spine and everything. So I figure it should be shipping out to folks within the next week or two. If you've pre-ordered, there ought not be long to wait! (And if you haven't, then what are you waiting for?)

As I mentioned yesterday, the 'diagnosis' favelets I used during my SXSW04i presentation generated a lot of comment, so I now have the underlying style sheets on a "Favelets" page in my "Tools" section. For those of you who know how favelets work, just grab any or all of the style sheets you want and go for it. For those who need some assistance, I wrote a "Favelet Creator." You plug in the URL of a style sheet you want to have applied to whatever page you're viewing and the name of the favelet as you want it to appear in your toolbar. Then you drag the resulting link into your favorites toolbar.

All this really does is create a javascript: link that, when invoked, will dynamically write a link element into the head of whatever document you're viewing. That link points to a style sheet, and so the styles are applied. As an example, you could point it to a style sheet that sets borders for tables and table cells. When you click on the favelet, all of the tables and table cells in the currently-viewed page become visible. Figuring out exactly how a table-based page is laid out thus becomes a snap.

So if you don't like the styles I created, you can write your own (or modify the ones I provided) and create your own diagnostic style sheets. The favelet creator should make it even simpler. Either way, I hope these will be helpful.

Thematic

Sunday, 21 March 2004

CSS seems to be the theme of late, so I'll keep running with it and bring back the meyerweb themes of old (as several people had e-mailed to ask if I could do). They won't be available for the general site; instead, I've set up an example page where you can play with them for yourself. As noted, some images used in the themes are copyrighted, while others are not. The thematic styles themselves are now explicitly under a Creative Commons license, so do as you please with the styles, assuming you stay within the license terms. Which shouldn't be difficult; it's a straight NonCommercial license.

Two of my favorite movie-and-music moments happen in the same film: The Matrix (which itself inspired one of the old meyerweb themes). The first is the sparring program scene, where the upbeat video-game-like music goes along perfectly with the video-game flow of the sequence. The second is the lobby shootout scene, where the video-game-like music goes along... you know. The music used for the lobby scene is "Spybreak!" by The Propellerheads, albeit an edited version. In fact, the version on The Matrix's soundtrack CD is edited down from the original Propellerheads version, which is almost twice as long, off of the album "Decksanddrumsandrockandroll". A while back, I assembled a personal mix called "Der Funkengrüven", and it ended with the soundtrack version of "Spybreak!", the only one I had available.

I've always wanted to use the album version instead, but I was never sure if it was worth it to buy the CD just for that song. So I dropped into the iTunes store, called up the album, listened to the high-quality half-minute excerpts available there, and have decided to buy the album. My only real dilemma now is whether to buy it via the iTunes store for $9.99, or to spring for a couple of extra bucks to get the physical disc in a jewel case and everything at Buy.com. It's my first real experience with the iTunes store, and I have to echo what everyone else has been saying: Apple got it right. The store just works. I wish the excerpts were a little longer, say 45 seconds or even a full minute, but that's just picking a nit. If I didn't harbor lingering affection for owning albums in a physical form, I'd already have paid to download it, and I still might. For an oldster like me, that's saying something.

Sadly, I can't use the iTunes store to replace my long-lost copy of "The Bobs", but maybe I could use the store to acquire some Neil Young music...

Crosswinds

Monday, 22 March 2004

I can't, or more likely don't want to, believe that there are still six and a half months to go before the U.S. presidential election is held. My usual approach to such election years is to tune out everything until early in the actual year in which the election is held; I steadfastly refuse to pay attention in calendar years before that one (so I wasn't paying attention to the campaigning that happened in 2003). I take a surface reading of the situation as the party conventions approach, and between conventions and election, I dig into the positions of the two candidates, tolerating the flying mud in the process.

At least, that's the usual plan. This year, though, the race is basically settled and the muck is already thick in the air. Is Kerry more or less of a flip-flopper than Bush? Which candidate has the better or worse economic plan? Who will be a better or worse leader in the "war on terror?" Who can tell? If I believed everything each side said about the other, I'd probably conclude that my clear duty as a patriot was to practice my sharpshooting and plan to attend both party conventions. Or else flee the country.

Not that the latter idea hasn't already occurred to some who are being made to feel a lot less welcome these days. (Thanks for the pointer, Phil.) I wonder: would gays be willing to give up the right to marry if conservatives gave up the right to divorce? 'Cause most of those leading the fight for "family values" have had more than one family, and apparently believe so deeply in the "sanctity of marriage" that they've gone back for more sanctity, if you catch my drift. I've also sometimes wondered if women would give up the right to abortion if those opposed to abortion would give up the right to reproduce. It seems like a place to start negotiating, anyway.

The media, as usual, isn't helping in the slightest. Know how much Bush's plan to go to Mars will cost? No, you don't. The trillion-dollar figure we've heard so often is about as accurate as Percival Lowell's maps of Martian canals, and based on math that makes about as much sense as planning to cut deficits by raising spending while reducing revenue. So while getting to Mars certainly won't be cheap, we've all been handed a thoroughly false picture of just how not-cheap it might be. What else is getting lost in the shouting?

I do have to wonder how many times we're going to see former Bush administration officials claim that the priorities there are or were sorely off kilter, and then have those still in the administration dismiss the critics as partisan, wrong, irresponsible, mentally deficient, or (more usually) all of the above. (See: Richard Clarke, Paul O'Neill, et. al.) I mean, sure, every boss has former employees that don't like him, but there does seem to be sort of a trend emerging. When it's paired with the recent statements by current and former IAEA officials, the brow does furrow with a bit of concern. But hey, the IAEA site uses valid XHTML and CSS for layout! So that's cool!

Should I be worried that the valid IAEA site seems like cause for celebration?

Probably.

I do feel oddly proud that I suspected it was a validating, tableless site the instant I laid eyes on it, and my diagnosis favelets simply confirmed that impression. It's an odd thing to get a feel for the underlying nature of a page just by looking at it. If only I could translate that skill to evaluating investment opportunities.

Functional Changes

Tuesday, 23 March 2004 | 1210 US Eastern

I'd just like to say that Mac OS X Hints is one of my favorite Web sites. That's where I found out how to hack the OS to fix the New Folder/New Finder Window keystroke combinations, for example. Just a couple of days ago, I was wondering if there was a way to get the function keys to be actual function keys, instead of requiring use of the "fn" key to make them work. As it turns out, there's a new preference setting in 10.3.3, and I've already toggled mine. Now I can play Myth again! Not that I have any time to do so... and if I did, I'd be more likely to keep working toward the end of Metal Arms: Glitch in the System anyway.

Design Direction Dilemma

Tuesday, 23 March 2004 | 1304 US Eastern

Jason Fried, one of those savvy 37signals guys, posted recently to express some disappointment about the tone of SXSW04i.

I’d like to think I introduced new and different ways to approach common UI quandaries with my presentation, but I left the conference looking for more. And not necessarily more presentations, but more conversation in the hallways. All I could hear was CSS CSS CSS.

...which would indicate, to me, that the job of convincing developers to use standards-oriented design is not yet complete... unless of course the "CSS CSS CSS" heard was people saying, "Jeez, I'm sick of hearing about CSS CSS CSS all the time. We get it already. Why can't we hear more about X, Y, or Z?" Which I didn't hear, but then perhaps I wouldn't. If CSS-driven design still has a lot of buzz, then people are still interested in figuring it out how to better use it.

After all, table-driven design is a tool, and CSS-driven design is another tool. All the talk about CSS is an outgrowth of the continuing effort to show why the shiny new tool is better in many ways than the old, familiar tool. ("New" is a relative term there.) Once you've figured out that it's time to upgrade, it's tempting to think that there's no reason to keep promoting the new tool. After all, you're using it and it should be intuitively obvious to anyone that it's the right choice. Sadly, that's not so. And it should be said that the limitations in CSS layout help prolong the conversation. There are some layouts that don't work well, or at all, without using table markup. There needs to be a good CSS-G (Grid) or CSS-L (Layout) defined and widely supported before we can really get on to ending all the talk about what design tool to use.

Still, I basically agree with what Jason has to say:

Web standards are great, but people’s own standards include getting things done (and that’s still too hard to do online).

UI designers are making the same old fundamental “forgetting about the human being on the other side” mistakes — except this time their code looks better. Humans — not code validators — use interfaces.

There needs to be more talk about people and goals and scenarios and tasks and clear communication and clear function. More talk about what it’s like to be a human clicking and pointing and struggling to make sense of all this “stuff” that web sites think we need to know and interfaces think we need to do.

Yes! I was sorry that I had to miss Jason's presentation at SXSW04i, because I'd like to learn more about making UIs work better. I'm no usability expert, as I'm sure anyone at 37signals or UIE would be happy to confirm. There definitely should be more talk about improving usability and design of sites. The people who know how to do that stuff therefore need to propose and organize such panels for the next SXSW, or whatever conference they'll be attending. Jason did that for SXSW04i, but we need more people to do the same.

Because as long as SXSW keeps approving CSS panels, people are going to be talking about it. If the majority of proposed design panels are about CSS, then it stands to reason that the majority of approved panels will be the same. In some sense, I'd love to see a conference where there were so many other and more interesting panel proposals that there wasn't room for Yet Another CSS Is Cool Panel. Heck, I'd like to attend a conference like that, because I could really enjoy attending it instead of spending half my time and a couple of late nights worrying about what I can say on my panel without boring or confusing the audience. (Once you count the discussions, false starts, fine-tuning, rewrites, and reworkings of the material, I spent something like ten hours preparing for my ten-minute panel segment.)

If you want the design discussion to be more about people, as I agree it should be, then it's time to start writing articles, posting to blogs, making newsgroup posts, and presenting conference sessions about it. It will probably take a huge heap of time, way too much energy, and a near-infinite amount of patience to get the ball rolling in the direction you want. Of course, you won't get paid for any of it; hell, you'll be lucky if you're thanked for any of it. That's what I and a great many other people went through to get things moving toward using standards instead of allowing sites to continue being as heavy and labrynthine as a shelf of Umberto Eco novels. At no point did the obvious advantages of standards-oriented design sell themselves, lazy sots that they are. It all had to be done by a group of scattered, largely uncoordinated, individually driven volunteers who took up the effort because they thought it was The Right Thing To Do. Is it any wonder that, on occasion, we were perceived as being zealots?

I will say, standing where we are today, that for me it was all worth it. If I'd known ahead of time what would be required, I'd never have started; and I'm sure that if I could clearly remember what was required that I'd swear never to do it again. (I'm told that parenting is much the same.) I don't think the effort can be called complete, but we're past the hardest part. Major sites are migrating away from the bloated code of yore and reaping the benefit of simplified, semantic markup. And it's true that I do get paid by clients to help in that effort, although I'd like to think that the investment pays off many times over in improved page load times, reduced bandwidth consumption, faster and more efficient maintenance, and so on. That's true today. For a little bit more than half a decade, it wasn't.

To come back to my point: yes, we need to have more of a discussion about making the user's life easier. I've done and still do my part, in promoting the use of techniques—tools, if you like—that remove technical barriers to that goal (thanks to reduced page weight, et cetera). That's the part I know. I hope that people in other areas of the Web design space will be willing to expend the time and energy needed to explain the parts they know. I'd love to learn new ways to make my site better, and that can help my clients make their sites better. I'm all about that. I'm ready. Let's do it!

Tipping Points

Wednesday, 24 March 2004

My original plan for today was to talk about weblogs and how they (don't) work, but I'm having trouble forming coherent thoughts, so I'm going to put that off for a couple of days. Besides, when I saw this picture of Simon Willison's desktop, my brain crashed and had to be rebooted—which makes it less stable than OS X, actually.

Instead, I have a personal reaction to a journal entry (spotted via theferrett) that described brightening a waitress' night. It takes a small amount of back story, so bear with me just a moment.

In early 2001, my maternal grandfather died of prostate cancer. His wife had died years earlier, and so the money he had left was passed on to his four children, Mom obviously being one of them. She had various ideas about what to do with it; her father had recommended that the inherited money be used for philanthropic purposes. Although this was completely in keeping with what Mom would have done anyway, she was notoriously cautious about spending money—a trait I picked up from her—and so it sat in a bank account while she pondered her options.

Then, at the end of the same year, she was diagnosed with cancer of her own and told she had perhaps eigthteen months to live. Caution was no longer a viable strategy.

The vast bulk of the money was set aside for donation to a single worthy cause of her choosing, but that's a story for another time. What she did with the rest was spread around "random acts of kindness." It so happened that she'd always had a dream, of sorts, that one day she'd have enough money to become a big tipper. We never did talk about why, and maybe she wouldn't have known, but I've always thought it was an effect of growing up poor in what was effectively a Depression-era family in the late 1940's. Whatever the reason, she'd always wanted to be flush enough to leave large tips when she dined.

Now she had some money and not much time to spend it, so she lived her dream. When she went out for dinner, she'd give the server the usual 15% to 20%, and then add a twenty dollar bill on top of that. If the check was for a small amount, as when she went out for coffee and the server brought a check for $4.95, she'd just put down a twenty and leave. She usually didn't say anything about it, she just did it, feeling good to have done it and feeling good to have made someone else's day a little better. And the service had to be really, really bad for her to forego an act of kindness. This continued until the week before her death; the last place I know of her doing it was the late, lamented Dottie's Diner, where we all went for lunch after the doctor told her that her chemotherapy options had run out.

She had some servers run after her, a few coming out to the parking lot, to tell her about her 'mistake' and try to give it back. I think she was secretly pleased to meet someone that honest, even though she was uncomfortable telling them there was no mistake in person and receiving thanks. Some of them burst into tears, or came close to it, and that made her really uncomfortable.

As I was writing this entry, I told Kat I was having trouble expressing what I wanted to say, and was thinking about deleting it completely. She listened to what I was writing about and said, "Oh! I performed a random act today!" She'd gone out to lunch with a friend. "The waitress ran after me to tell me I'd made a mistake, and when I told her it was for her, she hugged me. I could feel your Mom smiling."

Go Blue!

Thursday, 25 March 2004

One has to be careful rooting for the University of Michigan when one lives in Ohio, but I think in this case I can get away with it. Tantek pointed out that they're moving the College of Engineering and Computed Aided Engineering Network (love that Tohoscope groove!) sites to standards-oriented design by fall 2004, and exhort their users to get with the times.

Yes, the pages to which I just pointed are rife with tables, images with no alt attributes, and all that funkadelic old-school stuff. We can expect that to continue until they actually do migrate more towards standards-based design. I sincerely hope they'll make a good show of it; I look forward to the day I can list both sites in the "Redesign Watch" sidebar here on meyerweb.

In a similarly Michigander way, I'm hoping to also be able to list MegaTokyo soon, as the man behind the comic recently posted that he's been delving into CSS-driven design. Not being a particular anime fan—although I liked Spirited Away, own Cowboy Bebop: The Movie, and am still captivated by the inexplicable FLCL—I've still been reading MegaTokyo for a good long while now. I do get a chuckle every time a representative of the Tokyo Police Cataclysm Division makes an appearance. Wouldn't that make a great movie, following those guys around as they cope with and clean up after attacks by giant monsters, demon armies, prepubescent superbeings, and so on? I'd watch it.

Run Time Errors

Sunday, 28 March 2004

It's been quite a weekend, and the fun started on Friday. That morning, we drove down to Mansfield to have lunch with my father, sister, and an aunt and uncle who were up from Cincinnati to visit. The afternoon was spent with our tax guy, so Carolyn is now known as "Daddy's Little Deduction." For dinner, exhausted by the travel and looking to celebrate both getting our taxes out of the way and the arrival of my author's copies of Cascading Style Sheets: The Definitive Guide, Second Edition (which means y'all should be getting your copies any day now!), we decided to head over to Matsu and have some sushi. A picture of Carolyn sitting in Eric's laps and gripping a pair of chopsticks in her hand as she looks down at the open menu in front of her. Carolyn sat with each of us in turn, and I'm not sure but I think she was eyeing my escolar nigiri with some interest. She had fun fiddling with chopsticks, anyway.

Saturday morning, we attended a memorial service for the father (and grandfather) of a family we've become close to over the last few years. They helped us plant fifty daffodils in our front-yard flower beds last fall in honor of Mom—they're sprouting, and I hope to get some pictures soon—and their pre-teen daughter has already been a babysitter for Carolyn. Since we had a baby on our hands, we sat in the far back pew and listened to the music and testimonials. The sanctuary of the Baptist church is beautiful, with sweeping stone arches and wonderful stained glass windows, just like you remember from medieval-romance movies. It was hard to keep from reflecting on death, as opposed to life, especially since we'd never really known the deceased; he'd had Alzheimer's ever since we met them.

When his teenaged grandson delivered a eulogy, I looked down at Carolyn and couldn't help whispering an apology for the day that I leave her forever. I hope that day doesn't come for a long, long time, but it won't be put off forever. I hope that when that day does come, she'll be able to smile through the tears, warmed by memories of love and laughter.

As I looked back up, I recalled the recent Papal statement that it's immoral to let die a person who's in a vegetative state. We already know he opposes voluntary euthanasia, along with capital punishment and of course abortion. Basically, the Pope opposes any premature exit of this life, no matter if it's an imposed exit or not. Which forces me to wonder: what does he know about death that the rest of us don't? And why is he working so hard to make sure that people avoid it for as long as possible, even when they've become mental vegetables?

That same evening, my college friends Bruce and Laura, visiting from out of town, dropped by to see Carolyn and introduce us to their son Dennis, who was born just three days before Carolyn. They're currently located in Boise, Idaho, which they find to be interesting despite the political climate. They were telling us about the "clean movie" video stores that are fairly popular in their area. These are places that take movies and edit out the "naughty bits" so you can watch a movie without having to see or hear anything that might offend you. (Unless of course unauthorized alterations of an artistic work offend you, in which case you're pretty much out of luck.) We were wondering whether these places would carry The Passion of the Christ at all, and if so, how much of it would be left. Bruce said he'd guarantee that they'd carry it intact. While I was over at the Catholic World News site, I saw a banner ad for CleanFilms, and as it happens they list The Passion.. as an upcoming movie. I'm almost tempted to sign up for the free trial service just to get their copy of the movie and see how long it ends up being.

Weblog Weirdness

Monday, 29 March 2004 | 1415 US Eastern

Weblogs are temporally broken; the question I have is whether or not they're temporarily broken, or if we're going to manage to fix them. I do not completely exempt meyerweb from this statement, either. As of this writing, the front page of meyerweb is as broken as every other weblog I've ever read. The archives are not, but the problem is that there's an inconsistency between the front page and the archives. That's a different kind of broken, but I'll get to that in just a bit.

Here's what I mean: the most-recent-first format is broken. No other form of written communication works that way, and in fact almost no form of human communication works like that. There's a reason why. Reading a weblog is like watching Memento, which I agree was a cool movie, except all weblogs are like that so it's as if every single movie released in the past seven or eight years was structured exactly like Memento. If conference presentations about weblogs were true to the form, the speaker would start with the conclusion, work backwards through his points, and end with the opening statement. (I'd love to see someone actually do that.) If weblog entries were ordered like the weblogs themselves, this would be the next-to-last paragraph, and the one above would be below it instead.

"But Eric," you cry, "we want to see the most recent information first! Newer is better!" Wrong. What's most important is catching up with the content you haven't seen before. If weblogs could run off of telepathy, the site would determine the most recent post you'd actually read, and then present you with all of the posts since that one, listing them in chronological order. (It might also show you the most recent post you'd already seen for a sense of continuity, but that would be the very first post you saw. You could skim through it quickly and get to the new stuff.)

It's frequently the case that I'll drop by a weblog and the most recent post will refer back to a two-days-ago post, or maybe to three posts scattered over the previous week. In some cases, the most recent post makes no sense without having read the older stuff. So I have to skip to the older material, read it all (making sure I get it in correct order), and then come back to the newest post. For me, that means opening up the older posts in separate tabs. Others might open new windows, or just skip around. Another alternative is to find the least recent post that I've read and start reading from there. And that's when things get really annoying, because it means scrolling downward to read the post, then scrolling up past what I just read and the entire body of the next post, then scrolling slowly down as I read the newer post. Lather, rinse, repeat, regret.

None of these solutions are at all intuitive. In fact, our collective behavior when it comes to reading weblogs is a stunning example of an entire community adopting hugely counter-intuitive behaviors in order to conform to a received truth (that weblog entries should be ordered most to least recent). I bet many of those people are the same ones that carp about the CSS definition of width being counter-intuitive. Yet if you read a twenty-chapter book the way you read weblogs, you'd start at the beginning of chapter 20, read it, skip back to the beginning of 19, read that, and so on until you finally worked your way back to chapter 1 and finished the book. How much sense does that make? Close to none.

I admit that for weblogs where most entries are two paragraphs or less (*cough*Scoble*cough*), this doesn't matter as much—you just scroll up instead of down. But your eyes are doing the same counter-intuitive thing by scanning up, then reading down, up, down, up, down. After a few minutes of that, my eyes start to get tired, and that makes me grumpy.

It's also true that in syndication aggregators, you can order the feed entries however you want, but you can get true chronological order only if the posts have a sortable publication date (many don't), and you can only read chronologically in the aggregator if full posts are being syndicated. On many sites, that isn't the case. I send out a summary feed in both RSS 0.91 and RSS 2.0, and that's it, because otherwise I'd noticeably increase my outgoing bandwidth consumption. And yes, bandwidth still matters. Besides, saying "yeah, weblogs are backward but you can fix them with an aggregator" is in my mind functionally equivalent to saying "yeah, weblogs are broken but with a completely different method of representing the data and a new piece of standalone software, we can hack around the problem." So either weblogs are broken and we've chosen to invent a whole new branch of technique rather than solve the problem for the Web, or else the Web is not the correct medium for logs/journals and we need to get them off the Web altogether.

I don't believe the latter is the case, so that leaves me looking hard at the former. And yes, syndication is incredibly useful for telling you when there's new stuff on your favorite sites. I'm talking about the problem with weblogs themselves. Anyone who's gone into my archives will have discovered that they're in chronological order, so you only have to scroll down when reading. A post is immediately followed by the next-most-recent post. No up-down-up-down scrolling required. It's completely inconsistent with the main page, of course. People have complained to me that going into the archives messes them up, because they go from the usual reverse-chronological-order posts on the main page to a page of chronologically ordered posts. I agree that's entirely too confusing, and things need to be consistent within the site.

So the solution I'm pursuing is to fix the main page to be in chronological order while still being easy to use. I've been toying with ideas on ways to do this, and I hope to test some of them out in the next couple of months. In the meantime, if anyone knows of a weblog where the author has taken a crack at doing chronologically ordered posts, I'd like to see it, regardless of whether you think they did a good job or not.

Leaping Fish

Monday, 29 March 2004 | 1453 US Eastern

As I write this entry, Cascading Style Sheets: The Definitive Guide, Second Edition is #3 on Amazon's Computers & Internet Bestsellers list, and the book itself has a sales rank of 144. Sweeeet.

First-Order Solutions

Wednesday, 31 March 2004

While I knew I was staking out a position that was likely to cause some controversy, I've been rather surprised at the response to my post on Weblog Weirdness. I got several e-mailed responses, some in support of and others disagreeing with my views. Matt Mullenweg went to some length to describe just how wrong I am, and I threw out a few responses in the comments. Chris Vincent responded to my post by keeping the reverse-chronological (or, as Michael Hanscom put it, chronoillogical) order for his weblog, but implementing a "Welcome Back" feature which tells you what's new since the last time you visited the site. The News Goat put forth some ideas on how to handle chronological posting as well; the ideas are similar to what Chris did and close to what I had in mind (more on that in a moment). And the aforementioned Michael wrote an entire post in chronoillogical format, with the paragraphs running last to first. The interesting part is that it made almost as much sense that way as forward, which is either a testament to Michael's writing skills or else an indication that I'm wrong about the nature of writing. (Hey, why not give my critics more ammo?)

Speaking of critics, I did have my mental state questioned a few times, and more than one person has wondered why I'm so angry about this subject. Angry? Apparently I've managed to build up an image so mild and inoffensive that strongly stating my views looks like anger. Time to start correcting that image.

Other commentary and ideas: Robert Scoble, Bob Congdon, Roger Benningfield, Richard Allsebrook.

Meanwhile, I took a crack at setting up my primary idea, and discovered that I just don't have the programming skills necessary to make it work in a reasonable time frame. (Hell, I couldn't even figure out how to get MySQL running on OS X, and spent a couple of curse-filled hours before giving up.) So I'll describe it, and hope that one of you bright coders can make it work. Although I'm using ordered steps here, this isn't a flowchart or anything; it's just the way I envision the system working in my head.

  1. The posts are in chronological order. (Yeah, I know, that probably seems obvious given what I've been talking about.)
  2. When the user first arrives, the site sets a cookie that records the date and time. This is updated on every subsequent visit so that the cookie always knows the last time the user visited the weblog.
  3. On subsequent visits, any post was previously seen shows only its title and date; the entry text is collapsed (hidden). Any posts that are new since the last visit are shown in full. Some sub-thoughts to go with that:
    • The collapsed posts might not be totally collapsed, but show an abstract, or the first sentence of the post, or something that gives a little more context than just title and date.
    • The most recently-viewed post (that is, the post that was most recent the last time the site was visited) could also be shown in full, in order to give some sense of continuity.
    • For those who like to have a ton of posts on the front page, there might need to be a "skip to first expanded" link. Or else you could offer an option, also set by a cookie, regarding whether old posts should even appear at all.
  4. Next to each of the collapsed posts' title is a button that lets the user show the text of that entry. Next to that button is another button that means "click me and I'll expand this post and all of the posts that follow it." No, I haven't figured out how to turn that into an icon yet, but I bet somebody out there can.
  5. Similarly, expanded posts have buttons that mean "collapse this post" and "collapse this post and all posts that precede it."
  6. If you visit the page and there's nothing new, then collapse all but the most recent; in other words, make sure there's at least one post open. If all of the posts are new, well then, of course you have them all open. The system might even indicate that there are archived posts that haven't been seen, and offer a link to the least recent of them.

In general, this approach allows for a compact display of posts in chronological order while making it easy for the user to get right to the new stuff. It doesn't make the page any heavier than normal, either. I can even envision in my head the general markup and scripting needed to drive this system, but I'm too clumsy with JavaScript to make it work any time this week (or next, I expect). Maybe one of you can show ol' gramps how it's done.

Matt actually proposed a very similar idea to me, except I think what he was envisioning was server-based: there's a cookie that records the last visit time, and the server reads that and returns just the content for the new stuff. Though I see no reason why a server-side plugin couldn't offer the kind of functionality I just described. It would require more roundtrips to the server as posts are expanded and collapsed, I suppose. It would still be worth trying.