Categories
Essays

An Introduction to PHP

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

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.

Categories
Gallery Imported

Gallery: 3-31-2004

Auto-imported from old gallery:

Categories
Ideas

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.
Categories
Gallery Imported

Gallery: 3-30-2004

Auto-imported from old gallery:

Categories
Gallery Imported

Gallery: 3-27-2004

Auto-imported from old gallery:

Categories
Gallery Imported

Gallery: 3-26-2004

Auto-imported from old gallery:

Categories
Gallery Imported

Gallery: 3-25-2004

Auto-imported from old gallery:

Categories
Gallery Imported

Gallery: 3-23-2004

Auto-imported from old gallery:

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="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:

Categories
Humor Meta

On RDF

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

(With apologies to JWZ.)

Categories
Gallery Imported

Gallery: 3-19-2004

Auto-imported from old gallery:

Categories
Gallery Imported

Gallery: 3-18-2004

Auto-imported from old gallery:

Categories
Gallery Imported

Gallery: 3-17-2004

Auto-imported from old gallery:

Categories
Gallery Imported

Gallery: 3-16-2004

Auto-imported from old gallery:

Categories
Gallery Imported

Gallery: 3-15-2004

Auto-imported from old gallery:

Categories
Personal

Have We Met?

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.

Categories
Gallery Imported

Gallery: 3-14-2004

Auto-imported from old gallery:

Mix CDs

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.

Categories
Gallery Imported

Gallery: 3-13-2004

Auto-imported from old gallery: