Monthly Archives: February 2005

The Ruby end-run

It was fun while it lasted, but PHP’s time may have come and gone. The benefits of PHP in the early days (extremely fast prototyping, embedded in HTML) outweighed the problems (haphazard function naming, poor object-oriented features, and difficulty designing large applications).

PHP Everywhere discusses the move to more robust object-oriented features to compete directly with Java. But some of the old design decisions cannot be swept under the rug. They will remain, leaving an awkward architectural mess.

Web applications are not like traditional applications, where you make an investment in a programming language and source code that makes it all but impossible to change. Web apps are constantly evolving, being rewritten. Or they are obsoleted, shelved. A new domain name is registered and the process starts again.

Enter Ruby on Rails, simple and elegant, drawing the best from the PHP and Java camps. There’s been a lot of criticism from the Java world, but many of those people write code like it was a traditional application anyway — big, complex, connected to legacy systems. They are too invested to switch, and that’s fine.

But the PHP people will switch, easily, and with the apparent momentum of Ruby right now, maybe it’s already happening. Forget the enterprise for now. Rails is a perfect fit for anyone who develops for the web on its own terms, and the people behind apps like Basecamp, 43things, and the upcoming Odeo match that profile.

Update: Dan responds with further exploration of PHP, Java, and Ruby, focusing on why Ruby may not be well suited as an introductory programming language.

Blogging full time, and Cartoon Retro

I hope Kottke’s decision to blog full time without advertising will be a success. He’s got a large reader base. I stopped reading Kottke for most of 2004 but have re-subscribed so I can follow his progress.

The interesting question is whether this approach scales to more than a small number of weblogs. On one hand, I think it does, because even obscure subject matter can find an audience (see Wired’s The Long Tail). But on the other hand, it doesn’t matter. Personal, independent, no-income weblogs will always be important.

I also wondered whether some kind of bloggers cooperative would work. You donate money to the group as a whole and read whatever blogs you like from the list of members. Sort of like contributing to a public radio station, not to a particular show. But I’m not sure that really solves anything, and introduces new problems (bureaucracy, larger initial donation, and paying for weblogs you don’t read). Better to sell directly from creator to consumer.

Last year I subscribed to Shane Glines’ Cartoon Retro experiment. He posts sketches every day, writes about classic art and cartoons he is studying, and occasionally updates his site with full features. The eventual goal will be to produce entire short films, outside the studio system, funded by fans. This is an effort I can fully support. Unlike Kottke or John Gruber, there is no free content from Shane Glines, so that $5 a month goes a long way.

Ajax, Flash, and web standards

We should all be weary of new acronyms lest we promote and give significance to half-baked ideas and fads. But Jesse James Garrett’s Ajax essay is a good read — a concise, high-level look at how JavaScript and XML will upgrade the web browser for fast, dynamic web applications.

Perhaps purposefully, he leaves out the role (if any) of HTML + Flash applications, which Macromedia has been promoting for some time as Rich Internet Applications. It is essentially the same concept, but basing your app on HTML, JavaScript, and XML can solve the major problems of Flash-based apps. Flickr, for example, integrates Flash, not DHTML or Ajax. Don’t misunderstand me, I think Flash-based web apps negate the benefits of the web infrastructure, such as good REST design, but a thorough analysis of asynchronous interactive web apps needs to include Flash at some level.

Jeffrey Veen mentions the significance to Flash apps, and Matthew Haughey covers the KnowNow connection.

Another new Ajax site is the Panic t-shirt store. How many web apps use drag-and-drop at all, let alone so effectively? It’s so simple and elegant, by the time you get to the checkout page and see yet-another-web-form, the change is almost jarring.

The interesting thing will be whether the web standards folks embrace Ajax. You won’t find a spec for XmlHttpRequest at the W3C. Look at the Google source, and you’ll probably see conditions for Firefox or Internet Explorer (Safari isn’t even supported). But Ajax has something going for it: it brings some of the power of native apps to the web, but unlike the old promise of Java or even Flash, it’s zero-install and quick-load. We’ve got to drop this “web standards” holy war and just get on with building next generation apps.

There wasn’t an acronym when embedded images and HTML tables hit the web. The web just changed, seemingly overnight. The same thing will happen with more interactive, less page-driven applications. It’s just the new web.

The Great Scott

Magic diagram I’m not sure I ever wanted to “grow up” to be a magician, but I was pretty fascinated with it as a kid, and more serious about it than most. I knew the disappearing quarter tricks, had the special card decks, the fancy scarfs and foam balls. Once I went to a magic auction and won a box that could make anything the size of a baby rabbit appear or disappear. And, always, there were the trips to North Austin to a small converted shed in the backyard of a house where The Great Scott sold his magic books and items for eager kids and professional magicians alike.

He visited my elementary school once. My mom still has the photo of him pouring milk in my ear and pumping it out of the other. Among the right circles, I’d say he was pretty well known. It doesn’t surprise me that he and his wife have a web site.

Fred Donaldson (aka The Great Scott) passed away last week, age 79. That same week, I attended a course by Edward Tufte, who dedicates a chapter of the cloud book to magic (the included image is from it). A day after that, my kids saw another magician perform at the library, and a new generation of magicians was born.