Infrequently Noted

Alex Russell on browsers, standards, and the process of progress.

Hope

Ajaxian just linked to a tremendously important post by Brendan Eich. I'm happy about it not only because Brendan is spot-on, but also because he's using the phrase "Open Web". It might be pure semantics, but as the Flash, Flex, WPF/E and even XUL partisans keep attempting to claim that their single-vendor clients are "web technologies", the waters get successively muddier. Now is the time to reclaim a bit of ground for poor-ol HTML and stop apologizing for pushing the web harder.

To that end, it was also refreshing to Ian Hickson lay the smack-down on the XML brain-damage that seems to have infected the web standards community. The web itself should be definitive proof that robust beats brittle. Agreement on how to recover from errors is the right way to deal with badly-formed content on the web. Not accepting errors is suicide, and for too long the web standards community has confused validation and correct markup (things that reduce the number of people who can play in the sandbox) with the value created by agreement on how things should behave (things that increase the number of people who can use things that anyone creates).

At last year's ETech, I closed my tutorial session on Ajax with a long discussion of what I considered to be the Open Web and why the technologies that Brendan identifies aren't it and won't ever be democratizing technologies, and are therefore dangerous. Now that the browsers are moving again, we've got another chance to let the real value of the web as a growing, changing, dirty, and most of all, alive medium re-assert its value. I hope that the phrase "Open Web" can start to encapsulate these newly recycled values of forgiveness in rendering, iterative improvements to the specs, and browser competition.

Web-based Mind Mapping(++)

At the last Dojo Developer Day one of the most awe inspiring things was the first-day lunch where we opened the floor for demos. Without any planning at all, we had easily 10 great demos of everything from real-world uses of dojo.charting to data binding to live apps like http://www.coloradohomestop.com/. At one point it seemed like awesome demos were going to keep coming out of the woodwork well past the allotted time.

I guess that should lessesn my surprise when great new Dojo-based apps pop up, but when the guys from Kayuda sent me a link today in IRC about their web-based mind-mapping tool, I was floored. I've been using FreeMind to collect my thoughts for projects for about a year now, but not being able to share them has always been a pain. Kayuda looks to address this head-on.

They've got a public alpha, so give it a try and let them know what you think.

Grid-A-Licious

Our good friends at The TurboAjax Group have finally released a beta of their new grid component (demo, docs). As with all their components, it lays into your existing Dojo working area and provides great stuff to make your apps better. It's free for non-commercial use and cheap for commercial sites, so give it a look.

Tips for SoC '07 Students

As noted on the mailing lists and other places, Dojo is once again an excited and grateful participant in Google's Summer of Code program.

A bit wiser from our experience from last summer, this year's Dojo SoC is under the capable direction of Robert Coup and Neil Roberts. I'm volunteering to mentor again this year, although there will be fewer slots available for students. Last year, we attempted to take on 7(!) projects and as a result we got some great projects done but a very high cost to the project's coherence and overall sanity. Our wa was in real trouble by the end of the summer and given our ambitious project schedule for 0.9 and 1.0, we're being even more selective about the students and projects we take on.

Here's a few tips for students who are serious about getting accepted to Dojo's SoC program this summer:

Yahoo Pipes Support in Dojo

As many a Dojo user is aware, we've been supporting Yahoo's forward-thinking JSON-P style endpoints for their various web services for a long time. We even have a nice RPC wrapper and simple description format for most of them. And no, you don't have to download YUI to get at this stuff...it's all pure Dojo. We make it easier to work with Yahoo's services than Yahoo does.

And that now includes Yahoo Pipes. It's cool and interesting to be able to call out to Pipes from your server-side web-app, but what the mashup-mad word REALLY needs is to be able to do the same thing from a browser. Despite not really being in the docs anywhere, Yahoo's Kent Brewster points out that Pipes supports a JSON-P callback argument. Awesome!

The structure of Pipes URLs are different than every other Yahoo service (much like flickr. ugg.), so there's no Dojo RPC for it yet, but you can easily query a pipe using dojo.io.bind and the ScriptSrcIO transport:

// get news results for Cometd
dojo.require("dojo.io.ScriptSrcIO"); // the x-domain magic
dojo.require("dojo.debug.console"); // firebug integration
dojo.io.bind({
// grab this URL from the pipe you're interested in
url: "http://pipes.yahoo.com/pipes/fELaGmGz2xGtBTC3qe5lkA/run",
mimetype: "text/json",
transport: "ScriptSrcTransport",
jsonParamName: "_callback", // aha!
content: {
"_render": "json",
"textinput1": "cometd"
},
load: function(type, data, evt){
// log the response out to the Firebug console
dojo.require("dojo.json");
dojo.debug(dojo.json.serialize(arguments));
}
});

Pipes is a bit slow right now, so you might not want to use this for main page content, but it's a great way to decorate pages, blogs, and other kinds of data with a lot more context from all over the web.

Older Posts

Newer Posts