Posts in the Web Category

First-Order Solutions

Published 20 years, 7 months past

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 commentsChris 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.


Weblog Weirdness

Published 20 years, 7 months past

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.


Lather, Rinse, Repeat

Published 21 years, 6 days past

In rummaging through my pictures from last weekend’s trip to San Francisco, I came across another picture I just had to share: the laundry machines where Jeff Veen‘s clothes get washed and dried!  A pair of top-loading washing machines sit to the far left, a pair of front-loaders sit in the middle, and a stacked pair of front-loading dryers can be seen on the right.  They actually don't look like they're any different than normal washing machines.They seemed bigger than normal machines, somehow.  As if they were mighty colossi of laundry machines, towering over the cleanliness landscape and emitting peals of spin-cycle sounds that shake the skies like thunder.

Then again, I could just be projecting.

So what’s with all the pictures all of a sudden?  Partly it’s me messing around with the export features in iPhoto, which are frankly not the greatest.  It generated tons of “jaggies,” and in JPEG images, no less.  I need to find some tools that do a better job, or at least some decent plug-ins for iPhoto.  I think I said that some time back.  It’s more true now than it was then.  (Speaking of which, is there a trick to adding folders to the Dock?  I can’t seem to figure it out.)

Over the past few days I’ve run into two very familiar forms of grumbling:

  • XHTML is bogus because it’s so much pickier than good old HTML.
  • CSS layout is bogus because it can’t do everything possible in table-based layout.

These aren’t new complaints, by any stretch.  Heck, I myself whined long and loud about how XHTML forced everything to be lowercase—I called it “xhtml” for the longest time—and those trailing slashes looked stupid.  Over time, I realized those were silly reasons to dislike a language, especially since HTML is still around and quite available.  (What’s this site authored in?  Hmmm…)  I realized I was ambivalent toward XHTML not because it was pickier, but because it was a reformulation of HTML in XML.  That was exactly its point, and while I could see some utility in that effort, I thought (and still think) it a mistake to abandon all further work on HTML and push forward with XHTML.  I couldn’t come to that conclusion, however, until I stopped carping about things being different and took the time to understand why things were different.

As for CSS-P, of course it has limitations.  So does table-based layout.  The question is which set of limitations you’re willing to accept, and conversely which features are more important to your current project.  I still fail to understand why people have to treat everything as being a binary situation.  It’s not a question of only using tables, or only using CSS, for layout, forever and ever amen.  Some projects do well with one, some with the other, and some call for both in the same layout.  I don’t know how many times I’ve said this over the years, but I guess I’m saying it again.

And if you object to something simply because it’s new and doesn’t act like the stuff you already know, take it from me: that form of resistance isn’t going to work for long.  If you can’t deal with change, you’re on the wrong planet, and if you’re a Web developer/designer then you’re really in the wrong line of work.  Things will always change, whether it’s due to new browsers or new standards or new critical patches from Microsoft or just plain new thinking.  Your best bet is to learn as much as you can so that you can make the best possible decisions about what to do, and why.


Tantek == Spanking?

Published 21 years, 1 week past

The title of the post exists mostly because I vowed in a public setting to use it, but there is a story behind it.  I just don’t remember the details right now, because it happened more than 24 hours ago and I’m very tired.  I remember that a small group had gathered at Crepes on Cole for brunch yesterday, and the conversation kept veering wildly from highly geeky to very much the opposite. Derek Powazek, Heather Champ, and Tantek Çelik are seated at a table.  Derek is looking off to the left with an expression of diabolical amusement; Heather is speaking to someone outside the frame, her right hand to her cheek; and Tantek types away on his new Macintosh iBook. At some point, the subject of Tantek being in trouble (for a comment? an action? a bug in IE/Mac?) came up, and it was asserted that he needed to be spanked.  (“Oh, yes, yes!  A spanking!  A spanking!”) Then it was observed that we should probably check first with his girlfriend to see if that was acceptable.  So I turned to her and said, “So, is it okay with you if we spank him?”

Her reaction was so priceless (and his nearly as amusing), I ended up teasing both of them about it several times, and I wasn’t alone in the effort, either.  She never did answer the question, so we still don’t know where she actually stands on the subject.  It was a weird day.  Relaxing, but weird.  Early on we were discussing relationships and the subject of polyamory came up.  I speculated that the increasing practice of polyamory might be linked to the rising incidence of attention-deficit disorder.  It’s so crazy, it just might make sense.

Pretty much the opposite of ADD is the viewpoint espoused by the Long Now Foundation, which aims to get people thinking about the next ten milennia as opposed to the next ten minutes.  Tantek and I met up at the Herbst Pavilion to see Brian Eno give a free talk on the Long Now, and there turned out to be an even Longer Line.  With space for 700, and probably 750 in the hall by the time they closed the doors, there were very likely three or four times as many people in line as were eventually admitted.  The talk itself was interesting, and Mr. Eno’s presentation style was done in such a calm, deliberate, paced manner that I felt a little more in touch with the Long Now by the time we left, which may or may not have been done on purpose.  The instant the talk was over, Tantek and I headed out a side door and toward the parking lot at a jog so we could the crowd to their cars; we had no desire to get stuck in a traffic jam trying to leave.  This would be ironic except for the statement I remember from the presentation, that the Long Now perspective is meant to make the world “safe for hurry” by slowing other parts of life a long way down.  So we hurried safely, and benefitted from the effort.  Yay us!

In many ways, I’m intrigued with and approving of the Long Now concept.  If we as a society could take more of a long-term view, we might make different (and hopefully better) choices about how we relate to our surroundings.  If you knew that you’d be around for five centuries, how would you live your life differently?  If you knew humanity would occupy the Earth for the next ten milennia, how might that alter your patterns of behavior?  I’ve generally lived my life employing a long-term perspective, but the longest term I employ tends to be my lifetime.  While I might plan for retirement and how I’ll pay for the education of children I don’t even yet have, I don’t generally make plans that are centered on my great-great-grandchildren, because I will almost certainly never live to meet them.  Does that make them any less real, or worthy of consideration?  Maybe it does, but even the act of deciding that will require a longer view than I usually take.

Clay Shirky’s recent essay on the Semantic Web has stirred enough attention that I had non-techie friends forwarding me the URL.  I found it interesting, especially since over the last few months I’ve been working with a few sharp people on a way to address one of the points Clay touched upon.  We’re almost ready to make our work public, so watch this space for details as well as an addition to this page.


Off the Wire

Published 21 years, 2 months past

The TiBook’s Ethernet connection is all wireless now, thanks to the Netgear MR814 I installed yesterday.  I discovered that the one place on the front porch I really wanted to have access is a complete dead zone, which is highly annoying.  The rest of the house and the back yard all give me anywhere from 75% to 100% signal strength, and even the other half of the front porch wavers around 75%.  But the part where we have the really comfortable chairs set up, not to mention several short tables for drinks and such, is just a huge cone of silence.

Eventually, I realized it was probably our screen windows.  I’m pretty sure ours are a metal mesh, not vinyl, and if I’m correct it means they’re forming big impenetrable barriers to any WiFi signal.  My experiment of walking out into the front yard and immediately getting 50% signal seems to confirm this.  In all honesty, it’s probably just as well that there’s at least one area of the house that cuts me off from the Ethernet line.

To celebrate, I’m sitting here on the active side of my front porch, enjoying the sunny, breezy weather and listening to the cicadas while I share with you a few amusing and/or interesting things I’ve collected from various sources in the last few days:

  • You may recall the Bork edition of Opera, and of course there have long been scripts that alter content to sound like Yoda or any number of other distinctive speech patterns.  A close cousin to the Jive filter is Tha Shizzolator, courtesy everyone’s favorite rapper/porn artist, Snoop Dogg.  I found its translation of meyerweb highly amusing—I love the fact that it turns a reference to Doug and Tantek into “bomb diggity muthas”—and can hardly wait to see what it does with this entry.  Societal note: if you are offended by certain “naughty” words, or live/work in a place characterized by easy offense, you may want to avoid the Shizzolator.  I’m just sayin’.  Interesting technical note: the entity ¶ becomes &pimpa;.  I have no idea why.
  • I never enjoyed the group pictures taken ad nauseam throughout my senior year of high school, but at least none of them ended like this one did.  Takes ponding to a whole new level, really.
  • Speaking of group photos gone horribly wrong, this one also features a soaking.  The difference is in the liquid vector, and of course there’s a little more intention behind this one.  I just hope that was the last picture in the series, instead of the first one.  There’s one guy toward the left side of the group who seems to be a little more aware than the rest.  Or maybe he just had forewarning.
  • Badger aerobics were never so… odd.  I got this from Jeff Veen, who was dead on when he said, “Every single person you know is about to send you a link to this.”  You may as well just get it over with now.  How long can you stand to let it run?  I timed out after roughly five minutes.
  • This little Flash movie is funny in certain ways, and yet not funny in too many others.  Likely to be offensive to people who have an aversion to inconvenient truths.

Salvation in the Storm?

Published 21 years, 4 months past

There’s been some speculation that Microsoft’s recent browser moves may actually be good for Web standardization, not bad.  It’s a side of the issue I hadn’t considered, and it does make a certain degree of sense.  Suppose you’re a large bank and you want a browser that you can rely on to protect your data.  You might well decide that adopting an open-source browser, one which you can influence and even improve if your staff programmers contribute to the project, makes more sense than being beholden to a glacially developing and poorly secured product.  Ditto for companies who care about security—and now that spam-filtering’s built into at least one product’s mail client, ditching Outlook and IE for Mozilla or a variant makes a lot more business sense.

But there’s a down side to the whole situation, which is effectively that the adoption of standards is limited by the available browsers.  If IE/Win stays in its present state for the next two or three years, then use of CSS, XML, XSLT, RDF, P3P, PNG, and pretty much everything else will be constrained by the support IE/Win embodies—not totally beholden to it, but still definitely affected, in the same way the poor CSS support of NN4.x retarded CSS adoption for years.  When IE7 comes out in 2005 or 2006, it will help determine the standards-use landscape by how far its support advances (or doesn’t).  Maybe that’s a good thing.  Maybe having bigger updates less often is better than smaller updates all the time.  It just feels a little too much like stagnation, especially for an industry as drunk on change as ours has been.

Then again, if we’re lucky and Microsoft’s Web competitors don’t fold their cards just when they have a chance of winning back some of the pot, maybe in a couple of years IE/Win won’t be as weighty a gorilla as it is today.


Randomatters

Published 21 years, 6 months past

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.


So Square It’s Hip

Published 21 years, 7 months past

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.


Browse the Archive

Earlier Entries

Later Entries