2006 Edition Free and Open Source Software Developer's European Meeting


2006-01-31 - Alex Russell

Dojo Toolkit

An interview conducted by Lionel Dricot (aka "ploum")
FOSDEM - Please present yourself.

Alex Russell - I'm Alex Russell, Project Lead for the Dojo Toolkit. Dojo is a portable JavaScript library and a set of associated tools. I'm also a Sr. Software Engineer at JotSpot, a company building a hosted application platform cleverly disguised as a wiki ;-) . It's because of JotSpot's generous support that I get to work on Dojo a great majority of my time.

FOSDEM - For some months, Web 2.0 is really hype. Everybody wants to make something "web 2.0". What is "different" with Dojo? What are the competitors on this "market" and why is Dojo better?

Alex Russell - When we started Dojo, "Web2.0" wasn't even a conference yet, let alone a meme in search of a definition. Back then, people who worked on DHTML were a dying breed and what community existed was highly fragmented. Those who were doing professional-quality DHTML work needed to pool our code and to stop re-inventing the wheel, so we started Dojo as a place to consolidate several of the extant libraries (Burst, netWindows, and f(m)). Of course, JJG wrote the Ajax article and the rest is recent history.

Our competition today are primarily other JavaScript toolkits at various stages of capability, portability, and completion. On the Open Source side there's Rico, Scriptaculous, Zimbra's AjaxTK, and a bunch of others. I think our strongest competitors are actually the more complete but closed-source tools like Bindows, Backbase, Isomorphic, TIBCO's General Interface, and Microsoft's Atlas. The closed-source folks seem to grok that you can't throw away the advantages of markup in much the same way that we do.

As for why Dojo is better, the history of JavaScript is littered with one-off's that have inexplicably long life spans. Dojo attempts to fill in what's "missing" when you fire up a JS interpreter and provide a cohesive set of tools and libraries for getting things done. We don't just assume that you're working in a DHTML environment (although that's most likely), so when you hit something new like SVG or even server-side JavaScript, you don't have to throw your tools out. JavaScript is everywhere...why shouldn't your JavaScript tools be too? We set ourselves apart by by dealing with JavaScript in the broader sense and by treating it as a language where we can apply good engineering practices. Our unit-testing, packaging, and deployment support tools are proof of that.

FOSDEM - How do you see the future in terms of webapplications and traditionnal applications? Is Web 2.0 an evolution or a revolution?

Alex Russell - Evolution. I think it makes a lot of people feel better about the amount of time they spend re-inventing or re-implementing old things in new environments if they can call it revolution, but at least in the case of current development in browsers, it's quite clearly evolution.

If there was a revolution at all in all of this, it happened when browsers became ubiquitous and markup became the accepted way to declare UIs. The problems we're solving today are about lowering the cost to build richer experiences without losing those advantages. The textuality of the web matters more than I think most people accept, and so improving what we can do natively in a browser with the same amount of effort is always going to be a better investment than trying to build something using plugins or desktop apps. The web already won, we just have to keep it a viable and competitive platform. I sometimes refer to it as defending the Open Web. Things like XAML, Flex, and the like are very clear assaults on the openness of the web as a platform. I have faith that continued evolution of what's capable natively in browsers can prevent a walled-gardens scenario, but it's by no means a forgone conclusion. The 80+% market share browser hasn't changed in half a decade. If that's not an opportunity for closed solutions to eat away at the open web, I don't know what is.

FOSDEM - What, in Dojo, makes you very proud of it?

Alex Russell - The way the team has held itself to high engineering standards is what makes me happiest. From portability to unit tests to packaging to namespaces, Dojo isn't making the same-old naive mistakes. I'm tremendously proud of that.

FOSDEM - What, in Dojo, ashamed you the most?

Alex Russell - A couple of months ago, I would have said a lack of documentation, but the team decided it was important and made API docs happen for the release we just put out. I really don't have much to complain about any more = )

If anything gets me down, it's that we didn't get to where we are sooner. A lot of people are getting burned (again) by poorly written JavaScript and we'd be throwing out an amazing opportunity if client-side development falls back into disrepute because of it. Sometimes I think that if we'd only gotten a release out 6 months earlier, we might have been able to stem some of the renewed onslaught of one-off wheel re-inventions that are now passing for "Ajax libraries". Perhaps I'm just kidding myself.

FOSDEM - How do you see the future of Dojo and your own future in the OpenSource world?

Alex Russell - Over the next year, Dojo is going to start growing some hooks into various server-side libraries and frameworks. Things like low-latency data transfer to the browser (Twisted Python, etc.) I think are going to become very important. I hope our focus on more than just Ajax will continue to pay off in those areas.

Past that, I have hopes about where JavaScript will go (Java 1.6 and ActionScript 3 in particular are interesting). It's already the most ubiquitous scripting language around, and I hope Dojo can continue to play the role of portable "class library" for all of those environments.

FOSDEM - What will you talk about at FOSDEM this year (more precisely than just "it will be about Dojo")?

Alex Russell - We've built Aspect Oriented event dispatch into Dojo, which makes doing event-driven programming much better. I'll also cover how we build topic-based event notification on top of it. If there's time, and if we have a suitable demo, I'll also try to show off some of the server-pushed data and event stuff we're working on.

FOSDEM - What do you expect from FOSDEM and what makes you happy (if any) to come here in Belgium?

Alex Russell - I'm looking forward to meeting folks from many of the Open Source projects I use and admire.

FOSDEM - Thanks you for your answers, for coming to FOSDEM and for your involvement in Free Software.

Alex Russell - Thanks again for having me!


© FOSDEM 2003-2005 - powered by Argon7 - Recovered thanks to Aigon.