Thoughts From Eric Archive

Continental Yin/Yang

Published 20 years, 8 months past

Since my father moved to live an hour north of Orlando this past spring, and Kat’s parents moved to the West Palm Beach area in the fall, we headed south for the holidays.  Our flight down left two days before Christmas, so that turned into a bit of an adventure.  My fellow Americans might remember what it was like two days before Christmas.  The top news story of the day was, in fact, the bad weather and how it was messing up everyone’s travel plans.

For years, I’d shaken my head and chuckled ruefully at all those poor suckers who were trying, against all reason, to fly at the busiest time of the year, which was in the dead of winter to boot.  Now I was one of those poor suckers, and my family as well.

When we got up that morning, things looked pretty bad, but the Continental web site said our flight was on time.  I didn’t figure that would hold true, but thought it a hopeful sign that we’d depart fairly close to on time.  Just before we were to leave, the site updated the flight status to say it was being delayed an hour.  We decided to head for the airport anyway.  Once there, we checked the boards and talked to someone who said that, yes, our flight was probably going to be delayed an hour or so.  We got through security and down to our gate… and that’s when things started to go south, and not in a good way.

What we found out was that Hopkins had in fact been closed to flight operations all morning, and so all the planes that were supposed to be there were in other cities.  Our plane was still in Newark, for example, and still ground-stopped.  So in order for our flight to happen, the flight from Newark had to happen; that way we’d have a plane for our flight to Orlando.  Thus, the absolute soonest our flight could leave was two hours after it was allowed to take off from Newark.

And when would that happen?  Nobody could say.

So we found a play area with some other kids and let Carolyn run around.  Every so often, we’d check back in with our gate to see what was up.  No change; our plane was still in Newark.  The projected departure time for our flight kept being pushed back, hour by hour.  A 1:30pm departure become 2:35pm, then 3:35pm, then 4:30pm.  And it was still only 1:00 in the afternoon.

Somewhere around 2:15pm, just as I was about to go check on the flight again, Kat wondered aloud if anyone had gotten out yet, and if maybe they could switch us to an earlier Orlando flight.  So I asked about our plane (still in Newark) and asked if they could switch us to an earlier flight.

“The only flight before yours was a 9:00am flight”, he said.

“Right.  And has that flight actually left yet?”

“Um, good question!”  He started tapping on his keyboard.  No, it hadn’t, and they actually had a plane on the ground, and there were seats available.  But I’d need to go talk to them at their gate, half the concourse away.

So I told Kat where to meet me and headed to gate 21, wondering how on Earth they could still have any seats on the flight.  When I got there, I made my way to the counter and asked if we could be transferred over.  The man behind the counter told me there were seats available, and he’d get us moved over, no problem.  This guy was a little slow with the computer, and needed some help figuring out how to put in a baggage-transfer order to get our bags from our original plane to the new one.  I don’t know if he was new or what, but I was starting to become concerned that we’d arrive with nothing but our carry-ons… and believe me, when you take a 12-day trip with a 13-month old, you have a lot of checked baggage.

He apprised me that they’d try to get the bags transferred but there was no guarantee, and if any got missed we’d have to wait (or come back) to get our bags from our original flight.  As he worked to assign us seats, I mentioned that we’d been on First Class standby on our other flight, and if he could put us on standby for the new flight, that would be great.  I felt kind of stupid saying it (and said so); I mean, we were probably going to get to Orlando on this flight before our original plane even took off.  And I should still be worried about where I sat on the plane?  But to my surprise, he handed me first class tickets just as the boarding process started.

So there we were, sitting in first class and really feeling incredibly lucky.  At that point, I figured that if half our checked bags and the car seat showed up in Orlando with us, we’d be in clover.  We pushed back from the gate just past 3:40pm, less than an hour after borading had begun, so I figured it was a pretty good bet our bags were on the original plane, not the new one.  For us, this was a three-hour delay from our 12:30pm flight—but the plane we were now flying had originally been scheduled to leave at 9:00am.

As the 737 taxied toward the runway, I couldn’t see it.  The whole airfield looked like it was an unbroken field of snow, including the tarmac over which the plane was (bumpily) rolling.  As we continued to cross the airfield laterally, I wasn’t seeing any exposed concrete.  I started to wonder if we were planning simply to drive to Orlando when I saw it: our takeoff strip.  Except it wasn’t a strip.  It was a stretched-out series of barely-there irregular patches of pavement largely encased in snow and ice.  And we were turning toward it.

“Takeoff’s going to be a bit bumpy,” I said to Kat.  We held hands and our daughter, and said “I love you” to each other, as the plane accelerated down the runway.

(Which sounds all dramatic and fear-of-death-like, but actually it’s just a ritual Kat and I developed over years of traveling together.  At some point we looked at each other just as the engines fired up for takeoff, and said “I love you” in unison.  It was a moment of affection that we decided to continue, at both takeoff and landing.)

The run-up to liftoff was definitely jarring, one of the roughest I’ve ever experienced, and I entertained some half-serious concerns that the plane wouldn’t reach V2 and would slide off the end of the runway, as happens every few winters or so.  Once the wheels lifted, though, the flight was smooth and uneventful.  We got to Orlando in the usual amount of time, and—here’s the part that still blows me away—all of our bags had been transferred.  Every single one.  We were able to load up the car and get to my father’s house in time for dinner, only a few hours later than scheduled.

So while Continental definitely started the day on our wrong side, what with the complete lack of information about the true nature of our flight’s delay prior to our getting to the gate, they definitely made up for it by day’s end.


No Comment

Published 20 years, 8 months past

While I was away doing family stuff in Florida (again), there was an enormous comment-spam flood.  Nearly all of it was caught by my spam filter, but that was still 352 messages I had to delete from the filter’s trap, not to mention 352 e-mails asking me to approve or disapprove them.  And it kept coming.  So I turned off commenting completely as a temporary measure.

Then, several days later, I flipped the comments back on.  In fifteen seconds, I had four more comment spams, and these got past the spam filter, as inevitably they will, sooner or later.  So I flipped the comments back off.  Now I’m feeling a profound disinclination to ever re-enable them.  Yes, that’s letting the bastards win, but I only have so much energy to fight them.

So that’s why comments have been turned off.  No estimates regarding when they’ll be back.


BlogAid

Published 20 years, 8 months past

As Andy Budd says:

You can help the victims of this terrible natural disaster by pledging the proceeds of any advertising or affiliate schemes you have on your site for the month of January to your country’s Tsunami Earthquake appeal.

For the first time, I find myself wishing that I had an affiliate account or advertising arrangement, but I’ve always avoided such things.  So while I can’t participte in BlogAid by pledging my blog revenue (I don’t have any), if you’re someone who can take part, please seriously consider doing so.

I also want to remind folks that my friend Dave is still taking donations for his triathlon run in March 2005.  It may seem like his cause pales in comparison to that of tsunami relief.  Perhaps it does– but his cause needs support, just as the survivors of the tsunami need support.  If you can support both, as Kat and I intend to, then please do.  If you have to choose, then make the choice your heart directs.


Helping Hands

Published 20 years, 8 months past

Here’s a list, copied from CNN by way of Mac OS X Hints, of organizations that are accepting donations for the purpose of assisting the survivors of the Indian Ocean catastrophe.

The words of sympathy and links to aid societies that now comprise the bulk of the Apple home page make me prouder than ever to have worked with them.  I can’t say exactly why it’s important to me to mention that while in the shadow of such overwhelming tragedy, but it is.


A Request For Assistance

Published 20 years, 8 months past

When someone you love is suffering from a serious illness, it’s a horrible helpless feeling.  You can’t do anything concrete to fight the threat, and you can’t give them some of your health in order to improve theirs.  You can support them, you can do what they need, you can be there for them, but there’s still a vast and pervasive feeling of impotence.  At the very moment all your protective instincts are screaming to fight back, there’s nothing to attack.  I’ve faced it, as have so many people, and now my best friend Dave has been facing it too.

Earlier this year, Dave told me his fianceé Kim had been diagnosed with Stage II Hodgkin’s lymphoma, just half a year before they were to be married.  When they got the diagnosis and an idea of the treatment timeline, Dave and Kim cancelled their November wedding and ran off to Las Vegas to get married right away.  Their intention was and is to fight this situation as husband and wife, and to have a wedding ceremony for friends and family after the treatments are done and Kim is back in good health.  Also, I assume, when they’ve both had a chance to grow back some hair: Dave shaved off his hair when Kim had to shave off hers.

That is of course a wonderful gesture, but Dave’s decided to do something more: he’s training for the Strawberry Fields Triathlon to be held March 12, 2005, in Oxnard Shores, CA.  His intent is to raise as much money as he can to help the search for better and faster treatments for Hodgkin’s disease, and thus do something concrete.  Given that he’s traditionally been about as averse to physical exertion as I am, this is a massive undertaking.  He’s been training for biking, running, and open-water swimming all at once.

For a variety of reasons (none of them involve court injunctions) I don’t talk a lot about my pre-Web years.  I won’t suddenly go into a ton of detail here, so suffice to say that Dave helped me not only get through junior high and high school with some semblance of sanity, but helped me survive some very difficult times that came shortly after graduating from college.  If you look in the acknowledgments on the first edition of CSS:TDG, Dave’s name is in there.  When I got the news that Mom had died, he was the first person I called.  When his and Kim’s wedding ceremony does finally take place, I will be proud and honored to stand beside them as best man.

If you could, please, support Dave in his run.  His goal is to raise $10,000, and as of this writing he’s already up to $7,299.  Personally, I think we could blow the doors off this thing with just a little effort.  If just a small fraction of you donated an average of $20 each, he could still easily double his goal.  If everyone who regularly stops by meyerweb.com pledged five dollars, Dave could raise a lot more than that.

If you doubt me, just look at what’s happened with Child’s Play ($250,000 raised last year, a good deal more this year), or the time that Randy Milholland ranted that if people wanted his webcomic to improve, they should donate enough money for him to be able to quit his job for a year and concentrate on the comic full time—and they did.  It’s always nice to have a single large contributor, but you can go just as far (if not farther) with a lot of small contributors.  Dave’s working hard to make sure he can swim most of a kilometer of ocean, run 5 kilometers, and bike 15 kilometers.  It takes hardly any work at all to donate just a little bit to support his effort, and the cause of the Leukemia & Lymphoma Society.  So, if you can, please do.  Kat, Carolyn, and I certainly will.

My deepest gratitude for anything you can contribute, or anything else you can do (such as spreading the word by linking to his training page) to support Dave.  It will mean a lot to him and his wife, and to me as well.


Don’t Care About Market Share

Published 20 years, 8 months past

In a fashion vaguely reminiscent of the process by which weeds keep growing back no matter how you try to rid yourself of them, the question of browser market share has once again been rearing its foul, misshapen head.  Dan kicked off a round of it over at Simplebits, but it’s recently been popping up other places as well.  I heard discussions about market share at SES Chicago, perhaps unsurprisingly, but I’ve also been seeing the question on various mailing lists and other forums.

The only thing more frustrating than the persistent recurrence of this unnecessary question is the inappropriate gravity it seems to acquire in so many minds.

Look, I’ll make this very simple for everyone.  If you’re trying to figure out what browsers to support (or not) in terms of layout consistency on a given site, then the answer is very easy.  Whatever the site’s access logs tell you.  End.  Of.  Story!

For example, the stats for the past few days’ worth of visitors to Complex Spiral Consulting tell me the following:

User AgentPortion of hits
Firefox 43%
IE6 30.8%
Mozilla 8.8%
Safari 8.6%
Opera 2.4%

(For those who are curious, IE5.5 makes up 0.8% of hits.  Various flavors of IE5.x below IE5.5 total roughly 1.2%, but note that Windows and Mac users are lumped together there.)

Those statistics tell me quite a bit about the people who visit the CSC site, and I can use that information to decide what to do about browser support.  You know what those numbers tell you about which browsers to support (or not) in your designs for sites on which you work?  Absolutely squat.  Anyone who uses those access statistics to make decisions for their own work is a fool, and a misinformed fool at that.

In every design, we have to ask what browsers need to have a consistent experience, which ones can be given a reduced experience, and which ones get no design at all.  The user logs from another site are useless in trying to make this decision.  The “global statistics” from firms like WebSideStory are just as useless in this case.  They may be entirely accurate, but they are also entirely irrelevant when it comes to making design support decisions.  The only stats that matter are the ones that come from the site you’re designing.

In a like manner, I don’t care if you think visitors to your site or some other favorite site of yours are an accurate reflection of the overall Internet population or not: that opinion is similarly irrelevant.  It’s rather like me claiming that the people who come to our annual holiday party are an accurate reflection of partygoers in general.  Maybe they are and maybe they aren’t, but either way I don’t think you should plan your all-night rave to accomodate the kinds of people who drop by our house to have homemade bread and soup and chat about babies, politics, science-fiction movies, and the weather.  And vice versa.

(Do remember that your site’s stats may reflect its current behavior instead of your potential audience.  If your site is already broken past the point of usefulness in Safari, then you’re going to see very low Safari numbers.  Make sure that you’re comparing apples to apples, and only compare the numbers in your access logs for browsers that can already use the site.)

As for the related question of “at what percentage level do I decide a browser isn’t worth bothering about”—well, that’s really up to you, isn’t it?  I certainly can’t tell you when it’s worthwhile to stop worrying about IE5.0, or Netscape 4.7, or Mosaic 1.2.  I know what I think is appropriate for the sites I work on—and the process of finding the answer is different for every site.  It has to be, because every site is different.

Now, if you want to share your user demographics with anyone who wants a peek, hey, have fun with that.  If data exhibitionism is your thing, who am I to judge?  Just don’t pretend that the bits of data you’re exposing to the world are representative of everyone else’s, because I guarantee you that they are not.  As for anyone who happens to glance at your data: I hope they realize the same thing.


SES Chicago Report

Published 20 years, 8 months past

Due to some weather-related travel upheavals, I didn’t get to spend as much time at SES Chicago as I would have liked—I ended up flying in Tuesday afternoon, speaking before lunch Wednesday, and leaving Wednesday evening.  Still, the panel went very well, the speakers were quite gracious, and I didn’t even need a fire extinguisher.

Based on what was said in the panel and the fleeting conversations I was able to have (sometimes from the podium) with Matt Bailey and Shari Thurow, here’s what I took away from the conference:

  • Semantic markup does not hurt your search engine rankings.  It may even provide a small lift.  However, the lift will be tiny, and it isn’t always a semantic consideration.  Search engines seem to use markup the same way humans do: headings and elements that cause increased presentational weight, such as <strong> and <i>, will raise slightly the weight of the content within said elements.  So even the presentational-effect elements can have an effect.  They also stated that if you’re using elements solely to increase ranking, you’re playing a loser’s game.
  • The earlier content sits in the document, the more weight it has… but again, this is a very minor effect.
  • Hyperlink title attribute and longdesc text has no effect, positive or negative, on search engine ranking.  The advice given was to have a link’s title text be the same as its content, and that anything you’d put into a longdesc should just go into the page itself.  (Remember: this advice is ruthlessly practical and specific to search-engine ranking, not based on any notions of purity.)
  • Having a valid document neither helps nor hurts ranking; validation is completely ignored.  The (paraphrased) statement from a Yahoo! representative was that validation doesn’t help find better information for the user, because good information can (and usually does) appear on non-valid pages.
  • Search engine indexers don’t care about smaller pages, although the people who run them do care about reducing bandwidth consumption, so they like smaller pages for that reason.  But not enough to make it affect rankings.
  • A lot of things that we take for granted as being good, like image-replacement techniques and Flash replacement techniques, are technologically indistinguishable from search-engine spamming techniques.  (Mostly because these things are often used for the purpose of spamming search engines.)  Things like throwing the text offscreen in order to show a background image, hiding layers of text for dynamic display, and so forth are all grouped together under the SEO-industry term “cloaking”.  As the Yahoo! guy put it, 95% of cloaking is done for the specific purpose of spamming or otherwise rigging search engine results.  So the 5% of it that isn’t… is us.  And we’re taking a tiny risk of search-engine banishment because our “make this look pretty” tools are so often used for evil.

Reading that last point, you might be wondering: how much of a risk are you taking?  Very little, as it turns out.  Search engine indexers do not try to detect cloaking and then slam you into a blacklist—at least, they don’t do that right now.  To get booted from a search engine, someone needs to have reported your site as trying to scam search engines.  If that happens, then extra detection and evaluation measures kick in.  That’s when you’re at risk of being blacklisted.  Note that it takes, in effect, a tattletale to make this even a possibility.  It’s also the case that if you find you’ve been booted and you think the booting unfair, you can appeal for a human review of your site.

So using standards will not, of itself, increase your risk of banishment from Google.  If someone claims to Google that you’re a dirty search spammer, there’s a small but nonzero chance that you’ll get booted, especially if you’re using things like hidden text.  If you do get booted and tell Google you aren’t a spammer, and they check and agree with you, you’ll be back in the index immediately.

So there’s no real reason to panic.  But it’s still a bit dismaying to realize that the very same tools we use to make the Web better are much more often used to pollute it.  I don’t suppose it’s surprising, though.

Due to my radically compressed schedule, I was unfortunately not able to ask most of the questions people suggested, and for that I’m very sorry.  There was some talk of having me present at future SES conferences, however, so hopefully I’ll have more chances in the future.  I’ll also work the e-mail contacts I developed to see what I can divine.


S5 1.1b2

Published 20 years, 9 months past

Behold: v1.1 beta 2 of S5.  This version has a few of changes, all of which are being floated as trial balloons.  Feedback on them all is appreciated.

  • Change in file structure.  Now the ui/ directory will contain only directories.  Thus, the default theme and scripts live in ui/default/.  The reason for this is so that other themes can be put in the ui/ directory without things getting too confusing.  For example, the current beta version has a v11b2/ directory (the beta’s version of ui/) that contains default/ and i18n/.  Switching between them does require manual editing of the XHTML file, as I decided to punt on dynamic theme switching for now.  This does, however, let an author carry around a single ui/ directory with a number of themes contained inside.  That way, he might have four presentations to give, each one with a different theme, but all of them sharing the same ui/ directory.

    Another advantage to changing the directory structure is that v1.0 presentations won’t be compatible with v1.1 themes.  That’s actually a good thing, since the XHTML structure changed in small but significant ways in v1.1b1.

    I thought about further splitting the default directory into “script” and “style” subdirectories, but this seemed like a bit of overkill.  However, I’m starting to wonder how to handle things like IE/Win behaviors, which I suspect will be needed before too much longer.  Why?  Look at the images in the v1.1b2 testbed: they all have flat white backgrounds.  I’d like to turn them all into PNGs with alpha channels, and I’d like to have those work as intended in IE/Win.  The only way to make that work right now is via behaviors like this one.  I’ll want to drop those behaviors into the default/ directory—my leading candidate would actually be IE7, once it gets close to being stable, mostly because it would add quite a lot to theme authors’ CSS toolkits.  But all those behavior files could clutter up the directory, for which the easiest fix is to drop them all in a subdirectory… you probably see where I’m going with this.

    That’s all for another version, though; v1.1 won’t have any behaviors packaged by default.  It’s just on my radar, and I thought I’d toss it out to see if anyone has bright ideas.

  • A “header” file for themes.  You can see an example at v11b2/i18n/00_head.txt.  Briefly, this file contains material destined for the head element of any presentation that’s going to use this theme.  In the case of i18n, the only thing that changes is the link element pointing to slides.css.  Nevertheless, the header file provides all of the link and script elements that should appear in the presentation file.  This should make it easier for an editor program to just grab each block and paste them over the existing block in the presentation file.  It will also reduce ambiguity for anyone doing a manual edit to change themes.  (Open header file, drag-select, copy; open presentation file, drag-select, paste, save, done.)

  • Changes to incremental class names.  In earlier versions, incremental-display objects were marked with a class of inc, and any list that should start out already showing the first list item got a class of psf.  I’ve changed those to incremental and show-first.  The new names require a little more typing, but they’re much less ambiguous and therefore much more author-friendly.  I’m interested to see if anyone has ideas for better names, especially for show-first.

As for the issue of licensing, I guess I’m little further along, but not all they way yet.  The discussion did help me focus on what I want.

  • Presentation content should be under whatever license/terms the author desires.  I do not want to force all S5 presentation content to be public domain, or GPL’ed, or whatever.  If someone wants to give a highly confidential talk using S5, they should be able to put the most restrcitive license in the Universe on the content… but only on the content.

  • Themes should similarly have their licenses, or lack thereof, determined by each one’s author.  If Joe Consultant wants to create a MyCoolCo theme and release it under copyright so that anyone can use the theme for their own presentations but nobody is allowed to re-use his images/look-and-feel/whatever outside the S5 theme, there should be nothing that stops him from doing so.

  • The S5 system (JS, core CSS, and the way they’re put together) should be forever free to use by anyone who wants to do so.  It should be open for future development, in the event that I stop developing it and someone wants to keep going.  This would also allow anyone to fork off their own variant on S5 at any time, but that’s okay too.

    Here’s where it gets a little tricky: S5 should be able to be incorporated into any other project, commercial or not, without restriction.  Attribution to the original source is to be strongly encouraged, but not an absolute requirement.  But at no time, and in no way, should use of S5 in a closed environment ever cause a back-flow of restrictions to the original project.

In other words, anyone should be able to use S5 or a derivative work in their for-profit, wholly proprietary, patented software (or in any other circumstance).  They can even make modifications, if they like.  However, there should be no way for their use of it in a closed system to infect the original S5 source, and if their modifications make it into a future version of S5, the same should hold true.  I don’t even know if that’s possible, but it’s in the spirit of the Share Alike terms in the Creative Commons licenses.  You want to build S5 support into your $49.95 fully copyrighted and licensed editor?  Fine, no problem.  You want to extend S5 to do more cool stuff?  Also fine, but freely contribute the changes back to the place you got the code in the first place.  Don’t try to claim the original project has no right to the additions you made to it, or that the addition of those changes to the original project makes the whole thing yours.

(Not that I think any of you would do such a thing, but I have to think ahead to when S5 catches the interest of someone… well, let’s say less scrupulous.)

In a sense, I want to prevent major infection of licensing terms in both directions.  I’m not entirely sure where that leaves me, but I’d like to work it out before 1.1 goes final.


Browse the Archive

Earlier Entries

Later Entries