Thoughts From Eric Archive

Unjustified Caption Text

Published 20 years, 9 months past

I just stumbled across a browser bug this evening that I thought you all might like to know about.  So we all know that IE6/Win supports text-align: justify, right?  Wrong.  Sorry, but it’s the truth: IE6 does not fully support text-align: justify.  True, it mostly supports that declaration, but if you apply said declaration to a caption element, guess what?  You get centered, non-justified text instead.  It’s very much as though, in the case of caption elements, IE6 replaces justify with center.

I just thought I’d pass this along in case it might help anyone else avoid some furious head-scratching.  And, I’m sorry to say, I don’t know of a workaround.  If anyone finds one, please leave a comment to that effect.

This is a perfect illustration of how difficult it is to do comprehensive CSS testing.  Every CSS support chart I’ve ever seen has marked down IE6 as supporting justified text; I mean, why wouldn’t they?  It clearly did so… for the specific test cases used to create that support chart.  The odds of a test page including a caption element are pretty vanishingly small, unless of course we’re talking about a test page that includes every single XHTML element in existence.  And to test every element known for every property-value combination… well, I’ve talked about that before.  No need to trample the same ground even flatter.


En Passant

Published 20 years, 9 months past

Last night, during a small window of down time (the first in almost a week), I fired up Freeverse‘s entirely free yet thoroughly gorgeous Big Bang Chess.  Now, it should be stated right up front that I’m not really a fan of chess.  Oh, sure, Game of Kings and all that, but generally I find it to be an almost even mixture of boredom and frustration.  The latter is particularly true because I’m just not very good at the game.  There’s too much going on, and I have to juggle too many things that might or might not happen, for it to be much fun for me.

But I was looking to keep myself occupied for a few minutes, and I have very few games installed on the laptop, so Big Bang Chess got the nod.  I immediately cranked the AI setting all the way over to the left (thus elevating fast thinking above smart thinking) and started playing.  As I blew through a few quick matches, it occurred to me that there are a few things that a computer chess game could do to make me more interested.

Human-like turn lengths for the AI.

One of the things that most often frustrates me about computer chess is that the AI will make a move within seconds of my making a move.  More often, it will do so immediately.  Then I sit there, thinking my slow organic thoughts, feeling vaguely stupid for being such a slowpoke even though I know there’s no direct comparison.  Eventually, I make a move.  Instantly, the computer makes its move.  My first reaction is, “That was awfully quick.  Was he waiting for the move I just made?  Did I just walk into a trap?  What am I missing?”  And then I go hunting around the board, not sure where to look, not sure that there’s even anything to see.

I’m aware that the computer needs only a fraction of a second to run through possible moves and pick one.  If it’s a really advanced system, it may take 20 or 30 seconds as it looks five moves ahead.  If the computer took a human amount of time before moving, say a few minutes, I’d feel more at ease.  Yes, I know that means having the computer pick a move and then do absolutely nothing for a few minutes.  I don’t care.  This is purely a matter of acting in a manner that makes me more comfortable, and therefore more likely to enjoy the entire process.  The UI could have a “go ahead and move” button tucked away in a corner for me to use if I ever got tired of waiting.

I realized this was what I wanted when I asked myself why I was setting the AI to be quick at the expense of being smart.  Aside from making it more likely that I’d win, I realized it was because I felt like if the computer was going to move at a speed that, subjectively, seemed reckless and devoid of consideration, then its moves should reflect that.  And they do.  But even if I set the AI to be as smart as possible, it’s still going to seem to me like it’s moving without putting much thought into its game.

So put up a picture of an opponent who looks around the board, holds a chin in his or her hand as if pondering deep thoughts, leans back in reflection, and generally acts like it’s still thinking even though it picked a move three minutes ago.  It will make the game more enjoyable.

An option to show all of the squares that any enemy piece can reach.

Part of my problem in chess is that I don’t have the patience to figure out whether a given square I’m considering occupying (or piece I’m thinking about taking) is already covered.  That’s largely due to all the possible ways a square can be covered.  Is there a knight within striking distance?  Can a bishop jump over from the other side of the board?  And so on.  It isn’t that I can’t manage this mental feat.  It’s just that I have little interest in doing so for every single last square that interests me, turn after turn.  So if a game tinted all enemy-reachable squares red, for example, I’d have a much better grasp of the strategic situation.

This would obviously be an option in the preferences, albeit one I’d never disable.  Having a similar “tint all squares my pieces can reach” option would be cool, too.  It would be even better if the amount of tinting of a square was based on the number of pieces that could move to it.

This kind of visualization would keep me from making stupid mistakes, and mean a lot less use of the “Undo move” option.  Who knows?  Maybe with enough play in that mode, I’d eventually reach the point where I didn’t need the help.

The ability to somehow create variant games.

Back in high school, I was a member of the chess club, mostly because a lot of my friends were members.  Also because I still bought into the idea that the really smart people played chess, and I wanted to be really smart.  We had a few variant games that I remember fondly, and it would be fun to have them reborn.  My favorite was Nuclear Chess.  In that one, any piece could instead of moving choose to self-detonate, destroying itself and any pieces in adjacent squares.  (Of course, if you did that with your King, you lost the game—unless you took out the opposing King, in which case it was a tie.)  And then there was Thermonuclear Chess, where any piece could make a normal move and then immediately detonate.

They were quick games.  Lots of fun, too.  The nature of the game changes dramatically when you have to make sure an opposing piece can’t just plow into your pawn line and immediately detonate, thus wiping out your King in the process.

Anyway, I’m not entirely sure how one could open up a chess game’s architecture to allow the creation of variants like that, but I’d love to see it happen.

Just some random thoughts on a game I don’t really like.  If you want to talk Checkers, though…


Once With Heads Held High

Published 20 years, 9 months past

Perhaps unsurprisingly, I got some feedback on “Behind The Beauty, Cracks Appear“, published four weeks ago today.  What did surprise me was that the feedback was for the most part supportive.  In all honesty, I expected a good deal more negative feedback.  After all, roughly two-thirds of my fellow state residents, and clear majorities in ten other states, voted a position opposite mine.  So thanks to those of you who wrote or pinged in support.

As I say, though, there were some rebuttals to my post.  As many of these rebuttals involved counterarguments of one kind or another, I thought I’d share my reactions to the arguments made in opposition to homosexual marriage.  I’ll probably let this be my last word on the subject for a while.

Majority rule

“It’s what the people want.”

Agreed.  Thus my angst.  But anyone with any sense of history knows how weak the “majority rule” argument really is.  There are plenty of unacceptable things that the people wanted at one time or another: slavery, racial separation, and a restriction of voting rights to men, to name but three.  (There are dozens more.)

You’ll note that I have not, at any point, advocated the overturning of the recent votes.  However misguided I believe them to be, the results of these democratic votes are not something I would simply cast aside in an attempt to make the world conform to my personal views, any more than I would advocate overturning, by either legislative action or executive fiat, a Supreme Court decision on the grounds I didn’t like the ruling.

Nevertheless, I can (and some would say should) oppose this turn of events by speaking out and seeking to change minds.

A slippery slope to Hell

“Once we allow gays to marry, it will open the door to bestiality, pedophilia, necrophilia, and worse.”

This is so wrong, I can’t even believe I have to explain why.

A marriage of two homosexuals would be a union between consenting adults.  Got that?  Everything clear?  Bestiality does not involve consenting adults: it involves a human and an animal, the latter of which cannot give consent.  Pedophilia does not involve consenting adults: it involves an adult and a child, the latter of which cannot be said to give informed consent, no matter what the child actually says.  Necrophilia involves an adult and a corpse, the latter of which can only give consent in horror movies.

You do see the difference, right?

One person who trackbacked the original posting said, among several other equally logical things:

I’ve watched a few demolition derbies at the county fair. That looks like it would be fun to do and would make me happy. Does that mean I should be allowed to drive around on the streets and smash into cars?

Actually, it means you should be free to enter a demolition derby… which you are, assuming you have the entry fee, a car you’re willing to smash up, you agree to the rules of the event, and so on.  Nobody’s outright prohibiting you or anyone else from participating.  That is, after all, one of the underlying features of demolition derbies: everyone participating is a consenting adult who has entered into the activity of their own free will and with an understanding of what the activity entails.

If, on the other hand, there are demolition derbies where you are barred from participating on the basis of, say, your eye color—something which in no way adversely affects your ability to participate in the derby—then I’d say you were being unfairly discriminated against.  You’d probably agree.  So why disagree with me when I say it’s discriminatory to prohibit people of certain sexual orientations to marry?  I don’t see a difference.

As for the “on the streets” idea (which was a fairly obvious misdirection, but I’m willing to work with it anyway) if you can get the consent of all involved parties—including all other drivers, pedestrians, property owners, and civic officials in the area you intend to do this—then yes, you should be allowed to do that.  If not, then no.

I’m still sort of stunned that I have to explain that.

A slippery slope to Hell, part 2

“What about polygamy?  What will prevent that door from opening?”

In a word: money.  Our institutions aren’t fiscally configured to deal with multi-partner marriages.  Health insurance, for example, has single and family coverage, but that family coverage is structured around the idea of one spouse and some number of children (and usually the premium goes up a bit with each new child).  Similarly, a university might allow a spouse to take free classes, but only one spouse.  There’s no provision extending free tuition to six spouses, nor should there be: that would be an undue financial burden.  Also, the IRS isn’t very likely to approve of “married filing jointly with five other returns”.  And if the tax man don’t like it, well, it ain’t too likely to fly.

Besides, didn’t most of the Old Testament patriarchs have multiple wives?  When you think about that just a little, it’s clear Biblical proof that marriage has not always been a bond between a single man and a single woman, and thus it seems to me that the God of the Bible didn’t intend marriage to be only the union of one man and one woman—unless the Bible is inaccurate or not to be obeyed in its entirety, of course.  In which case I’d expect the really traditional churches would be pushing for polygamy, not against it.

Cheapening of marriage

“If gays can get married, that will weaken traditional marriages.”

The case for allowing gays to marry begins with equality, pure and simple. Why should one set of loving, consenting adults be denied a right that other such adults have and which, if exercised, will do no damage to anyone else?

— “The case for gay marriage“, The Economist, 26 February 2004

I’d read the above-quoted article a while ago but forgotten it; Warren Stevens was kind enough to remind me about it via e-mail.  It’s short, well-reasoned, and probably a better case than I could make.  So is their first article on the subject, “Let them wed“, from 4 January 1996.  Still, I’ll continue to add a few cents to the pot.

A heterosexual Satanist couple (but not a homosexual Christian couple) can get married anywhere in this country, and odds are that some have.  Some people get married solely for financial reasons, and are essentially roommates while they date (and have sex with) other partners.  Do these marriages weaken your marriage, or the marriages of those around you?  Do you imagine that your marriage somehow affects theirs, making it weaker or stronger?

For that matter, if we’re going to talk about things that weaken marriage, I think we should look at the ease with which people get married and divorced in this country.  That’s a far bigger threat to the sanctity of marriage than any number of gay marriages could ever be.  Britney Spears got married for 55 hours.  Apparently that’s more acceptable than a homosexual marriage because she was married to a man, even if for just over two days.  Why would it be less acceptable if she were to marry a woman, and stay faithfully committed to that partner for the rest of her life?

If gays are able to marry, it will not bring all heterosexual marriages to a screeching halt.  It won’t even make them less acceptable, or less worthy of respect.  If anything, it will make them more so, because there will be a reduced demand for sham marriages.

If nothing else, I’m tired of hearing about the sanctity of marriage from nationally recognized conservatives, most of whom have already been divorced two or more times.  Their hypocrisy depresses me, but their inability to defend their own marriages has, so far as I know, failed to weaken my marriage, or that of anyone I know.

Marriage isn’t as important as love

“A gay couple can stay committed and faithful to one another, just as if they were married, so there’s no need to grant legal recognition.”

The freedom to marry has long been recognized as one of the vital personal rights essential to the orderly pursuit of happiness by free men.

—from the opinion of the U.S Supreme Court in 388 U.S. 1, Loving v. Virginia, 1967

I entirely agree with the Court.  And no, I don’t see an ethical difference between prohibitions of marriage based on gender and those based on race, which is what 388 U.S. 1 addressed.

Furthermore, I propose that anyone who believes that marriage isn’t necessary for any truly loving homosexual couple should voluntarily abstain from marriage, and get divorced if they are already married but stay with the same partner.  Show that you mean what you say.  If you truly love someone, then it shouldn’t be a problem to live with them for the rest of your lives without getting officially married, just as you advocate for gays.

If that isn’t acceptable to you, and you think hard about why, then maybe you’ll begin to understand why it isn’t acceptable to gays either.

(Thanks to Rich Manalang for the pointer to 388 U.S. 1.)

Inability to reproduce

“Gays don’t need to get married because they can’t have children.”

If the ability to reproduce is a core tenet of an acceptable marriage, then my marriage to Kat is unacceptable: we are unable to reproduce, and believe me, we did try.  Does anyone believe that we should be forcibly divorced, or have our marriage annulled, because of this?  Come on, speak up.  Alternatively, should all couples who intend to get married be required to undergo fertility testing, with those who fail the testing prohibited from being married?  Do you really want the government to start medically testing its citizens in order to tell them what they can or can’t do?

Because of the medical barriers to our reproducing, Kat and I chose to adopt.  I know Alan Keyes condemns people like us because, in his world, adoption makes incest inevitable.  (No, I’m not kidding.)  Lunatics aside, though, the last time I checked adoption was seen as an acceptable course of action by most people.  Regardless of how anyone feels, it is quite likely the only way Kat and I could have a family.  It is also one way that a homosexual couple could have a family.  I do not see a difference between the two.

Of course, gay couples are already adopting.  There was one such couple in our orientation group at the adoption agency with whom we worked.  Thus, homosexual marriage would change this very little, if at all.  It might in some cases make it easier for a gay couple to adopt, since they could legally show combined income, joint tax returns, health insurance, and the like.  I understand that would be objectionable to some, who fear that children raised by a gay couple might grow up to think of a homosexual lifestyle as acceptable.  As I pointed out, too late: it’s already happening.  It’s also the case that liberals are allowed to adopt—Kat and I did, after all—and many of those children grow up thinking liberalism is acceptable.  Shocking, I know; and yet I assure you that it happens.

Anyone in favor of restricting adoption only to those people who meet specific ideological standards?

Children’s welfare

“Children should be raised by a man and a woman, not by two men or two women.”

That’s a common belief, and one that has evidence both supporting and contradicting it.  I’m not at all convinced that a child needs to have one parent of each gender in order to be well raised.  Any time a child has a parent or parents who love, nurture, and discipline it as needed, I think the child is likely to turn out just fine.  Conversely, any time a child has a parent or parents who are cruel, abusive, or distant, they’re probably going to grow up maladjusted.

Society is better served by maximizing the number of children who grow up in loving, stable homes.  If a homosexual couple can provide that, then I don’t see why it should be problem.  If they can’t, then I think it’s as much of a problem as a heterosexual couple who can’t.

Choice

“Gays choose to be with same-sex partners.  If they chose to be with opposite-sex partners, they could get married.”

First, I’m going to leave aside the whole question of homosexuality as a choice versus a matter of nature.  There’s evidence on both sides, and against both sides.  I know what I believe, but I’m not going there, mostly because as far as I’m concerned, it’s not relevant.

Of those who are married or in a committed relationship of some kind, how many of you dispassionately chose the person with whom you fell in love?  When you truly love someone, it’s because that’s the right person for you, and vice versa.  As far as I’m concerned, that’s the end of the story.  Why would anyone choose to step away from the one they love because that person wasn’t the accepted gender, or race, or religion, or body type, or whatever else?  More importantly, why would anyone else demand that they do so?

Suppose I said that all married couples had to be interracial, or interfaith.  How is that ethically different from demanding that married couples be intergender?  I don’t see that it is.  Note I said “ethically”.  I understand that many see a moral difference.  Speaking of which…

Moral qualms

“It’s just wrong, and oughtn’t be allowed.”

There are religions that say the consumption of porcine meats or shellfish is wrong; others forbid the consumption of beef.  In fact, taken as a global aggregate, adherents of those religions outnumber Christians.  All those who do not follow these food-limiting faiths that are planning to alter their eating habits (that is, their lifestyle) based solely on the demands of said faiths, please raise your hands.

Anyone?

I was, in my original post, a bit sarcastic when I said “oh noble defenders of morality”.  The sarcastic part was the word “noble”: I never perceive intolerance as noble.  Other than that, the “morality” part was kind of my point: it’s your morality, not everyone’s.  This street goes both ways, of course; many feel that allowing gays to marry would be an imposition of external morality on them.  Conversely, the prohibitions of gay marriage are an imposition of external morality on gays.  Where’s the balance?

Something I’ve seen making the rounds is the idea that the government should stop issuing marriage licenses altogether, and instead grant legal recognition to civil unions (both hetero- and homosexual).  Of course, if a couple chooses to marry in a church or other setting, they would be entirely free to do so.  The point here would be that the civil unions would have the current status marriages hold—the rights, privileges, and burdens that come with being recognized as a married couple would be conferred upon these unions.  Marriage would be made a more personal and spiritual act, one that every church could perform for whomever they choose.  Some could restrict it only to opposite-gender couples, while others might only marry same-sex couples.  Or, and here’s a radical concept, a church might choose to marry any two people who love each other enough to undertake so serious a commitment.

It seems to me that this, or something very much like it, would be a workable approach.  I’ll grant you that it would force some churches and other socially conservative organizations to co-exist with (if not necessarily accept) something they don’t like, but that’s fairly inescapable.  In a large, complex society, every one of us will have to tolerate things we don’t like.  I, for one, don’t much like the recent votes to prohibit gay marriage, but clearly I have to live with them, at least for the time being.  I also don’t like people who can’t be bothered to signal lane changes, civilian-owned Hummers, Web design tools that generate malformed markup, and Rush Limbaugh.  Tell you what: support my legislation to ban the things I don’t like, and I’ll support yours.  Fair enough?

I could go on, but I think that’s quite enough.  There will, of course, be those who read this and despair that I’ve bought into the “homosexual agenda”.  Well, let’s see.  Near as I can tell, the agenda in question is one of asking that our society treat homosexuals like human beings, that it grant them the same rights and privileges accorded to other adults, and that it treat them as the equals the United States Constitution says they (along with everyone else) truly are.

Quite frankly, we should all buy into that agenda.


That Disney Magic

Published 20 years, 9 months past

For Thanksgiving, we visited Kat’s parents in the West Palm Beach area, where they retired earlier this year.  When we left Cleveland on Thanksgiving morning, it was snowing—the first snowfall of the season for us.  It was clear that it would build up a dusting, and then melt within a day.  Where we were headed, it was in the seventies.  A part of me wished I could have stayed with the snow.

But off we went, and had a wonderful dinner with Kat’s parents and brother Neil.  After dinner, Uncle Neil taught Carolyn how to work the stacking-ring toy we brought along, and his efforts paid off in spades.  She’s been pulling rings off of the toy and putting them back on ever since, although she still hasn’t quite worked out that whole “largest-to-smallest” thing.  It’s pretty amazing to see how fast she went from not understanding to clumsy attempts to get it right to being an old pro.

Best of all, there was a prize embedded in the center of our trip:  we drove up to Disney World to spend the night at the Contemporary Resort and take Carolyn to the Magic Kingdom for the first time.  We had dinner at the Liberty Tree Tavern, an establishment whose name strongly and incongruously reminded me of Thomas Jefferson’s dark aphorism.  After dinner we watched the Christmas parade go past.  Well, actually, Kat and I watched it; Carolyn slept soundly through the whole thing, thus proving my assertion that when she’s fallen into a deep sleep, you can march a brass band past her at full volume and not wake her up.  The parade marched two of them past her.  Snores galore.

The next day, we had breakfast at Chef Mickey’s, rode a few rides, saw the new “Philharmagic!” show (highly recommended), and then headed back to West Palm Beach with my father and his wife, who had met us that morning.

There were two things I observed at Disney that completely astonished me.

The first was that all the children, the same media-savvy world-weary jaded children we keep hearing about in the media, totally buy into the ‘magic’ of Disney.  They relate to the costumed cast members as if they were the real thing; when “Mickey” comes by the table to dance a little jig and pat the kids on the head, they don’t see quote marks.  It really is Mickey, as far as they’re concerned, and even if they know on some level that there’s someone inside a costume, they gladly ignore that knowledge and go along for the ride.

The second thing was that Carolyn, against all my expectations, totally got that the costumed characters were in some way special.  I expected her, even at nearly a year old, to regard the characters as slightly strange people, and not significantly more interesting than anyone else.  Not so.  At first, she was a little hesitant, but with each new character she got more and more excited about them.  You can see in the pictures just how comfortable she became: she’d only learned to give kisses the week before, and by the end of dinner gave Chip (or Dale) a kiss.

At breakfast the second day, she spotted Chef Goofy standing alone near the entrance to the restaurant.  She immediately let go of my hand and toddled toward him.  He sat down, and she went right into his arms for a big hug, then sat down next to him and looked up into his face.  As I took pictures, I heard several people behind me saying things to the effect of it being darned near the most adorable thing they’d ever seen.  A woman sidled up next to me and said she hoped I’d gotten it all on video.  I hadn’t, but that’s okay.  The pictures I did take tell the story well enough.

I don’t know what it is about Disney; maybe they put something in the water.  But it really does create a kind of magic.

All too soon, it was time to head back home.  Like any good parent, we want our child to be as safe as possible, so I was greatly heartened to see her taking the time to look over the important safety information printed on the card found in the seat pocket in front of her.

Carolyn, strapped into her seat on the plane, solemnly looks over the airline safety information card.

S5 Licensing

Published 20 years, 9 months past

I’ve gotten a few e-mails and comments to the effect that instead of using a Creative Commons license for S5, I should use GPL instead.  One of the reasons given to me was that the Creative Commons licenses are not considered appropriate for software, according to the Creative Commons folks.

My problem is that I don’t really think of a collection of (X)HTML, CSS, and JavaScript as “software”, so the GPL doesn’t really seem to fit.  Yes, the JS is code, and one could argue that it’s software of a kind, but markup?  Presentational hints?  Not so much.  I feel the same way about the Color Blender: it’s not really software so much as a widget.  A fun widget, perhaps even cool to some people, but still not software in the way that BBEdit or NetNewsWire or any given Web browser is software.

My other problem with GPL is that it’s long and stunningly legalistic.  It kind of has to be, and I think that’s great for the purpose for which it’s intended.  To ‘protect’ things like S5 or the Color Blender, the GPL kind of feels like protecting a kitten with the 82nd Armored Division.  What I like about the CC licenses is that they’re easily understandable; even the “lawyer-friendly” versions are compact and mostly understandable.  In perusing the list of licenses over at the Free Software Foundation, I quickly got a headache.  The one license that seemed the closest fit is the Expat license.  But even there, given the way it’s written, I come up against the question: is a confederation of markup, styles, and client-side code really “software”?

So what to do?  Stick with the CC license?  Move to Expat?  Plunge into GPL-land?  Come up with my own variant license based on Expat or something similarly simple?  I’d be interested to hear people’s opinions—especially those of you who have faced the same question, or a similar question, in the past.

I’m still a little bit bemused that it’s even a question, and a little bit dismayed that ours is the kind of world where I really do have to worry about this sort of thing.


S5 1.1b1

Published 20 years, 9 months past

Okay, S5 version 1.1 is now at beta 1 status.  In the process, I’ve rearranged the S5 sub-site a bit.  The testbed is now in a new location that will let me more easily manage version changes, and also keep test files out of the main directory.  The testbed demonstrates, at least right now, various forms of incremental rendering, including both text and image techniques.

There are some changes to note in 1.1b1:

  • The controls div is now a child of the layout div, and is thus no longer structurally confined to the footer.  This makes a few things easier, but it does mean any 1.0 themes are likely to get mangled a bit.  I decided to do this now in order to minimize disruptions.  The structure reference does not reflect this, as it documents v1.0, but will when v1.1 is finalized.  I was able to convert the default theme, I18N, and a new theme to handle this new structure without much trouble.
  • I’ve refactored some of the CSS files to make them more compact.  Nothing earth-shaking, but I thought I should mention it.
  • The slideshow configuration meta elements have been renamed to defaultView and controlVis, and have slightly different accepted values, but otherwise do exactly what they’ve done since they were added.
  • I’ve added an authaffil meta element, with syntax set up to allow multiple authors to be listed.  I’m considering making the value format a little more machine-readable, but we’ll see what you all think first.
  • I fixed the Safari bug where it advanced the slide show when opening an external link.  Yay me.

I’m in the process of setting up an archive for ‘official’ S5 versions, so that you’ll still be able to download the S5 1.0 UI folder even when we’re up to 1.725 or whatever.  This will be in place for the launch of v1.1.  Yes, I hear you: use SourceForge!  I’m abstaining for now, because I don’t have time to figure out how to set up a project on their system, let alone how to fix their UI so it isn’t confusing and frustrating.  Mine may not be much better right now, but at least mine’s easy for me to fix (and I’ll get to it soon, I promise).

The other major addition I have planned is to create a set of guidelines for theme packaging.  For example, every theme should contain a file titled 00_head.txt that contains the head-based elements (links and so forth) that should be used in a presentation file in order to make the theme work.  This will make it much easier for presentation authors to use themes without having to understand the ins and outs of the S5 file structure, and for theme authors to only have to package the files they want to change.  Hopefully that will make more sense once I write the guidelines.

And finally, you may have noticed that I’ve stopped superscripting the 5 in S5.  Practically nobody else was doing it, and it was getting to be a pain even for me to type, so I figured I’d go with the flow.  I’ll change the documentation eventually.

So please test out the testbed and let me know if anything goes seriously awry.  If anyone wants to try hooking up the 1.1b1 UI files to their own presentation, I’d be interested in hearing the results.  Remember, though: make sure your presentation file’s XHTML validates!  If you report problems in an invalid presentation, I’m not going to look at it until the validation errors are corrected.  That’s because the DOM routines depend on well-formed markup, and it would be futile for me to try to debug any problems caused by invalid markup.

With luck, we’ll only need one or two beta cycles before 1.1 can go final.


Unbreaking the Web

Published 20 years, 9 months past

While I was in Florida with my family visiting both sets of parents, Tristan Nitot published an article titled “How Microsoft can support CSS2 without breaking the Web“.  In it, Tristan points to a comment made by Gary Schare, Director of Windows Product Management at Microsoft, which was:

We could change the CSS support and many other standards elements within the browser rendering platform. But in doing so, we would also potentially  break a lot of things.

(from Microsoft Windows Exec Talks IE, Firefox)

Tristan then goes on to refute this line of thinking.  Generally speaking, I’m entirely in agreement with him.  (As a disclaimer, Tristan and I worked together as members of the Netscape Standards Evangelism Team, and Tristan asked me for feedback on his article before it was published.)

Here’s the thing: in the Windows world, Explorer already significantly upgraded its standards support four different times.  The most recent such upgrade was called IE6.  That was the version that first added DOCTYPE switching to IE/Win.  At that time, there were a great many changes made to the standards support, nearly every one for the better.  For example, in standards mode, you could no longer throw around unitless numbers and have them interpreted as pixels, because that violated the CSS specification.  You couldn’t set a height or width for an inline non-replaced element, because that too was incorrect.  The interpretation of font-size keywords was changed to reflect the CSS specification instead of the HTML font-sizing regime.  The box model was altered to follow CSS instead of the old IE way.  In short, there was all kinds of stuff in there that would “break a lot of things”.

The Web rather steadfastly declined to be broken.  Oh, sure, there were pages whose layout was altered—not many, thanks to the way DOCTYPE switching was implemented, but they were out there.  Anyone who was relying on the IE/Win way of doing things but used a DOCTYPE that triggered standards mode (say, for example, a HTML 4.01 Transitional DOCTYPE with URI) ended up with a “broken” page.  These problems were fixed by their authors, and that was that.  I remember a number of forum posts about how “IE6 broke my design”, and the posts that helped those authors address the problem.  In the case of old, unmaintained pages, they stayed broken, but odds are that next to nobody cared.  Regardless, it isn’t exactly a point of major concern on any radars I’ve seen in the last three years.

Furthermore, IE6 fixed a number of parsing bugs that existed in previous versions.  One of those was the bug on which Tantek Çelik’s “Box Model Hack” depended.  However, the parsing bug was fixed in both quirks and standards modes, so the BMH utterly failed to work in IE6 no matter what DOCTYPE you used.  That actually did break quite a few layouts, if I remember correctly.  I also remember the day I discovered that they’d fixed the parsing bug in both standards and quirks modes.  I swore at my monitor for a moment, and then actually thought about it.  I realized that the inconvenience of removing a few CSS hacks, or at worst changing to different hacks, was a pittance to pay in comparison to the advances IE6 had made in terms of increased standards support.

So I fixed a few style sheets, tossed a hack out of my mental toolbox, and got on with my life.  I contend that exactly the same thing would happen if a service pack were to add increased standards support to IE.

This is particularly true given that most of what IE should add would be, well, additions.  As in, things that IE doesn’t even try to support now, and so almost nobody uses them.  Think generated content.  Think attribute selectors.  Think fixed positioning.  These are all things that, if they were added to IE, would break almost no pages at all.  In fact, they’d make a small number of pages work better in IE.

For that incredibly small number of pages that would break (for whatever value of “break” you care to name) with improved standards support in IE6, I’m willing to bet that nearly all of them would get fixed right away.  Why?  Because they would be pages maintained by authors who actually want to use standards and care about doing things right.

Now, there is one area where I think the IE team would have to be careful about adding support, and that’s selectors.  A lot of hide-from-IE CSS hacks these days are based on its failure to support the child selector; in fact, I use these a few places in the S5 style sheets.  It is possible that adding support for child selectors to IE6 would be more harmful than beneficial.  I say it’s possible because I don’t know.  Nobody does—but Microsoft of all organizations has the ability to find out, and to act accordingly.  They have the funding, the personnel, the skills, and the customer base.  As Tristan said:

In its short, 2 1/2 year life, the Netscape Evangelism team helped  literally thousands of authors and administrators of web sites around the  world to improve their support for the W3C DOM and CSS Standards. If such a  small group with limited resources can help change the web, imagine what  Microsoft could do with its resources if it only tried.

Indeed.

Granted, the net stands still for no one, not even Microsoft.  There have already been, and continue to be, efforts to graft better standards support onto IE despite itself:  projects like PNG transparency fixes, whatever:hover, and IE7 take Microsoft’s proprietary behaviors and use them to make it easier to use open standards.  (I adore the poetry of that.)  The people behind those projects are already doing what Microsoft is apparently afraid to do, and they demonstrate why improving standards does not mean breaking the Web.

There’s one other point to consider.  If IE/Win improved its standards support in any meaningful way, believe me when I say that the news would be shouted from the Web site of every standards advocate in the known universe.  Nobody responsible for standards-oriented pages could avoid hearing about it.  Any problems would be quickly explained, and adjustments made.  Life would not only go on, but be better for developers and designers.

To sum up: the “more standards will break stuff” argument just doesn’t fly any more.  Microsoft can figure out what to do that won’t break pages, and there’s a ton of things that are new-to-IE, the implementation of which will no more break pages than did the image toolbar.  In cases that might cause breakage, Microsoft can determine—with community help, if they were to ask for it—how to minimize breakage while maximizing benefit.  To claim that possible Web page breakage prevents Microsoft from increasing standards support makes about as much sense as to claim that possible program breakage prevents them from ever changing or improving their operating system.

Despite this, I don’t have  much hope that we’ll see any improvements before Longhorn debuts.  I think that’s a shame, because I remember when the IE team was gung-ho about standards.  There were a number of very smart people who understood why standards were important, and were committed to doing their best to support standards in IE—not just on the Macintosh, but for Windows as well.

I do hope for Microsoft’s sake that those days return.  Because the Web continues to move, and if they just stand there promising that everything will be better in Longhorn, they may well find themselves left behind.


Into The East

Published 20 years, 9 months past

Hey, Japan, I’m headed your way and looking for gigs!

I’ve received official confirmation that I’ll be presenting a half-day tutorial at the Fourteenth International World Wide Web Conference, otherwise known as WWW2005, and also delivering a keynote and participating in a panel at the W4A Workshop at the same conference.  WWW2005 will be held in Chiba, Japan, running from 10 – 14 May 2005.  There will be more details on the Complex Spiral Events page in the next week or so.

So here’s the deal: I’m already committed to travel to Japan,  so this is a rare opportunity for any companies, organizations, or other groups that would like to hire me for training, speaking, or other consulting.  My usual fees include reasonable travel expenses such as hotel room and airfare, and as you might imagine, a plane flight from the eastern United States to Japan is just a tad expensive.  (Try somewhere around $1,250 for economy class and $7,500 for business class.)  However, since I’m going to be there anyway, I’ll waive the airfare expense for any consulting engagements.  That’s a pretty notable savings no matter what airfare class I’ll be flying.

Here’s the flip side: I will need to book my flights before the end of January, in order to make sure I can get good flight arrangements.  That means I’ll need to have settled any agreements to consult (in whatever capacity) by that time.  So if you’re in Japan or know people who are there and interested in standards, spread the word!  This is the first time I’ll ever have been to Japan, and I may not be back again for quite some time.  Any assistance in making the trip more productive will be greatly appreciated.

If you have a suggestion on where I could search for leads, feel free to leave a comment or e-mail me.  If you have a business proposal or wish to seriously discuss how we might work together, please contact me via the inquiry address at Complex SpiralDomo arigato!


Browse the Archive

Earlier Entries

Later Entries