February 19, 2006

PUT for Atom or DELETE

The Atom-Protocol list has fallen down the X does not support PUT and DELETE hole again. I've only been on the list a short time, so I'm talking from a position of extensive ingorance, but I get the impression this is one of several issues that keep coming back like bad mothers in law.    (PYP)

I don't really get it. The current bugaboos are "low-rent" hosting and J2ME. A low rent hosting solution is generally defined as a one stop cheap shop for getting your blog up on the internet on which the user has little control of their environment (such as the web server configuration) and the web server does not, for some reason, allow PUT and DELETE.    (PYQ)

J2ME, I assume, is a problem because released code, out there on already deployed phones, was written without PUT and DELETE support. Is there some issue that makes PUT and DELETE impractical on the devices, or is it just a misstep in the code?    (PYR)

If it is a misstep in the code, why not keep APP on the straight and narrow, and make APP good enough that the cheap boats will rise to take advantage of it. It's not as if one day suddenly everyone should be able to use APP from every network connected device ever made. That would be nice, but is it necessary? No.    (PYS)

J2ME can be improved, and people who want to Atom on their phones will go hunting for devices or software that lets them. They may even hassle their providers. Or does that not happen any more? We just take what we're given?    (PYT)

I don't know, maybe there's some other complication, completely off my radar, and I'm dumb. It happens a lot.    (PYU)

When I started working on APP support for Socialtext, PUT and DELETE were completely outside our local grammar. So I put it in. Since then we've not quite managed to get APP going (soon), but we've expanded our minds on how to interact with content. REST == Good.    (PYV)

Last week, when Eugene and I started Purple.pm, I wanted to use HTTP-Server-Simple to run the web server for the initial HTTP based API we created. But then I discovered it didn't support PUT and DELETE. So I patched the one line of code, and now there's a new version, and whoo hoo.    (PYW)

Not the same thing, I know, but still...    (PYX)

Posted by cdent at 09:07 PM | Trackback This | Comments (0) | TrackBack (0) | Technorati cosmos | bl

October 08, 2005

Tearing down walls with Atom

For some time now Socialtext workspaces have been pushing out Atom feeds alongside RSS. In this past week for a not-so-little experiment I made a stab at enabling support for the Atom Publishing Protocol or Atom API.    (PV0)

This turned out to be hugely liberating and more than a little confusing. Perhaps it is just the use of "atom" as the name of the standard--my google skills are taxed as I search for up to date and relevant information that is authoritative and consistent--but more likely it is that while the Atom format has made it to some level of doneness, the Atom protocol is not quite so mature.    (PV1)

These troubles matter little and will be solved: Late last night when I was editing, creating and deleting pages within a Socialtext workspace with both Perl and Python test clients, scales were scraped from my eyes, walls fell down, and objects once distant on the horizon were brought into clear relief. Sure, there are lots of Weblog APIs, but none in my experience has the comfy feel had by Atom in the wild. Atom is complicated and you can feel it, but you can also feel that it could end up doing some fun stuff in a clean way that brings the web another step closer to being a big storehouse of knowledge reusable (not just usable) by anyone.    (PV2)

Reusing knowledge is what drives my interest in the web. It's the force behind PurpleNumbers and TransClusion. Atom has that same feel and that feels good. We're moving away from a world where there's a there there to a world where there's a there everywhere. Content people can aggregate, edit and move around in pieces large and small, ready at hand when needed. Atom can do much more than edit a blog entry about your lunch and what the cat has done. I dream of granularly addressable atom editable chunks in the uniquely identified cloud.    (PV3)

The implementation in Socialtext is far from done. It's not yet aware of Collections, I'm ignoring that whole SOAP problem for now, there are some issues with authentication (WSSE doesn't play well with some security models) and there's the simple fact that my brain failed to suck up all the details (such as changing mime types) of the hundreds of documents I read in the past week.    (PV4)

Who is working on implementations of this stuff? Let's talk. I need some clients to test with.    (PV8)

Here's a screen capture from Joe Gregorio's wxPython client that I doctored a bit (the client, not the picture, there were some problems with authentication and content elements) as evidence for the court. This is just after creating, then retrieving the "Atom Will Rule The Universe" page from a test Socialtext workspace.    (PV5)

http://static.flickr.com/30/50367857_a767f9dc0c.jpg    (PV6)

Thanks to Joe for all his work on Atom and his help getting the Python client going and thanks to Ben Trott and Tatsuhiko Miyagawa for XML::Atom.    (PV7)

Posted by cdent at 03:07 AM | Trackback This | Comments (0) | TrackBack (1) | Technorati cosmos | bl