Innovation on the Web? Eric Meyer’s Not Happy!

Usually semisane CSS evangelist/consultant Eric Meyer self-describedly has a nasty aneurism over Apple’s new Dashboard technology:

Wait a minute. Did I just get hit over the head and magically transported back to 1994? New HTML elements and attributes? What the bleeding hell?!?

[…]

I hope I�m reading his post incorrectly. I hope that what Dave is really saying is that Dashboard widgets are actually XML, albeit an XML that looks very much like HTML except they�ve added some nifty stuff to it. If so, great, fine, no problem. XML lets you do whatever you want, really. But if these are widgets that use actual HTML DOCTYPEs, and yet add this stuff, then the throbbing vein in my forehead is going to rupture and spray blood all over my shiny TiBook. We just left that tag soup party.

[Link added by your humble blogger. Emphasis in original. All rights reserved. Not valid in Alaska or Hawaii–the freak states.]

When I initially read Hyatt’s post I thought, “Finally, somebody is finally innovating in HTML in a way that doesn’t just lock in Microsoft’s monopoly and helps me, the humble developer!” God knows the W3C has been spending most of its time on XHTML 2 worrying over the purity of concept and little about empowering everyday authors. Proof that innovation just does not happen in committees.

But then I said, surely it isn’t as bad as all that–I should check out the ol’ W3 and see if there’s anything that Apple could be building on in a standards-compliant way. They’ve been playing really well with others recently, particularly in regard to Dashboard.

Well slap me silly and call me mamma jamma. Ol’ Eric ain’t been readin’ his XHTML specs, so obsessed with the presentation side of the house is he…to reiterate his major complaint:

if these are widgets that use actual HTML DOCTYPEs, and yet add this stuff

…then the appropriate DOCTYPE is XHTML 1.1, conforming to the XHTML Modularization recommendation, Eric.

To quote from the link above:

Modularization also allows for the extension of XHTML’s layout and presentation capabilities, using the extensibility of XML, without breaking the XHTML standard.

Eric doesn’t seem to recognize that you don’t have to use pure “XML that looks very much like HTML except they�ve added some nifty stuff to it”. It can have a valid DOCTYPE and yet extend it via XML.

Now, to be sure I don’t know–Apple may very well be extending XHTML 1.0 or even HTML 4.01 in technically illegal ways. Since these are widgets that just leverage the technology to perform some rather different functionality, rather than claiming to be a new valid document type for authoring on the broader Web, it wouldn’t bother me nearly as much as it would Eric. However, in that case I would concede the basic point: Apple is breaking standards.

But especially with a closed platform there’s no reason for them to: XHTML is supposed to be backward compatible, so your previous XHTML skills should do you well in XHTML 1.1. Apple can market them as Dashboard-specific changes while not mentioning that they’re just following the spec. This is what they did with Zeroconf/Rendezvous.

In short, Eric, if you’re feeling defensive and need to tie the Web down to the state of the art as of the release of Internet Explorer 6, go for it. But there’s a need to move forward out there, because the current batch of standards is not the end all and be all of Web development. Microsoft has given innovation a bad name, but that doesn’t mean innovation is bad: it just means Microsoft is bad.

But we knew that.

Update: That didn’t take long. Turns out Apple is breaking standards, but they’ve submitted the changes to the appropriate bodies and have worked with other browser makers to ensure they are implementable with others. Some of the changes, as I alluded to above, have been already incorporated into standards such as Web Forms.

So I don’t see what’s wrong with innovating on standards so long as you do what Apple has done: work with others and submit your changes. After all, this is pretty much the model for Open Source, which is often mentioned in the same paragraph, if not the same breath, as Standards.

Again, I’m only in love with Standards to the degree they’re a help and not a hindrance, and given my experience with Web Standards, I’m not thrilled with the current state of them. So it wouldn’t have caused me to sell all my Macs and buy Windows licenses even if they hadn’t submitted the changes–but given what I knew of the efforts already, it would have been out of character. Again, this stuff is going into a semi-closed platform.

It might have been nice to take advantage of XHTML 1.1, but Hyatt points out several problems with doing so, mainly in complexity of XHTML versus HTML, as well as browser support for XHTML being sucky (an assessment that surprised me a bit–I thought it was CSS that was the main issue). I have to say on the first point, my own experience with XHTML is that people really are too intellectually lazy to balance tags properly and so it breaks more easily with casual content authors.

Why I Ditched Salon from My RSS Aggregator

No, it wasn’t the extremely self-involved whiny “think pieces” from the factory-like Salon™ writing workshops that they release upon the planet like a plague of bombastic locusts. No, it wasn’t the fact that it’s the Fox News of the Left. The former I can avoid, the latter is a useful check on the Fox News of the right.

It’s the fact that their RSS feed really, really sucks.

Salon insist on posting only titles to over half their newsfeed items. Now I realize they famously have problems staying afloat (I guess after public radio and television, the Fox News of the Left for radio and TV, respectively, the $100K/yr set is used to letting other people pay for their entertainment, and why not? Soak the poor!), but hint to the lefties who never took anything other than Keynesian macroeconomics, focusing exclusively on how government spending is a magical cure-all: in order for me to buy something, you have to give me a reason why I should even look at it, let alone see Yet Another Salon Workshops Ad to view your word-for-word transcript of the AP newswire.

I’m sorry, but your headline writers are not the Frickin’ Geniuses they clearly think they are. They only do what headline writers are supposed to do, get me to click the entry to see if the article is worth reading. However, I’m then presented with another screen that simply restates the title, as if it’s making the Emperor’s New Clothes argument: if I were Truly Enlightened, I wouldn’t need to question the authority of my betters at Salon (they of the most annoyingly-titled feature in the world, the “Xday Must Reads”–making even Rush Limbaugh look humble). I would just Read It. Cover to End of the Web.

I’m also ditching Macslash, for the exact same reason. They just don’t have the smug attitude, hence they get less vitriol, just a simple ‘no thanks’ from me.

CSS: A Good Compromise

This is what I’ve been trying unsuccessfully to articulate for some time: “use CSS to the extent it works, but don’t be afraid to use table-minimal design” is really current best practice in Web design. If you have some real need to support several potential devices with one design, then by all means use table-free design: I’m not above doing that myself.

I don’t like that tables work more reliably for major browsers than anything else, but I accept the reality. When Longhorn ships it will be time to re-evaluate. Or if Safari and Firefox combined gain more than 50% market share. O, happy dream…

Careful Who You Outsource

Looks like the head of the Bank of Ireland got hoist by his own petard. After getting his post, he decided that in-house IT support was too expensive and did onshore outsourcing, which usually means firing everybody and letting a contracting company come in and rehire some of them at lower salaries with fewer benefits, all while charging a premium to manage them all. Supposedly there’s a cost savings in there, but all it suggests to me is that it reveals the inefficiency of the in-house HR management if simply replacing them saves enough to justify the profitability of a whole new management structure.

This, predictably, pissed off the employees, and being European and thus accustomed to such things, had some sort of labor action to protest the move.

Well, it turns out that as the outsourced IT people were looking at the executive’s machine, they found porn among the cached files on his hard drive. They informed their contacts at the Bank, and, unlike an American company, the CEO was forced to resign over the scandal. Here, only a woman who could sue for sexual harassment could bring up such an issue and have a CEO fired, and that would have to be through the courts. But nonetheless, it can get ugly.

So just make sure you’ve, um, covered all your bases, so to speak, when you decide to outsource the guy who reads your e-mail. I, for one, make sure I’m on good terms with my sysadmin wherever I go. A powerful friend, and a deadly foe.

Ways CSS Is Poorly Designed, part 1

Why can’t I put multiple background images on a single div?

div#myNiftyDiv
{
background: url(/images/topleft.gif) no-repeat top left;
background: url(/images/topright.gif) no-repeat top right;
background: url(/images/bottomleft.gif) no-repeat bottom left;
background: url(/images/bottomright.gif) no-repeat bottom right;
}

The above should give me a nice rounded corner for a colored box, and degrade nicely for agents that don’t support it. I could do more with a z-index property:

div#myNiftierDiv
{
background: url(/images/topgradient.gif) repeat-x top left z-index(1);
background: url(/images/repeatingpattern.gif) repeat-y z-index(0);
}

That would give me a nice gradient on top, possibly an alpha-blended png, and a repeating pattern down the body.

You can do these things currently in CSS, but you either have to place non-informational images in the div or use lots of non-semantic divs, or hard-code the width and height and sometimes position of the div while serving up a huge image, a la CSSZenGarden.

So really, who in 1999 when CSS 2 was on its way didn’t just look at the way tables were being used and think to themselves, “Hey, let’s make sure we can do all of this with our nifty new structure”? It’s not like I started encountering curved designs two years ago.

More ‘Semantic’ Code

So Eric Meyer is trumpeting the Blogger redesign. I have a couple of notes.

  1. It seems like this confirms that XHTML+CSS is not for casual professionals or consumers anymore. Either you have to be a hardcore hobbyist or a professional who does virtually nothing else, like Zeldman. They provide pre-selected XHTML-strict templates, but they had to go to a laundry list of luminaries to get them. The days of democratic HTML have given way to gatekeepers, either electronic or human. Fortunately the electronic ones preserve some of the democracy of the original HTML concept.
  2. The very first entry (the announcement itself) shows that semantic code that weighs less than comparable table-based layout is, shall we say, overhyped a bit:
    
    

    Hmm….seems kinda familiar…

    
    <table id="header">
    <tr id="h2">
    <td id="h3">
    <a href="../../" title="Blogger Knowledge">
    <img src="../../images/klogo100.gif" width="422" height="100" alt="Blogger" />
    </a>
    <font color="#CCCCCC"></font>
    </td>
    </tr>
    </table>
    
    

    OK, I threw in the font tag just to be mean, but I think you get my point. This is NOT “putting the hacks in a central CSS file.”

Really, all I want out of the XHTML Strict+CSS2 table-free advocates is an admission that the technology is still pretty immature, that there are still really big problems in adopting it as a full-on replacement for HTML, and that in current browsers it isn’t yet possible to completely fulfil the dream that they outline–easier maintenance, lighter weight (images and code), completely semantic code, and being able to use one source (XHTML) as the structured repository for content for several devices (wireless, disabled, standard browsers) simultaneously. I just want an acknowledgement that it costs more to produce and requires compromises, and that different situations may require different compromises–even, gasp, the occasional table for layout.

Really, can it be so much worse than the above example?

Blogs, Wikis, and Economics

Alex Singleton at the Adam Smith Institute has an interesting comparison of blogs and wikis by viewing them as economic systems. Their analysis is not without problems, but it’s a good thought exercise.

Blogs are decentralized and competitive. They are not a zero sum game, in the sense that for one blog to win readers, all others have to lose (though at some point, if you had a static population, the theoretical maximum of reader attention would be achieved–however absent that and with technological growth, such a condition won’t come about in a century at least). Blogs “succeed” by market acceptance–if you write interesting things and write well about topics people care about, they will discover and link to you. (Of course it’s a market failure that the entire world doesn’t wait with bated breath to find out what I put on this blog, but I digress.)

Wikis are centralized, in the sense a wiki about a given topic lives on one server. Anyone can theoretically contribute, and all contributions are considered equal, except in the sense that the last contribution determines what people see. This leads to unfortunate things like malicious deleting of content, rampant spam, and general graffiti. In short, many of the classic problems of a commons.

However, the analysis is not completely accurate. Blogs tend to have comments, and frequently those lead to the hateful, inaccurate, and unwanted commercial speech that Mr. Singleton accuses wikis of. There is not just one wiki, there are several, so wikis can compete against each other to be linked-to sources of information.

Furthermore, wikis have owners, and those owners do have a vested interest in keeping the commons neat and clean and relatively on-topic. Wikis also tend not to have an infinite audience, so “cultures” tend to form around them. Since a later post (or the administrator) can come by and undo what harm was done before, they more or less stay on track instead of instantly devolving into anarchy. The commons, once ruined, is not ruined forever.

That being said, it is pretty easy to see that the blogosphere is already treated as a more-or-less single entity, kind of like the global market. Blogs definitely have more blog-to-blog interaction than wikis have to each other. The blogosphere is more dynamic than the wikisphere, if such a thing can be said to exist…blogs rise and fall more quickly. And from personal experience, I can say that the tendency of spammers to come through and put Danish porn spam on your site about a content management framework is fairly annoying.

The beautiful thing is that both of these “economic systems” live within a broader economic system, the World Wide Web. So they will compete and evolve within a broader dynamic marketplace that rewards useful information sources. So in five years, we’ll see if either blogs or wikis are around, and more importantly, what form they’ll evolve into.

California Droolin’

So, say you’re an idiot and you’re concerned about Google’s Gmail privacy. But I repeat myself. Say you are such an idiot and you are in the California Assembly. Well, you get the drill.

Anyway, one such Einstein is sponsoring a bill to block Google’s new E-mail service in California. Hmmm…is it because she’s merely an idiot, or is she corrupt? I would dearly love to look at a list of her contributors. I expect to see Microsoft on there, possibly Yahoo.

Two massive problems with this:

First, you are free to choose from other e-mail services that are free (though also ad-supported). So if privacy is a problem, there are ready-made solutions without the wire Mommy getting involved.

Second, Google anonymously parses ads already with its AdSense technology, and I can assure you that programmers on a deadline and with performance limitations don’t hold on to that data…and guess what–any of these free e-mail services that you use store the e-mails on…wait for it…their server, where they can search and read it to their heart’s content without you even knowing.

Yeah, that’s right. You’ve given up your privacy long before Google used a program to parse it to give you ads in its database that contain similar keywords.

Take a look on many popular blogs and you’ll see that lots of people are voluntarily putting this technology on their sites…and the results are sometimes hilarious.

Update: Thanks to Jason Lefkowitz, I am now able to correct the sex of the legislator and determine that she may be an idiot, but she’s taking money from Microsoft. Though she’s mainly the bitch of the health insurance industry, she’s doing Microsoft’s monopoly work for them.

Further Update: Boy, she’s evil. From that same document: RECORDING INDUSTRY ASSOCIATION OF AMERICA, INC. $1,500.00

She hasn’t met a monopoly or price-fixing cartel she doesn’t like!

MS Surprised by Security Problems?

Craig Newmark over at Marginal Revolution wonders whether Microsoft isn’t getting bashed for what it fails to bundle as well as what it bundles. The idea is that security software should come with Windows, but that would be bundling.

At the end of the post, Craig wonders:

I think the primary reason is that Microsoft was surprised by the extent of the problem, similar to how it was surprised in the mid 90s by how rapidly and deeply the Internet caught on.

But it sure would be hard to prove that.

Yes, it would–especially given that they’ve claimed to make Security Job 1 for the last two years, and that was after considerable bashing/warning/advising from the tech community.

The problem isn’t that MS fails to include an antivirus package and a firewall in Windows by default (though MS doesn’t prevent a PC manufacturer to do so, unlike bundling alternate Web browsers or media players). It’s that what they currently bundle is configured so insecurely.

The common thread of most of the recent worms has been a dependence on Outlook, which is bundled with Microsoft’s other monopoly, Office. Outlook will trigger an included script even when you don’t preview or open the message but merely highlight it. Windows also allows scripts and programs to make changes to the operating system without notifying you.

None of this is true on alternate operating systems or even mail clients. I could go on about the inherently insecure settings and features of Windows, but that’s been well documented elsewhere. Let’s just conclude by saying that bundling isn’t the problem, and if they’ve missed the boat on security, they haven’t displayed the kind of catchup rush that they did with the Internet.

Disappearing text in IE 6 Fixed, Thanks Jason

So with some gracious help from Jason Lefkowitz, I’ve fixed the IE 6 problem noted below.

Just so you know what it was in case you don’t think to yourself, “Self, instead of spending two hours on this, I’m going to spend 15 minutes putting in a two-column table and be done with it,” I outline the problem and solution here.

The problem is if you have a div floated over another, and only in IE 6. If the div that is floated over has a background-color, that background color will cover everything in that non-floated div until IE is forced to redraw the screen (such as by covering it with another window or selecting the invisible text).

The solution is to take the background-color out.

Jason points out that this is Bill Gates’s fault, not WaSP or Zeldman’s. Technically, no, but here’s a case where I was on several other deadlines, and this weird issue comes up and sucks up two hours of my day as I debug it. Now, debugging is part of life, but a quick solution would have been to take the two columns of layout and plunk them in two table cells. That would have taken me 15 minutes to restructure the page and test in the applicable browsers.

Given the structure of the code it actually would have been the same on assistive devices, though a cell phone might have had more problems with it. Still, if we get sufficient cell phone traffic, I’ll just put up a WML version of the relevant information. So far, nary a one has been identified.

In this case, I didn’t even care what the thing looked like in NS 4, I just wanted it to work in IE 6 and Mozilla. That’s it, really, all I cared about. But doing it the “right” way cost me time I didn’t have.

The reason I spent it? Because that was how the code had been conceived originally, and I wanted to stay true to that. Also Jason helped, which basically goaded me into not just giving up on it. Had he not, there’d be one more table in existence today.

So — my problem is not with “Standards” per se, but rather unreasonable application of them when the tradeoffs just don’t work in their favor. Don’t expect to see me often going to these lengths. When in doubt, I will go with what works for the vast majority of my audience and keep my projects from going over budget.

When the browser market is such that doing away with tables for layout is more efficient, I will happily do so. It’s just not there yet, pace Zeldman.