March 2004 – Matt Mullenweg https://ma.tt Unlucky in Cards 2004-05-01T09:44:52Z hourly 1 2000-01-01T12:00+00:00 An Introduction to PHP https://ma.tt/2004/03/written/ 2004-03-31T20:34:55Z An article I wrote for Digital Web is online, PHP for Designers. I am happy with how it turned out, and if there’s anything good about it I owe it to Molly, Nick, Paul, and Keith. I hope for this to be the first of several articles on PHP, but to continue I need to streamline my writing process. I don’t like writing, I like having written. Trim, cut, edit.

]]>
Notables https://ma.tt/2004/03/notables/ 2004-03-31T07:43:53Z 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.”
AxxLog
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.

]]>
Gallery: 3-31-2004 https://ma.tt/2004/03/gallery-3-31-2004/ 2004-03-31T00:00:00Z Auto-imported from old gallery:

]]>
Temporally Challenged https://ma.tt/2004/03/temporally-challenged/ 2004-03-30T07:33:28Z 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.
]]>
Gallery: 3-30-2004 https://ma.tt/2004/03/gallery-3-30-2004/ 2004-03-30T00:00:00Z Auto-imported from old gallery:

]]>
Gallery: 3-27-2004 https://ma.tt/2004/03/gallery-3-27-2004/ 2004-03-27T00:00:00Z Auto-imported from old gallery:

]]>
Gallery: 3-26-2004 https://ma.tt/2004/03/gallery-3-26-2004/ 2004-03-26T00:00:00Z Auto-imported from old gallery:

]]>
Gallery: 3-25-2004 https://ma.tt/2004/03/gallery-3-25-2004/ 2004-03-25T00:00:00Z Auto-imported from old gallery:

]]>
Gallery: 3-23-2004 https://ma.tt/2004/03/gallery-3-23-2004/ 2004-03-23T00:00:00Z Auto-imported from old gallery:

]]>
Lockergnome Happy Ending https://ma.tt/2004/03/ending/ 2004-03-22T05:57:39Z 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="http://www.emtec.com/mailbell/index.html?lgnm" title="POP3/Hotmail and IMAP Email notification and mail preview">Mailbell - be notified about new email</a>
</li>
<li class="menuitem">
<a href="http://www.vypress.com/" title="Instant messaging and conferencing for LAN">Vypress Chat</a>
</li>
<li class="menuitem">
<a href="http://www.emtec.com/pyrobatchftp/index.html?lgnm" title="Perform automated and unattended ftp file transfers via scripts.">PyroBatchFTP - Scripted FTP v2.08</a>
</li>

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:

]]>
On RDF https://ma.tt/2004/03/rdf/ 2004-03-19T10:13:07Z Some people, when confronted with a problem, think “I know, I’ll use RDF.” Now they have three problems.

(With apologies to JWZ.)

]]>
Gallery: 3-19-2004 https://ma.tt/2004/03/gallery-3-19-2004/ 2004-03-19T00:00:00Z Auto-imported from old gallery:

]]>
Gallery: 3-18-2004 https://ma.tt/2004/03/gallery-3-18-2004/ 2004-03-18T00:00:00Z Auto-imported from old gallery:

]]>
Gallery: 3-17-2004 https://ma.tt/2004/03/gallery-3-17-2004/ 2004-03-17T00:00:00Z Auto-imported from old gallery:

]]>
Gallery: 3-16-2004 https://ma.tt/2004/03/gallery-3-16-2004/ 2004-03-16T00:00:00Z Auto-imported from old gallery:

]]>
Gallery: 3-15-2004 https://ma.tt/2004/03/gallery-3-15-2004/ 2004-03-15T00:00:00Z Auto-imported from old gallery:

]]>
Have We Met? https://ma.tt/2004/03/met/ 2004-03-14T10:48:17Z Having a blast here at SxSW. I’m trying to keep a SxSW blogroll of people I’m meeting but after just a day I’m far, far behind. If we’ve run into each other use this entry to leave a comment with your name, URI, and where we met, if I haven’t already listed you.

The panels today were pretty decent, though I’m sorry I missed Jeff Veen’s panel, which I heard was excellent. Monday is going to have some great presentations. So far there have been many memorable moments, some of which I’m sure I’ll be hearing about from others for a while. I’m going to do a few more pictures and then it’s to bed for me. They put some really good panels early in the morning and I still have to grab some sleep.

]]>
Gallery: 3-14-2004 https://ma.tt/2004/03/gallery-3-14-2004/ 2004-03-14T00:00:00Z Auto-imported from old gallery:

]]>
Mix CDs https://ma.tt/2004/03/mix-cds/ 2004-03-13T06:55:14Z The drive up to Austin was made all the more enjoyable by the mix CDs Kymberlie gave me last night at the H-Town Bloggers pre-SxSW party. Kymberlie runs a thing called Burn It which is like a giant secret-santa type mix CD exchange. If her CDs are indication of the quality, I’d love to participate next time.

Mix CDs are so fun because they provide vignettes of someone else’s tastes, the best and most interesting. Mix CDs are like linklogs of music.

]]>
Gallery: 3-13-2004 https://ma.tt/2004/03/gallery-3-13-2004/ 2004-03-13T00:00:00Z Auto-imported from old gallery:

]]>
Gallery: 3-12-2004 https://ma.tt/2004/03/gallery-3-12-2004/ 2004-03-12T00:00:00Z Auto-imported from old gallery:

]]>
Lockergnome Critique https://ma.tt/2004/03/critique/ 2004-03-12T00:42:51Z Continue reading 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 https://ma.tt/2004/03/standards-jokes/ 2004-03-11T19:26:33Z 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.

]]>
Gallery: 3-11-2004 https://ma.tt/2004/03/gallery-3-11-2004/ 2004-03-11T00:00:00Z Auto-imported from old gallery:

]]>
Code is Food https://ma.tt/2004/03/code-is-food/ 2004-03-10T18:42:42Z 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.

]]>