WEB Advent 2009 / Untitled

i. An introduction

No one reads anymore, and you’re not going to read this. You’re going to scan it.

We need to more seriously consider how application design evolves in that context.

ii. A list

PHP succeeded because of 4 reasons, in order:

  1. mod_php, also known as ubiquity
  2. MySQL, and the tight coupling thereof
  3. Cheap shared hosting
  4. Web script installers on cheap web hosts

iii. B list

Terry Chay once wrote, “what I’m saying is look at the top 100 web sites on the Internet. About 40% of them are written in PHP, and 0% of them are written in Rails.” He apparently just made up this statistic, but no one pointed this out in the one hundred and twenty-three comments on the post.

As a form of procrastination, I went through the Quantcast top 100 and attempted to count those using PHP. I got 39. I wonder what the top 100 Facebook apps use. It’s harder to tell what people run these days, because everybody uses cool URIs with logical structure, even though that doesn’t matter anymore, except Walmart, which uses .gsp, which I’ve never seen before. I guessed on a few.

If you were judging PHP by the .php extension, you would think we were extinct by now. That’s okay. PHP is a means to an end; the more invisible we are, the more we’re doing our job.

“Powered by” has lost meaning. 100% of the top 100 sites run more than one language, somewhere.

iv. Stronger, better, faster, shorter

Technorati have maintained a list of the top 100 blogs since they started, but now they only show 25 per page, presumably to garner more page views. Maybe they know something we don’t about people not reading anymore. Maybe it’s hard to make money as a search engine. The list is updated once per day.

v. Two problems

I learned to program from Mastering Regular Expressions by Jeffrey Friedl. Now he blogs, and I’m happier about that than just about any blog other than Zeldman’s.

vi. Twignette

“You’d think T_STRING means a string, right? Pfft. http://php.net/manual/en/tokens.php

— @tellyworth

I attempted to make a T-Pain joke. The actual page is funnier, “You’re supposed to know what T_SR means. For everybody who doesn’t know that, here is a table with those identifiers…”

Twitter doesn’t include years in their timestamps anywhere on the site.

vii. Copyright 2005

I think the best way to introduce someone to PHP is to take a static HTML page they have, rename the extension to .php, and put a useful bit of code in it. I wrote an article about this in 2005 with the money snippet telling you how to not have to update the copyright statement on your site every year when you should be sleeping off the celebrations from the night before. I’ve done some neat bits of code in my life, but the most popular page on my site, still, is a random image rotator, which is a glorified array_rand(). People don’t read; they Google.

The API most responsible for the Web’s success is the clipboard. Today’s revolution brought to you by the letters U, C, and V.


“Don’t tweet about a man crying. Write a tweet that will make a man cry.”

— @zeldman, 2009

We’re spending our time lately on allowing functions and classes to have any Unicode character in their name.

“They’re singing your praises while stealing your phrases.”

— Charles Mingus

MySQL : Drizzle :: PHP : PHP

vi. border-style: dashed;

The PHP.net web site looks — and more importantly functions — the same as when I started using it. We teach how; we don’t teach why.

I insist that all our filenames use dashes instead of undescores because it saves one key press, but write out ampersand hash eight two one seven semicolon whenever I use a contraction in a HTML document. One’s values determine effort, not ease of use. It is much harder to make something important to someone than it is to simplify its interface or extend its functionality.


Other posts