REST Unrest

Gee, we will never run out of clever name permutations with this one, will we? Anyways…

Where did this idea come from that in order to be RESTful, an app has to use all four HTTP verbs? How did that become the criteria? I don’t get it.

The crux of REST is in uniform, immutable representations that reflect the state of a uniquely identifiable resource at a given time (i.e. stateless), and these representations travelling between client, server, proxies, and caches (i.e. multiple layers). That’s all (jump in if I am missing anything).

You can still design a RESTful application that doesn’t allow PUT or DELETE,
and even GET or POST. Architectural style does not dictate the use of
the verbs — the application needs do.

I agree, though — the debate does seem to have a certain religious war flavor to it. It just pains me to see people define architectural styles in terms of the building materials. HTTP is bricks and mortar, REST is Baroque. Bricks and mortar by themselves don’t make Baroque. Baroque by itself doesn’t require bricks and mortar. Failure to see the distinction is the sticking point.

As for defining the subset(s) of HTTP and applicable architectures that tend to work well in the modern Web, I am all for it. Tim Bray has the right idea.

Lo-REST: This is your REST on Crack

Okay, this one is probably going to sting a bit. But here it goes. Don Box, my hero of adventures long gone, has coined (or as much as that) a new term: Lo-rest. He provides a list of bullet points to define it, and even comes out as the first member of the newly minted congregation. Almost immediately the poision-pill meme catches on, appearing on smart people’s blogs and mailing lists.

Well, fellas, somebody ought to come out and say it: there’s no REST in Lo-REST. It’s barely good HTTP. It seems, after years of trying to bend HTTP into a donut with the WS-* spec and somesuch, Don wants to get back to basics and normalcy of what HTTP was intended to be. And I applaud that. But please, pretty please, don’t call it REST. Or Lo-REST. Or Hi-REST.

For as long as you use “invoke”, and “service-oriented” in your jargon, you are not applying REST architectural style. If anything, it’s REV. Please, Don, you’re well-known and well-respected and your words are picked up and carried by crowds like you’re some sort of religious cleric. RTFM?

Microformats Abuzz

As you may have heard, Bill Gates ushered in a new era by saying: “We need microformats” from stage at Mix’06. It was a long time coming. Slowly but surely the purists in us are realizing that this might be the only way to bring the vision of semantic web into fruition. Slowly but surely the mechanics in us are grokking the importance of semantic markup and the benefits that come with it. And I say with open arms: “Welcome to the fray!”. Kick the tires, join the discussion, learn the process, participate in development — and start using them, dang it!

Back? By Popular? Demand?

Yes, ’tis a post of many questions. “What happened, dude?” Lots and lots of stuff. Here’s a brief summary: worked like crazy, lost lots of sleep trying to get the little one to sleep, started back on drinking coffee, replaced a house HVAC system, cooked delicious Christmas meal, gained new friends, lost a friend, found cool sites, got disappointed in most of them, became fascinated with new technologies, then disillusioned in some, made serious life and career choices, pondered philosophical questions, decided to write a book, then cooled down a bit (but not too much), swore to stop cursing (well, that lasted all 10 minutes), joined a project, abandoned a project, spoke at a couple of conferences, talked about Web 2.0 like I know what I’m talking about, and wrote a lot of code, diagrams, and specs everywhere in between.

Oh, and I also got sucked into another blog: This is a collaborative project that Bob Robertson-Boyd and Eric Hodgson have started. I hope you like it — we’re just getting started.