Sing It From the Rafters

WordPress 1.2 is available. I’m at a loss for words at the moment, so I’ll just quote the features list:

  • Sub-categories: Categories can be arranged hierarchically and infinitely deep. Multiple categories combined with sub-categories gives WordPress the most comprehensive taxonomy system of any blogging software available.
  • OPML Export and Import: You can import and export OPML to systems like Bloglines or desktop aggregators like NetNewsWire and FeedDemon.
  • Automatic Thumbnail Creation System: WordPress has a refined upload feature that automatically creates thumbnails any size you want.
  • Encrypted passwords and cookies: All passwords in the database and password cookies are encrypted, ensuring maximal security.
  • New plugin architecture: The new plugin architecture simplifies modifying or extending WordPress’ features. Plugins can now hook into nearly every action WordPress does.
  • Localization of WordPress and Unicode support: The efforts put into internationalizing WordPress have borne fruit, and now you can adapt WordPRess to work in your native language. Several translations are already available.
  • Advanced comment moderation: You can now fine-tune your moderation filters in a manner very similar to blacklists for other weblog tools. There is also mass-editing of comments, which makes it a snap to delete hundreds of comments with the click of a button, if necessary.
  • Post preview: Near-instant previews while writing or editing articles help you proofread and make improvements before finally presenting your work of art to the world.
  • RSS and LiveJournal Importers: The new RSS import script is the closest thing to an universal importer. It allows you to import entries from Radio weblogs even other blogging tools that we may not support specifically. The LiveJournal importer finally lets you have a full blooded self-hosted weblog without losing all your old LiveJournal posts.
  • Unlimited update services: Now you can define multiple weblog change monitoring services to be pinged when you post.
  • Directory flexbility: Now you can have all the WordPress files in one directory and the weblog in a higher level directory.


I’m in the midst of finals, so there is not a lot of time for extra-curricular writing here. Things have still been busy. Most notably, I am now a member of the Web Standards Project, and you can see where my bio will eventually go. A friend in San Francisco told me the other day that whenever I come up in conversation it’s as “Photo Matt,” partly because no one can remember my last name. This was exciting to hear because it puts me a single word away from one-word celebrities such as Sting, Prince, Common, Madonna, Ludacris, Seal, and Poe. I suppose I’m in the less-exclusive two-word celebrity club with the likes of Snoop Dogg, Puff Daddy (P. Diddy?), Big Boi, and Andre 3000. Right. The reason I think it’s all funny is that the filename of my bio is photomatt.html, breaking the convention of every other bio on the WaSP site. I guess Molly forgot my last name.

Once again, sorry for the unexpected break in posting. As my schedule settles things should return back to normal, whatever that may be. Besides, all the action is on WordPress anyway, which is fast-approaching its version 1.2 release. Version 1.0 was a big deal and made a lot of necessary architectual changes that we really needed to move forward, but I think 1.2 is the one that’s going to make waves. As a welcome side-effect of WordPress’ recent surge in popularity, there has been a lot more activity with volunteers sending in patches and working on documentation, both of which are sincerely appreciated. The official chat channel has been busy too, #wordpress on I currently have two bots running in the channel, wpbot and pressbot. Wpbot is based on the interesting Mozbot package, which has great logging features and a few other nicities, but just wasn’t what I was ultimately looking for. What I really wanted was JiBot, and that’s what pressbot is. It was more involved installation than Mozbot—I had to download and compile Python, SQLite, and a number of Python packages—but it has been totally worth it. I have been doing a number of development-related setups lately, especially on Windows, and I can’t wait until I get a free moment to write about them. My productivity and organazation has improved several-fold as a result of a few pieces of well-connected open-source software.

Meta Personal


I’m not sure if I’m one of the “six prominent webloggers” Brad mentions in his post Gmail major security flaw, but when I got a mail from him saying that I was guilty of exactly what he described, I thought it would be a good time to change my secret question and password. I guess he was really anxious to get a Gmail account. He could have asked though, I let Adam poke around mine.

My thoughts on Gmail? It’s really well-done in terms of how the interface works. It’s faster than Thunderbird for common tasks and I could see using it full-time. But I wouldn’t even consider it until they provide a good way to import and export everything. Email is the lifeblood of everything I do, and I’ve been burned too many times to trust it to a third party—even if it’s non-evil Google. When I put my address out there in a previous post I was pleasantly surprised to get emails from a number of people I’d never corresponded with. Unfortunately soon after that the spam started coming in. It’s more than I get on my “real” account, but I can’t expect a beta product to compete with a finely-tuned SpamAssassin installation and 22MB bayesian database.

Speaking of passwords, a few months I switched to using 8+ characters of random junk for everything, and different passwords for everything. You can use the random password generator to get a few of your own. Throw in SSH tunneling, a great VPN through my university, and consistent rotation schedule and I’m feeling pretty secure. (Knock on wood.) I just need a fingerprint scanner.

In other news, the place of residence has been spruced up a bit with surround-sound speakers, a cut-glass-hanging-thingy, and some additional lighting. Pictures forthcoming.

Finally, the mosaic thread currently stands at nearly 669 comments, and soon there will be more comments on that post then there are posts on this site. I don’t generally talk about traffic in public because I think it’s bad taste, but the numbers this month have been intimidating. In terms of bandwidth used a few dozen gigabytes last month, mostly in photos. So far this month the usage stands at 305 gigabytes for this domain alone and I’m at a loss for words, except to say it’s nice to know I have that sort of scalability. I think I’ll go back to posting pictures of my cat.

Update: Final usage for April on was 511 gigabytes.

Spring Ping Thing

Now I know what you’re thinking. It’s Spring and time for me to stop teasing and come forward with something dramatic.

Announcing Ping-O-Matic, the automatic pinging fanatic that handles the pinging of almost a dozen different update services. Erratic server responses making pinging problematic? Bookmark the Ping-O-Matic results page and let us handle the dirty work.

With the dream team of Dougal and yours truly, you knew it was going to be cool. What you see is just the beginning. Think a unified XML-RPC interface (One Ping to rule them all, One Ping to find them…), think ping queueing, think quality of service and response graphs, think different, think global blogtimes, think update aggregation, think Ping-O-Matic.

So spread the word from here to Beijing. More than just a fling, we’re committed to being the Kings of Pings. We take this ping thing seriously, so you don’t have to.


XFN Press

Today was a great day in that I got to read two excellent write-ups of XFN. The first comes from Shirley Kaiser at Brainstorms and Raves: Friends, XFN, and Hyperlinks. The second came from Molly and it’s a mouthful: Integrated Web Design: Social Networking — The Relationship between Humans and Computers is Coming of Age. Molly’s article quotes me on pages 3 and 4, so watch out.

I suppose now is as good a time as any to announce this little tool I wrote for XFN about a month ago. Exefen (pronounced exy-fen) reads any public HTML page you give it and then returns every external link on the page with a XFN Creator widget attached to it. You can then go and add XFN values as appropiate just by clicking a few boxes. Then when you submit that data exefen returns the original page source with all the XFN data added. Some features:

  • Works with all reasonably formed XHTML and HTML, different quoting styles etc.
  • Parses any existing rel values and uses those
  • Preserves formatting, etc in original document
  • Ignores internal and relative links

It could probably do more, and reasonable requests will be entertained. This tool was actually made in response to a comment by Zeldman saying he didn’t have time to add XFN values to his externals page. Using this tool he did it in less than an hour. In his words, “Fabulous! Great tool.” Are you XFN friendly yet?

Tracking in Generated Images

Generating images with PHP is one of my favorite tricks and the ease of doing this in PHP is really a testament the language getting something right. If you’re on the site and not in your RSS aggregator, then you enjoy a generated image on every page on, the titles of each post and the post times graph at the bottom of the page. Combined with image replacement techniques, PHP-generated images can be very useful. This was one of the first blogs I know of to do it, but I’ve seen it on several sites since then and I’ve shared the code with anyone who asks.

However the function I’m using for all of this, imagettftext is rather crude, and doesn’t allow for much control in how the text is presented. After a bit of work I just created a function that simulates tracking in text images that are created by PHP. I’m happy with structure of the code, but the result is much uglier than if the text had been set by any decent program. Imagettftext is supposed to support unicode, so I’ll have to investigate using unicode semi-space characters or perhaps interfacing with Freetype more directly.

Anyway, now the image generator takes a background color (which may be transparent), a text color, and a rollover color. Then it generates a single image with the given text in it once with each color, for use with Pixy’s fast rollovers. This is all in the context of the Unamed CMS that is coming Real Soon(tm).


Some WordPress-powered blogs that have caught my eye recently:

Bill Day
“Bill Day is a Staff Engineer & Technology Evangelist at Sun Microsystems as well as Founder & Technical Guru of Day Web Development.
Bill’s J2ME Archive, writing, and speaking have helped drive J2ME adoption to hundreds of millions of devices and empowered tens of thousands to write applications for Java enabled handsets and PDAs.”
Joe Clark’s accessibility blog. Focusing lately on the (lack of) accesibility of a PVR.
Matthew Thomas
The same mpt, new domain. I don’t know if WordPress is the ultimate weblogging system yet, but it seems to work well for him. Matthew has given some brilliant input into the options interface which is going to be in WordPress 1.2.
Kimberly Blessing
Interesting gal I met at SxSW, Kimberly is a standards evangelist and developer at AOL.
Binary Bonsai
Great design and content. Most sites find a good design and stick with it. Micheal pulls out a brand new one just as good or better than the last every month or so. Michael is the guy who taught me how to make my XP desktop look decent.
Lars Holst
An very well-done WP site. Check out the style switcher.
Image Safari
Nicest WP photoblog I’ve seen yet. Reload for entertaining random header graphics.
Rebel Pixel
Excellent look and layout. Very interesting link styling. Nice linklog.
Debian WordPress package
Not a blog like the others, but an amazing development. Type apt-get install wordpress at your Debian command line and it’s there, automatically setting up MySQL, PHP, or Apache as needed. The packager says “I’m working on some scripts to make Debian automagically configure your blog on the next release of the package.” Awesome.

I hesitated to even start a list because this really is the very tip of the iceberg. I could write a post every day for the next 3 months highlighting someone doing something great with WordPress, and in July there would be hundreds more.

I know of a couple of projects in the oven and I can’t wait for them to (re)launch. If you’re doing something interesting or innovative with WP, let me know. Maybe I can even help out.


Temporally Challenged

Eric has a new book you should buy, despite the fact he’s all wrong about weblogs. His thesis is that it’s easy to read chronological items that relate to each other from top to bottom on a page. It’s not that Eric has his facts wrong, he’s just looking at the wrong facts.

Weblogs are not 20 chapter books. Eric’s entries refer and develop more than the average weblog’s, he is no exception to the rule that most weblogs would be just as intelligble if they randomly ordered the entries you haven’t read yet than if they presented the newest ones at the top. For some reason Eric insists on using monthly archives for his permalinks, which isn’t helping his visitors or Google (or the bandwidth he’s concerned about). Anchored monthly archives should never be used for permalinks. The only people who still use these are those who are technically hindered from or too lazy to implement post-level permalinks.

On monthly, weekly, or daily archives it makes perfect sense for the entries to be ordered chronologically, because the defining characteristic of the posts is their chronological relation to that date range. On a search result page, I want to see the results ordered either in reverse chronological order or by some search relevance. Both Technorati and Feedster get this, and both default to reverse chronological order of their results. On the front page, which is where Eric has his main beef, the most relevant thing to at least 95% of visitors is going to be the latest items. Anything else is going to be making the site less useful to the majority of users for the benefit of a few. There is a much larger precedent for putting the most recent items at top than just weblogs: most email and webmail software I’ve used, every press release page, news sites like CNN, Zeldman, the Board of Governors, the White House. Breaking the convention of thousands of familar sites for the benefit of the occasional reader who checks back every week or so but is really annoyed at having to scroll funny to what they’ve missed breaks the Hippocratic Oath of design. Weblogs aren’t ordered the way they are because of some freak historical accident, they’re ordered this way because it works.

(A sidenote about the bandwidth issue: it’s dead. Of course pages should be made as small as possible using standards and efficient markup to help them load quickly. No one is going to argue that. However an optimized 10K page loaded thousands of times a day is still a healthy chunk of bandwidth. If you are adjusting your content or paying more for the popularity of your website, find a better provider. The server that this site (and others) is on is allocated 1.2 terabytes of bandwidth transfer per month. At worst it uses a third of that. Server bandwidth should not be an issue anymore these days.)

I mostly disagree with his post, however I feel Eric’s pain. I’ve had to do the scroll-catchup thing before, and it was annoying. Without breaking the website for the vast majority of my users, I can offer some relief:

  1. Eric is a busy guy and I’m guessing he uses a newsreader (like NetNewsWire) to keep track of who has updated. If you click through to the permalink of a new item it will take you to the individual archive for that page, complete with comments. I have always had intra-post navigation at the top of the page, but after reading Eric’s screed it occurred to me where that would really be useful is after you’ve read the article and want to move on to the next thing. So now I have post navigation above the article, after the article, and after the comments. If you’re a few posts behind, navigate the individual archives instead of a monthly archive or the front page. Enjoy.
  2. One benefit to a completely dynamic system is that you can change views on the fly pretty easily. So if the reverse chronological thing bothers you that much, at least with WordPress blogs you have a easy fix. Simply add ?order=asc to any WordPress URI and it will order the dates ascending instead of descending. Example: my March archives, my March archives descending. It would also be pretty trivial to set a cookie to allow people to see things ordered different ways, and I imagine within a few hours of writing this there will be a new hack or plugin on the forums. If only everyone used WordPress.

Lockergnome Happy Ending

Chris Pirillo has floated another Lockergnome redesign that embraces web standards and looks good to boot. I couldn’t be happier. Here’s Chris’ post on the matter:

Boo-yah! I’m going to keep nagging Jason until he applies this weekend’s test code site-wide. No legacy tags, beyotch! Oh, and… “This Page Is Valid XHTML 1.0 Transitional!” I’m not sure if I wanna play with a fixed-width or stick with the variable. Doesn’t look great on anything less than 1024×768, but those folks are in the minority. Hey, I got it to look fantastic in all the major browsers on all the major platforms – that’s gotta count for something. Props to glish for the guidance. So, what did I use for my editor? Notepad, baby. Metapad, actually (the best clone around). Thanks to everyone else for the virtual ass-kicking; you accelerated the inevitable.

Most of you will be happy that it looks like a page from this century, but I know some of you are wondering about the markup. It’s decent. Eric Meyer actually covered the Lockergnome debacle and their redesign in his part of the panel on CSS and said it suffers from “classitis” — using too many class declarations. Example:

<ul class="menulist">
<li class="menuitem">
<a href="" title="POP3/Hotmail and IMAP Email notification and mail preview">Mailbell - be notified about new email</a>
<li class="menuitem">
<a href="" title="Instant messaging and conferencing for LAN">Vypress Chat</a>
<li class="menuitem">
<a href="" title="Perform automated and unattended ftp file transfers via scripts.">PyroBatchFTP - Scripted FTP v2.08</a>

Instead of explicitly addressing the menuitem class you could just use the CSS selector .menulist li which would apply to all list items under an element with the class of menulist. I forget the name for this type of selector, but it’s the most useful technique I use daily in CSS.

What’s great is now we are discussing what Lockergnome is doing well and how they could tweak it to make it better rather than wondering how the hell they went wrong. I commend the group at Lockergnome for doing the right thing.

Previous articles on the same subject:

Humor Meta


Some people, when confronted with a problem, think “I know, I’ll use RDF.” Now they have three problems.

(With apologies to JWZ.)

Lockergnome Critique

Paul Scrivens has written one of his famous critiques of the Lockergnome redesign. He covers the redesign point by point with far more detail than I have, taking a multidisciplinary approach. He loses his cool at one point, but try to understand this is incredibly frustrating.

What’s strange is there hasn’t been a peep out of Lockergnome regarding any of this. Aren’t they plugged in to customer feedback?I think a simple statement or clarification would do a lot to clear things up. Though in the comments some people have used names of people at Lockergnome, it isn’t at all about that. This is simply a matter of supporting companies and organizations you can respect and routing around ones you can’t.


Standards Jokes

You’ll either find this incredibly funny or find it incredible that anyone could find this funny. From the HTMLDog Dogblog:

Q: Why did the XHTML actress turn down an Oscar?
A: Because she refused to be involved in the presentation.

Q: Why was the font tag an orphan?
A: Because it didn’t have a font-family.

Q: Why do CSS designers have too many children?
A: Because they employ lots of child selectors.

Q: Why was IE5’s 3-metre wide cell in the insane asylum smaller than IE6’s 3-metre wide cell?
A: Because the width of the cell included the padding…

Q: Why was the XHTML bird an invalid?
A: Because it wasn’t nested properly.

There are a few more in the comments over there. This made my day.

Code is Food

Even if you normally skip my “geek” entries, please read this.

Scoble sees I’m unsubscribing from Lockergnome and says:

I’m more pragmatic. Can I look at the page in my browser? Can I subscribe to the RSS feeds? If so, why does it matter whether the code underneath was done with tables or CSS? Call me a fool, but I judge web sites by whether or not they have content and experiences that enrich my life, not whether the code underneath them fits my expectations.

Robert isn’t a fool, we obviously have a breakdown in communications though. I can’t understand why anyone wouldn’t be shocked at the code snippet I posted and Robert doesn’t understand why anyone would care. In fact there is probably a large segment of my audience here who doesn’t have a clue why I get so worked up over this stuff. All morning I’ve struggled trying to think of an analogy that captures the essence of what is going on here.

It became more obvious to me that HTML and CSS code and the health of the web has many parallels to the food you eat and the health of your body. HTML is the ingredients and CSS is the world-class chef that takes the ingredients and arranges them in an attractive, delicious way.

So lets take your token bad markup—multiple nested tables for layout, badly nested tags, font tags all over the place—this is McDonald’s. If I’m on a road trip and need a quick bite, I’ll drive through because it’s convenient and ubiquitous. Though it’s obviously bad for you, it’s not going to kill you if you have a Big Mac. However if you try eating it every day, your body revolts and starts to deteriorate rapidly (original article).

Within a few days of beginning his drive-through diet, Spurlock, 33, was vomiting out the window of his car, and doctors who examined him were shocked at how rapidly Spurlock’s entire body deteriorated.

“It was really crazy – my body basically fell apart over the course of 30 days,” Spurlock told The Post.

His liver became toxic, his cholesterol shot up from a low 165 to 230, his libido flagged and he suffered headaches and depression.

I think the Big Mac is a pretty good example of bad ingredients crappily presented. Bad markup and no CSS.

Now lets move away from McDonald’s to a fictional restaurant like McDonald’s but without the nice clown and all the charities. This company has the same sort of mediocre food but also mistreats its workers, has lax sanitation standards, puts farmers out of business, has slow service, and uses slave labor overseas. Now in additional to the health reasons for not eating at this restaurant, you have a number of ethical reasons. Why should you support any restaurant that is so contrary to principles that you believe in?

That is the web. Think of your poor browser, which has to work incredibly hard to try and interpret what is essentially markup gibberish and shape it into something it can present to you. The worse the markup is, the slower the page is going to load and the more likely it won’t be presented as the author intended. RSS and syndication doesn’t do a thing to solve the problem, it just tries to shield you from it. (Let me mess with my RSS 2 feed until its at the markup level of their page, and see if your aggregator even still reads it.) Robert of all people should know that the quality of code on most websites wouldn’t be accepted for a second inside of any of Microsoft’s products. Longhorn is not being built on crappy code held together in an ad-hoc fashion, it’s being built on standards. Why shouldn’t the web expect that same level of robustness?

Sure some people don’t care about whatever markup is behind the web pages they visit. Out of site and out of mind, right? (Very apathetic American.) But I care, and it’s because of people who care that the web has moved beyond the near-unusable mess it was 5-7 years ago. On one level I care about the health of the web, the long-term viability of the sites and pages and documents that are shaping our culture and society. On a deeper level I hold a number of principles that the web should be efficient, standards-based, and accessible. No site is perfect, but some try and some don’t.

Lockergnome regressing from the standards-based is more than just a bad business decision, it is essentially giving the middle finger to the community around the world that cares about these things. Their lack of communication on this issue beyond a few flippant remarks in a newsletter is insulting. They either don’t care or are ignorant, neither of which I’m inclined to tolerate. I’m not even going to address the point, as other have, that they are supposed to have a web development newsletter.

I’m not just unsubscribing, I’m boycotting. There comes a point when you see blatant disrespect for things you care about and you can either sit back and pretend it doesn’t bother you or you can speak out. It’s two different types of people, and if you’re one of the former then you should examine the effects of your apathy.

To recap, Lockergnome just isn’t just serving bad ingredients with bad presentation, they’re the restaurant you visit every day for its great service and food that one day changes into a dive with spoiled food and flies in the kitchen, and then tells you that keeping the place clean is too “fancy-schmancy” and that they don’t need to keep using fresh food because no one will notice anyway and it’s too much trouble. The next day you see them on the news for rat droppings, food at the wrong temperature, and slime in the ice machine.

Of course at some point the analogy breaks down because I don’t know of any food that is incredibly cheap, tastes great, is very healthy, and stays fresh forever without refrigeration. That’s well-formed XHTML and CSS.

So that’s why I care. I don’t expect everyone to care that much, but at least understand why I do.

It’s Worse Than You Can Imagine

At first I was optimistic that the Lockergnome redesign wouldn’t be that terrible, I mean they have smart people there. Then the evidence mounted that there wasn’t going to be any good hybrid approach. Why go backwards? Is it a joke? Is ruining their website some twisted form of RSS evangelism?

Earlier today a comment from Simon said:

Well, the redesign appears to be out now and it�s much worse than I expected – blockquotes for indentation, paragraphs with non-breaking spaces in them for added vertical spacing – tag soup if ever I�ve seen it. Yuck.

He expanded his thoughts illustrated by the code snippet:

<table border="0" cellspacing="0" cellpadding="0" width="778"
<tr><td align="left">
<div id="footer">
<blockquote>&copy; 1996-2004, Lockergnome LLC. ISSN: 1095-3965. All
Rights Reserved. Please read our <a href="/about/privacy-policy.phtml">
Privacy Policy</a> and <a href="/about/terms-of-service.phtml">
Terms of Service</a>. Web site hosted by
<a href="">Webair</a>.
Email newsletters powered by <a href="">WhatCounts</a>.
Domain registered at <a href="">GnomeDOMAINS</a>.

One can only assume that the newsletters will be following suit, and no one wants that kind of filth in their inbox.

All joking aside, I am going to be unsubscribing from all Lockergnome newsletters. I am not under the illusion that my action will be anything more than a number blip to the people there, but principle of the matter is I don’t have a lot of respect for them anymore. How can I take web development news seriously from an organization that is in the wrong decade code-wise? Even worse, they had something great and threw it away. If enough people were to do the same and unusbscribe they might take notice, but I don’t think that’s going to happen.

I might even be forgiving if their markup (which is invisible to the user when it works) devolved but the site was much easier to use or aesthetically pleasing, but the site has degraded in every conceivable way. I decided I could tolerate the design long enough to unsubscribe, but couldn’t even find that on the site. Google brought up a cached page that no longer exists which pointed to the correct URI, which incidentally still has the old design. So if you also disagree with the recent direction things have taken, unsubscribe from Lockergnome.

Looking for something to fill the void? It didn’t come to mind the other day, but I highly recommend the SitePoint newsletters for web development topics. Blogs are also great, but sometimes it’s nice to get something in yoru inbox. I’m open to suggestions for other newsletters.

Update: I’ve written a new entry that explains why I care.

New Gadget Weblog

I always liked Gizmodo before, but I stopped visiting for ethical reasons. The currency of weblogging has always been the personal voice of the writer, not the weblog itself. I followed a link to Gizmodo the other day and it was nothing like I remembered, and I thought to myself “When did this jump the shark?”

Well apparently the soul of Gizmodo, Pete Rojas, is now blogging at a new gadget weblog, Engadget. It looks great so far and I’ve added it my daily visits. Weblogs Inc. looks interesting in general, and worth watching.

More on the Gnome Regression

Another newsletter, another reason to worry. Here’s the quote:

We’ve spent a lot of time and effort on our cutting edge CSS layouts and, while they are definitely fancy-schmancy, they detract quite a bit from our core efforts which are great content and easy access to it. So, as Chris put it in yesterday’s Windows Fanatics, we’re taking a mulligan and calling a do over. Lockergnome is changing looks one more time and moving to a more traditional layout and coding structure. This, my friends, successfully filled the rest of the time between when we last graced your in-box and now. I’ve been locked in my office, nose to the grindstone, hacking out automated content updaters, link rotators, and convoluted include structures hand over fist. Now here’s the part that’s going to get resident Web-Gnome, Foofy Mathews, on a plane to throttle me in my sleep… All the layout is based on tried and true HTML tables.

Dave and Paul have already added great thoughts to the discussion, so I’m not going to address the “tried and true” web techniques of the mid-nineties again. My previous optimism is waning, and I hope someone at Lockergnome is listening and will come out of the echo chamber and let us know what’s going on.

Update: I’ve written an update that explains why I care.

Invalid Gnome

I get Chris Pirillo’s Windows newsletter (currently called “Windows Fanatics”) in my inbox this morning and was shocked that he seemed to assert that Lockergnome was going back to its old style, or lack thereof. Maybe it’s just Chris’ flourishes, but several things gave me cause for concern.

Remember what the Web was like when the BLINK tag roamed the earth?

Off to a bad start. We all know there’s only one good use for <blink>.

There were only a handful of browsers, and it didn’t take much to make a page “look good” on all platforms.

Maybe I missed these times. I remember pages “Made for Netscape” or that “Require Internet Explorer.” I remember having to essentially code two sites to work with two radically different browsers. I remember single-pixel GIFs and tables nested ten deep and bad typography. I try to forget, but I can’t.

It doesn’t take much to push the envelope, but sometimes (as we discovered) the envelope pushes back. You might recall the somewhat-simplistic design of our site before we dove head-first into Cascading Style Sheets. Despite its shortcomings and lack of finesse, the sucker worked – and we had few complaints.

I find that surprising. Here’s one: it was one of the ugliest sites I’d ever visited, and the bizarre look turned me off from subscribing to the newsletters even when I had heard several recommendations, because I assumed they must be unprofessional. I’m not trying to be mean, just honest. is about to become less confusing as it goes back to more a basic code structure. We’re going to unbury the menus and options and chalk up the past few months to experience. I’m not saying that we won’t employ fancy scripts now and again, but we’re refocusing our new(er) layout on the thing that most likely brought you to us: the content. Right now, Jason’s putting the finishing touches on the overall structure and functionality…

The attraction of Lockergnome is the content, and the site could use better information architecture, but I hope this does not come at the expense of clean, fast-loading, semantic code and the distinctive aesthetic the site currently has. Though I’m not crazy about parts of it, their current design is pretty good in my opinion. It has some very nice elements that are impressive to me both as a web developer and a consumer. It’s not perfect, but a darn sight better than what was there before.

Is this going to be a step backward? In a way, yes. I’ll certainly miss certain aspects of our ultra-hip CSS implementation. However, until 99% of the installed browser / e-mail client base supports the same standards, we’re gonna leave the fancy-schmancy stuff to other online resources.

Mind pointing out these fancy-schmancy online resources so I can read them instead?

For what we do, and how we need to do it, advanced “hacks” just don’t work well.

What about web standards? Graceful degradation? From a purely business and marketing point of view, is the couple of percent of users on browsers so limited and hardware so old that they can’t appreciate modern web pages (and not just yours, also ESPN, Wired, PGA…) a demographic you want to cater to at the expense of the other 95%?

Furthermore, the old Lockergnome got eaten by spam filter several times because its markup was similar to the spam I got. Since the redesign, nada. Maybe it’s just my Bayes scores or installation of SpamAssassin, but I can’t imagine my setup being different from many others. If a newsletter falls in the spam box and no one sees its ads, does it make a penny?

I doubt it.

I could just be worried over nothing, their redesign could be impeccable markup combined with simpler CSS that works better than their current across browsers and platforms. The only reason I put my thoughts to words is that I’m on the cusp of several decisions. I’m examining my subscriptions; they recently cancelled the Linux channel (which was quite good) and the Web Developer channel is in a state of flux (it was pretty bad for a while). Also the affordable Gnomedex is coming, though my decision on that will probably be more influenced by its speakers. On one hand I have a lot of faith in the Lockergnome team to do the right thing, but the standards-lover in me is just terrified of the prospect of a site going backward. Not to mention the masses who subscribe to the newsletters that will draw the conclusion that “CSS isn’t ready for big sites yet,” in 2004. I can think of nothing further from the truth or more subversive.


New Yahoo Search

Yahoo has flipped the switch and is no longer using Google for their search. (Some technical details.) The question on everybody’s mind: Is Yahoo’s search better than Google’s? Yes. Why do I think so?

  1. Results are given as an ordered list, or <ol>, which is a good thing.
  2. It shows 20 results instead of just 10.
  3. You have an option by each result to open it in a new window.
  4. They are somehow detecting RSS feeds for sites that have them, and linking to them directly and also allowing you to add them to My Yahoo. They seem to have gotten my RDF file instead of my RSS 2.0 file, which is prefered, but no worries. I’ve been meaning to replace that with a 301 redirect lately anway.
  5. It is much better designed.
  6. But the best reason to use Yahoo? I’m the #2 hit for “Matt”. Yes, even ahead of that Drudge clown.

What? Were you expecting me to check for any other search terms?

A quick trip to MyCroft and you can make Yahoo your default search engine for Firefox. Easy as pie.

CSS Style Competition

There is still time to get your entries in for the WordPress CSS style competition, with the top prize currently at $70. Not bad for making a single CSS file. What’s great is no matter who gets the prize, the community wins as each entry is licensed under the GPL.

Update: It finished up with 38 entries, many of them quite good. Yes that’s 38 different designs you can use on your new WordPress blog after just updating one line. We might even automate that step too. 🙂

Orkut Cracking?

I have been surprised that so far Orkut has remained amazingly responsive even under the incredible traffic I’m sure they’ve been getting. I still stand by my opinion that Orkut will be a success, however when trying to log in just now I was greeted with not one, but four distinct error messages each time I reloaded. This outage has been the exception rather than the rule, so I’m not particularly worried. (I still remember the day Google returned an error when I did a search.) For entertainment more than anything the screenshots of the errors are below. The first one is very verbose, more than what you usually see on production websites.

First Orkut Error Second Orkut Error Third Orkut Error Final Orkut Error