Posts in the Personal Category

Almost Target

Published 18 years, 5 months past

I’d like to tell you a little story, if I may, from way, way back in 2002.  (The exact date is lost to the mists of time, but the year is pretty solid.)  Like a lot of stories, it’s little bit long; but unlike some stories, it’s true.

As the engineering staff at Netscape prepared a new release of Mozilla, the browser off which we branched Navigator, those of us in the Technology Evangelism/Developer Support (TEDS) team were testing it against high-ranked and partner sites.  On a few of those sites, we discovered that layouts were breaking apart.  In one case, it did so quite severely.

It didn’t take much to see that the problem was with sliced images in layout tables.  For some reason, on some sites they were getting pushed apart.  After a bit of digging, we realized the reason: the Gecko engine had updated its line-layout model to be more compliant with the CSS specification.  Now images always sat on the baseline (unless otherwise directed) and the descender space was always preserved.

This was pretty new in browserdom, because every other browser did what browsers had always done: shrink-wrapped table cells to an image if there was no other cell content.  The only problem was that behavior was wrong.  Fixing the flaws in the CSS implementation in Gecko had broken these sites’ layouts.  That is, it broke them in standards mode.  In quirks mode, Gecko rolled its behavior back to the old days and did the shrink-wrap thing.

We got in touch with the web team at one of the affected sites, a very prominent social networking site (of a sort) of the day, and explained the situation.  We already knew they couldn’t change their DOCTYPE to trigger quirks mode, because that would break other things they were doing.  We couldn’t offer them a simple CSS fix like td img {vertical-align: bottom;}, because their whole layout was in tables and that would throw off the placement of all their images, not just the sliced ones.  All we could offer was an explanation of the problem and to recommend they class all of their sliced images and use CSS to bottom them out, with assurances that this would cause no change in other browsers.

Their response was, in effect:  “No.  This is your problem.  Every other browser gets this right, and we’re not mucking around in our templates and adding classes all over just because you broke something.”

The truth, of course, was that we were actually fixing something, and every other browser got this wrong.  The truth was not relevant to our problem.  It seemed we had a choice: we could back out the improvement to our handling of the CSS specification; or we could break the site and all the other sites like it, which at the time were many.  Neither was really palatable.  And word was we could not ship without fixing this problem, whether by getting the site updated or the browser changed.  Those were the options.

Let me reiterate the situation we faced.  We:

  1. Had improved standards support in the browser, and then
  2. Found sites whose layouts broke as a result
  3. Whose developers point-blank refused to alter their sites
  4. And we had to fix the problem

We couldn’t back out the improvement; it affected all text displayed in the browser and touched too many other things.  We couldn’t make the site’s web team change anything, no matter how many times we told them this was part of the advance of web standards and better browser behavior.  Two roads diverged in a yellow web, and we could choose neither.

So we found a third way: “almost standards” mode, a companion to the usual modes of quirks and standards.  Yes, this is the reason why “almost standards” mode exists.  If I remember the internal argument properly, its existence is largely my fault; so to everyone who’s had to implement an “almost standards” mode in a non-Gecko browser in order to mirror what we did, I’m sorry.

We made “almost standards” mode apply to the DOCTYPE found on the offending site—an XHTML DOCTYPE, I should point out.  While we were at it, we rolled in IBM’s custom DTD.  They were using it make their site validate while doing all kinds of HTML-invalid stuff, and they were experiencing the same layout problem.  And lo: a third layout mode was born.  All because some sites were badly done and would not update to accommodate our improvements.  We did it so as not to break a small (but popular) portion of the web while we advanced our standards support.

(By the way, it was this very same incident that gave birth to the article “Images, Tables, and Mysterious Gaps“.)

Now take that situation and multiply it by a few orders of magnitude, and you get an idea of what the IE team faces.  It’s right where we were at Netscape: caught between our past mistakes and a site’s refusal to accommodate our desire to improve support for open standards.

Some have said that Microsoft is in a unique position to take leadership and spread the news of improved standards and updating old sites to its customers.  That’s true.  But what happens when a multi-billion dollar partner corporation refuses to update and demands, under the terms of its very large service contract and its very steep penalty clauses, that a new version of IE not break (for whatever value of “break” you like) its corporate intranet, or its public e-commerce site?  It only takes one to create a pretty large roadblock.

For all we did in publishing great content to DevEdge, proactively helping sites to update their markup and CSS and JS to work with Gecko (while not breaking in other browsers), and helping guide the improvement of standards support in Gecko, we could not overcome this obstacle.  We had to work around it.

Looking back on it now, it’s likely this experience subconsciously predisposed me to eventually accept the version targeting proposal, because in a fairly substantial way, it’s what we did to Mozilla under similar conditions.  We just did it in a much more obscure and ultimately fragile manner, tying it to certain DOCTYPEs instead of some more reliable anchor.  If we could have given that site (all those sites) an easy way to say “render like Mozilla 0.9” (or whatever) at the top of every page, or in the server headers, they might have taken it.

But had we offered and they refused, putting us back to the choice of backing out the improvements or changing the browser, would we have set things up to default to the specific, known version of Mozilla instead of the latest and greatest?  The idealist in me likes to think not.  The pragmatist in me nods yes.  What else could we have done in that circumstance?  Shipped a browser that broke a top-ten site on the theory that once it was in the wild, they’d acquiesce?  Even knowing that this would noticeably and, in a few cases, seriously degrade the browsing experience for our users?  No.  We’d have shipped without the CSS improvement, or we’d have put in the targeting with the wrong default.  We didn’t have version targeting, but we still made the same choice, only we hinged it on the DOCTYPE.

A short-term fix for a short-term problem: yes.  Yet had we not done it, how long would Netscape/Mozilla’s standards support have suffered, waiting for the day that we could add that improvement back in without breaking too many sites that too many people would notice?  Years, possibly.  So we put in a badly implemented type of version targeting, which allowed us to improve our standards support more quickly than we otherwise would have, and it has been with us for the more than half a decade since.

So maybe I’m more sympathetic to the IE predicament and their proposed solution because I’ve been there and done it already.  Not to nearly the same degree, but the dilemma seemed no less daunting for all the difference in scale.  It’s something worth keeping in mind while evaluating what I’ve said on this topic, and whatever I will say in the future.


Targeted

Published 18 years, 5 months past

You probably don’t need me to tell you about today’s issue of A List Apart, but just in case you hit this entry in your feed reader before reaching the ALA feed, head on over.  If you have anything to do with web development, there’s news of a coming change that you absolutely need to read.

I know there will be many people who disagree with my take on version targeting.  As did I, at first.  Originally I wasn’t even going to be part of this ALA issue but as I argued with Aaron about it on the ALA editorial board and started to shift my perspective, we realized that having someone document that thinking process would be valuable.  So I did.

Already I’ve seen a lot of negative reactions to the idea, and they remind me of my initial reactions.  That’s not to say that my views are more advanced, nor that everyone will eventually come to the same way of thinking.  It’s entirely possible that after due rational consideration, many people will come to the conclusion exactly opposite my own.  I still thought it might be useful to share my thoughts on the matter as someone who has been concerned about browser compatibility and standards advancement for a very long time now.

Comments are closed here, but discussion is open at ALA.

Update: I wanted to point to some other material about this topic.  I’ll probably keep updating this as time goes on.

  • Compatibility and IE8 — a post by Chris Wilson about the challenges faced by browsers when advancing standards, and the particular situation experienced in the IE7 deployment.  You don’t have to agree with the conclusions, but understanding the problem is important.

  • The versioning switch is not a browser detect — this is vitally important to any hope of useful debate on this topic.  I tried to clearly make the same point in my ALA article, but reiteration doesn’t hurt.

  • Broken — Jeremy objects to the default behavior.  I actually agree with him, and made that case at length with a member of the IE team.  I couldn’t make what I wanted square with their requirements, and came to see that I couldn’t, and was deeply saddened by it.  I sincerely hope that Jeremy, or indeed anyone, can succeed where I failed.

  • That Red-headed Monster Next to You? Yeah, that’s Anger — no, I didn’t link this because of the hair-color reference.  I’ve been deeply disheartened by the overall tenor of the reaction.  Disagreement is fine, in fact welcomed; but the level of vitriol, name-calling, and outright personal attacks came as a rude and unwelcome surprise.


In-Flight Commentary

Published 18 years, 5 months past

Herewith I present the latest in what can only now be called a series of travel-tip posts.  (The first one, published a couple of years back, was about avoiding jet lag, if that’s of interest.)

I recently came upon a way to while away the lonely hours of a long plane flight and thought I’d share.  Two words: commentary track.  More specifically, listening to the commentary track (or tracks) of a movie you’ve already seen and enjoyed.

How is this better than just watching a movie?  Well, because you’ve seen the movie, you don’t really need to watch it: you can just listen to the commentary.  Thus, you can crank your laptop’s screen brightness down to “off”, thus saving some battery power.  Which you’ll need, thanks to the power required to drive the DVD.  If the commenter says, “Ooo, look here at this bit of the screen”, you just pip the brightness up enough to see what’s going on, and then crank it back down after.

Of course you can rip the movie with the commentary audio track to your hard drive to save the battery even more.  Also, if you’re willing to live without visual reference, you can rip the audio track itself and listen on an iPod.  But honestly, how many of us will go to that level of effort?  It’s a lot easier to bring along a single DVD and pop it into the laptop.  I also like this approach because plane flights are one of the few times when I have enough enforced downtime to get through a whole commentary.

Of course, if you’re lucky enough to be on one of the newer planes with grounded power outlets, your power worries are moot.  Still, when you have five or six hours ahead of you, a good commentary track or three is a good way to make the time pass more quickly.


Browser Version Timeline

Published 18 years, 5 months past

Way back in March of 2007, I moderated a SXSW panel called “A Decade of Style”.  As part of the introductory material, I created a browser-history timeline in Keynote, spread across two slides.  I’d always meant to throw it up on the web for general edification and reference purposes.  So I finally have, in a slightly simplified visual format (the original had a parchment-like background and so on).

In the end, the web form of this is pretty simple, even though it wasn’t simple to produce.  It’s just a series of images, one per year.  I have in mind a way to do it without the images, which would be nice, as that way the information would be accessible to the blind.  Right now, all the images just have empty alt values, I’m sorry to say.  Besides which, creating the same timeline out of structured content would be a fun challenge, albeit one I really don’t have the time to tackle right now.

A few notes:

  • Internet Explorer has two lines, one for Windows and the other for Macintosh.  I did this because their release schedules often had little or nothing to do with each other.  The other browsers represented typically release cross-platform on or about the same day, and so each got a single line.

  • The temporal resolution is one month.  In other words: no, I didn’t attempt to place the vertical connector bars so they correspond to the specific day of the month a browser was released.  In many cases, I don’t have that information—just the month and year of release.

  • I was interested to discover that the “quietest” years in the timeline were 1999, 2002, and 2004 1999 and 2002.  (My earlier belief that 2004 was quiet was due to my having the wrong year for the release of Netscape 7.2.  Um, whoops.)

  • Because the timeline was created for a session about CSS, the timeline starts in 1996 and doesn’t include pre-CSS browser versions.  I may extend it backward at some point, although that introduces interesting questions like whether or not to include Mosaic, Viola, Cello, and so forth; and whether to extend it all the way back to 1989.

  • Yes, I’m missing browsers such as Konqueror and iCab, not to mention the whole forest of Gecko spin-offs like Camino and Flock.  Again, there’s the question of which browsers to include and which to omit.  This was dictated partly by perceived market share, but mostly by good old-fashioned laziness.

I’ll do my best to address any suggestions for improvement, though this is kind of a side project and so commands a comparatively small share of my attention.  Still, even if it never changes again, I’m happy that it’s finally out into the world.


Access Switch

Published 18 years, 5 months past

Or, how to not appreciate your existing customers.

Back in April of 2001, I was preparing to start work at Netscape.  I’d be working from home, so I needed high-speed access, and DSL was my best option.  Eventually, I decided on Earthlink.  It took a bit of effort, as there were some physical problems along the line to my house, but they got worked out and once the line was provisioned (whatever that means), I was up and running.  Nice speed, too.

So last week, I decided to find out how my rate—unchanged since I started almost seven years ago—stacked up to current rates.  It turns out I was a bit high, paying $49.95 a month for a service that would cost a new customer $34.95 a month, once their introductory monthly rates lapsed.  And I noticed that doubling my speed should cost $39.95 a month.

So I called up Earthlink to get my rates (both data speed and monthly fee) adjusted.  Guess what happened?  Yep: roadblocks.  First I was told that those were rates for new customers.  I pushed back, and was told that because I’d been a customer for so long, they were willing to adjust my rate to $39.95.  For the doubled speed?  Oh, no, for my existing speed.  If I wanted to go to the higher rate, it would be $54.95 a month.

My pointing out that this was grossly out of line with their current rates had no effect.  I assured them that I was more than willing to skip the introductory rates and just go to the base rates.  Didn’t help.  I could pay $39.95 a month for a service that should cost $5 less, or upgrade to the better service at a rate $25 higher than it should be.

Annoyed, I hung up and resolved to take my business elsewhere, as I’d warned them would be likely.  I did some digging and discovered that AT&T/Yahoo! DSL would cost $34.99 a month for twice the data rate I’d been getting at Earthlink with no term requirements—I’m not locked into it by an initial contract.  I like that.  I called them to find out how long it would take, and found out that DSL service has come a long way in seven years.  They provisioned the line remotely in three days, not the three weeks it took local technicians back in ’01.

So I’m up and running at 6M/768k in three days with no fuss and no term obligations, and best of all, my monthly cost has dropped $15.

Of course, when I called up Earthlink to cancel, they were suddenly able to offer me the rates I’d asked for before, plus they’d even throw in a month for free.  Too late, I told them.  I’d already tried and failed to get the regular current rates, and I’d invested the time and energy to find an alternative.  I wasn’t going to walk away from that just because they had belatedly decided to play fair.

It still amazes me that companies haven’t figured out that customers will make tracks if they’re treated badly.  And given the ease with which service can be established these days, if my new provider causes me trouble… well, I can always go elsewhere.  Or even go back.


Speakers Galore

Published 18 years, 5 months past

I know it was only yesterday that I mentioned the opening of registration for An Event Apart New Orleans and the other 2008 shows, but there’s already more to share: later that same day, we announced the speakers for the other three shows of 2008.  Incredible lineups, every one.  We’re beyond excited.  Check ’em out!


An Event Apart 2008 Lines Up

Published 18 years, 5 months past

The new year is here, and to celebrate, we’ve announced details and opened registration for An Event Apart New Orleans, to be held April 24–25, and opened early registration for the other three events of 2008:

  • Boston, June 23–24
  • San Francisco, August 18–19
  • Chicago, October 13–14

Now you can pick the show that best fits your schedule, fiscal year, or both, and book your seats early.

One of the things we’ve always striven to create is top-notch events for (as the motto goes) people who make web sites—covering design as well as code, architecture in addition to scripting, the big picture along with the nitty-gritty.  Focusing on that vision served us and our attendees very well in 2007, and it continues in 2008.  Just check out the list of speakers and topics for New Orleans:

  • Andy Clarke, author of Transcending CSS, presenting “Underpants Over My Trousers”
  • Aaron Gustafson, co-author of AdvancED DOM Scripting, presenting “Progressive Enhancement with JavaScript”
  • Robert Hoekman Jr., author of Designing the Obvious, conducting “On-the-Spot Usability Reviews”
  • Cameron Moll, author of Mobile Web Design, presenting “Good vs. Great Design”
  • Brian Oberkirch, Publisher of Like It Matters, presenting “Kick it Like Pelé”
  • Jason Santa Maria, designer at Happy Cog, presenting “Good Design Ain’t Easy”
  • Dave Shea, co-author of Zen of CSS Design, presenting “Living, Breathing Design”
  • Stephanie Sullivan, co-author of Mastering CSS with Dreamweaver CS3, presenting “Design Challenges, Standards Solutions”
  • Jeff Veen, design manager at Google, presenting “Designing the Next Generation of Web Apps”
  • Aarron Walter, author of Building Findable Web Sites, presenting “Findability Bliss Through Web Standards SEO”

And, as always, your hosts:

  • Eric Meyer, author of CSS: The Definitive Guide, presenting both “The Lessons of CSS Frameworks” and “Debug / Reboot”
  • Jeffrey Zeldman, author of Designing With Web Standards, presenting both “Understanding Web Design” and “Web Standards: The Return of the King”

You can get more details on the New Orleans event page, including descriptions of the sessions and details on how to get the special room rate at the conference hotel, the Hilton New Orleans Riverside.

While we don’t yet have speaker lists nor schedules to announce for the other three 2008 shows, we’re working to finalize them and hope to have at least some information out shortly.  I can already say that all the shows are at the same high level, though of course each event has its own unique flavor.

Those of you who attended one or more of our shows in 2007 (yes, we did have some repeats!) may be wondering if the shows will be the same, especially since we’re returning to some cities we visited last year.  The answer there is “not at all”.  Every show of 2008 is a mix of new and returning speakers, and we’ve done our best not to repeat speakers within a given city between 2007 and 2008.  The exceptions are myself and Jeffrey, of course, but we’re both doing new talks this year.  Simply put, if you loved AEA in 2007, we’re pretty confident you’ll love it even more in 2008.


Finding Purpose

Published 18 years, 7 months past

In my never-ceasing struggle to stay up to date on stuff, I occasionally manage to listen to a podcast while doing something else.  I don’t have any regular favorites; instead, I just grab whatever’s on tap and try to give it a slice of my attention while answering e-mail or writing markup.  It’s not the same as sitting very still and listening with all my attention, but as Jack Bauer would shout, there’s no time!

So a couple of days ago, up came show #5 of Andy Rutledge’s Design View Show.  It kicked off with some observations of two fine young chaps, Andy Budd and Derek Featherstone.  From there it segued into some good observations on finding purpose and acting in a purposeful way and keeping focus in the face of distractions, topics of recurring interest to me.  Things were rolling very nicely, with me nodding in agreement at various points—until, like Jeremy, I came to a jaw-dropped stop right here:

I suggest that if you cannot recognize and acknowledge that purpose in life can only be derived from God, by whatever name you call him, then I’m afraid you do not grasp what “purpose” is. And to you I’d offer my deepest sympathies.

Well, Andy, I’d suggest that you’re wrong, but to do so would be dishonest.  There’s no suggestion about it: you’re wrong.  It is absolutely possible to grasp the meaning of “purpose” as in “purpose in life” (the sense you used it both there and throughout the show) without relating it to a deity, as I do every day of my life.  Unless of course your personal definition of the word “purpose” absolutely requires a deity, in which case, we can write this off as a case of subjective semantic incompatibility and walk away no worse for the wear.

Having opened this door, I feel I should be very clear about my theological placement: I’m agnostic.  This is very different than atheism, no matter what some claim.  I only bring this up because the vast majority of people reading previous paragraph would reflexively assume I’m an atheist.

Understand that I do not criticize, dismiss, or otherwise demean those who derive their feeling of purpose from a deity, by whatever name it’s called.  I think that finding purpose is one of the most important and essential things any of us can do, and it’s not my place to dismiss the paths others take toward that goal… any more than it is theirs to dismiss mine.  I’ve stumbled on that point in the past, even doing so once or twice here on meyerweb, and for that I’m ashamed of myself and I apologize.

For all this, I think Andy put together a great podcast with some very sharp, meaningful insights on finding and keeping purpose.  I’d recommend it to anyone, especially anyone struggling to find their place or direction in life, with the caveat that there are a couple of bits—like the one quoted above—that should be taken with a shaker of salt.  It is not a universal truth that one needs a deity, or even faith in some external power, to find purpose or direction in life.  I, and several people I know both in the field and outside it, stand as living proof.

I debated myself long and hard about posting this.  In the end, my impulse to challenge ignorance (in this case, the belief that belief in a deity and sense of life purpose are inseparable) won out over my instinct to keep quiet and let sleeping gods lie.


Browse the Archive

Earlier Entries

Later Entries