March 31, 2005

Another RESTafarian is born

From Mark Baker's discussions with Dare on xml-dev you can see the next step as a young Jedi turn away from the Dark Side -
What Does SOAP/WS Do that A REST System Can't?

I think I finally understand this. Let's use RSS feeds as an example. So
all the data we'll consider is in the RSS format. In an SOA model I'd
have a getSearchResults() service to get RSS feeds from Feedster, a
getRecentBlogPosts() service to get RSS feeds from the average blog and
a getRecentNews() service to get RSS feeds from a news site which
clients can support. If later on a a new service shows up (e.g.
getRecentBookmarks() to get RSS feeds from del.icio.us) then the client
has to be upgraded.

However, since on the Web we actually use HTTP GET for fetching RSS
feeds, the fact that some new use of RSS shows up doesn't mean people
like me have to rewrite clients to support them [modulo supporting
extensions to RSS].

It took a while to figure what the uniform interface argument was about
but now I think I get it.


I'm just glad he didn't post that tomorrow on April 1st.

March 26, 2005

March 24, 2005

Bosworth is back - yea!

I always enjoy reading Adam Bosworth's words of wisdom. His latest post -
Tensions on the Web - is partly about the wonderful opening of communication via the Web and the rough spots ahead due to 'vandals'. It reminded me of my post from last year about attention as the scarce resource.

From Adam's blog -
In this very triumph, comes the tension and the problems. Every one of these groups has to worry about spam. Wikipedia does occasionally get spammed, but their entries are long-lasting and resilient and usually get fixed. For information that is more time critical and evanescent however, this sort of vandalism can be much more harmful.


It is going to be fascinating and exciting to watch how these tensions play out, namely the rising trend of people working together and collaborating and communicating over the web in increasingly real time ways contending with the human needs for privacy and reflection and with the unfortunate nature of some humans to vandalize rather than to construct.

I have a feeling Adam will be doing more than just watching... I know I will be.

March 21, 2005

XMLHttpRequest - the Return of the King

It's amazing what fundamental technical innovations can lay around waiting to flower at the right time. Like seeds in Death Valley sprouting after a rainstorm, the sturdy little XMLHttpRequest object in Web browsers is taking the world by storm. Here's a page from Fiftyfoureleven.com with a large list of links of people and projects based on XMLHttpRequest -
XMLHttpRequest & Ajax Based Applications.

This is great stuff. I wonder what it was that finally made this explode onto the Web developer scene. It's been around at least five years in InternetExplorer - but I suppose it was languishing until the rest of the community got around to implementing it. I'd love to see a timeline of it's deployment in other browsers and it's adoption.

I wonder what all this attention to 'no refresh' web apps will do for mod-pubsub. I wonder if mod-pubsub is even still breathing, since they ought to be all over this and figure out how to use XMLHttpRequest to parse a streaming response and then kick messages into their javascript client-side router.

(later) Ah, I see now the connection between Ajax and KnowNow.

March 18, 2005

Hacked by a parasitic greedhead scam

I bought my first song on iTunes - Bruce Cockburn - Songs - If A Tree Falls.

It has my favorite line from a song "Hacked by a parasitic greedhead scam"


If A Tree Falls



Rain forest
Mist and mystery
Teeming green
Green brain facing lobotomy
Climate control centre for the world
Ancient cord of coexistence
Hacked by parasitic greedhead scam -
From Sarawak to Amazonas
Costa Rica to mangy B.C. hills -
Cortege rhythm of falling timber.


What kind of currency grows in these new deserts,
These brand new flood plains?


If a tree falls in the forest does anybody hear?
If a tree falls in the forest does anybody hear?
Anybody hear the forest fall?


Cut and move on
Cut and move on
Take out trees
Take out wildlife at a rate of species every single day
Take out people who've lived with this for 100,000 years -
Inject a billion burgers worth of beef -
Grain eaters - methane dispensers.


Through thinning ozone,
Waves fall on wrinkled earth -
Gravity, light, ancient refuse of stars,
Speak of a drowning -
But this, this is something other.
Busy monster eats dark holes in the spirit world
Where wild things have to go
To disappear
Forever


If a tree falls in the forest does anybody hear?
If a tree falls in the forest does anybody hear?
Anybody hear the forest fall?

March 16, 2005

UI Design Is Different with XmlHttpRequest

From Phil Windley - UI Design Is Different with XmlHttpRequest. There has been a ton of great stuff recently coming from XmlHttpRequest - it's hit the tipping point. I really enjoy seeing mature consideration of the possibilities - when Jakob Nielsen starts grumbling about it, you know it's arrived.

I'd love it if someone did a background story on who created that and got it added to IE4. When I first saw it four or five years ago, I said "This is the most important thing to happen to the browser since the browser." At DataChannel, a buddy quickly moved on it and implemented a Java version with the same interfaces in an applet we had that supported XML parsing and XSLT transformation - remember, this was before anyone had XML parsers in the browser.

I think XmlHttpRequest will go down as a major innovation on par with the browser itself.

Google X (Google Weblog)

Hmm. Interesting web diddy. Google X (Google Weblog) But they removed it. Or did they... just check the cache!
Google X - cached

March 15, 2005

OpenSearch

Hey, look at that, search results in XML. How RESTful. They only added totalResults and some pagination data. Much better than I had hoped for and written about last year

A9.com OpenSearch

Ooh, ooh! They defined a service language via a URI generative grammar - which means a URI syntax with curly brace expansion macros! I hope this catches on as a syntax. Something is better than nothing. Here's an example
http://beta.indeed.com/opensearch?q={searchTerms}&start={startIndex}&limit={count}

March 07, 2005

Steve Gillmor's Inforouter

Over the top description of Steve Gillmor's Inforouter - scary thing is, I actually understand what he's saying... (I like the term xmlrouter though...)


Here's the rub. One of every three dollars of Microsoft revenue comes from Office. What if, from a purely disinterested perspective, the way to achieve savings and accelerate productivity was not to use Office at all, but rather shift to another architecture - say one that supports lightweight routing of XML fragments around the network in a highly accelerated virtualized kind of digital dial tone infrastrucure? Let's call it RSS, flowing through an attention-based inforouter.

In this alternate universe, user interfaces would be plastic in nature, morphing as data types trigger template switching that routes packets of information through transformation engines based on metadata-driven signals. Charting services are overlaid with ticker text treaments, then piped to handheld devices as a stream, and cached on terminal screens to be called up on demand. Color-coded expert opinions are syndicated to executive information feeds to provide real-time 'gut decisions' from consultants and rating data from affinity groups.

March 04, 2005

XML.com: Show Me the Code

This article by Joe Gregorio is simply a wonderful description of how to build a RESTful application. What the world needs is more articles like this.

Minor point - "Another check is to ensure that all of the methods that aren't GETs are non-idempotent." This is incorrect, as PUT and DELETE are always idempotent (repeating the request results in the same end state). The non-safe methods (the ones that modify data) should be done with something other than GET.

March 03, 2005

Amazon Zuggest

Oh, gawd. Somebody built a nice example of a live browser based search against Amazon's catalog. If this takes off, it might even add a bit more load on the servers.

The app is neat, but search results aren't different by letter, so maybe searching on whole words instead would be better. And use fixed width tables so things don't jump about so much.

March 01, 2005

Yahoo! Search Web Services

This is really, really nifty. Yahoo! Search Web Services are simple XML over HTTP. I'll have to get busy this weekend and add this to SearchAlert.net as a news source.