Monday, May 9th, 2005

Ajax Summit: Alex Russell, Dojo Toolkit/Jotspot

Category: Ajax, Dojo

Alex Russell is the head honcho behind the opensource JavaScript framework Dojo Toolkit, and works for Jotspot, a Wiki company.

Alex gave more of a spoken word talk, than a presentation, which meant that the sentences weren’t full of “er and um” :)

HTML applications don’t have to abuse users

Alex talks about the land that we are in, how the circle of technology life comes around, and how we are at a stage to take HTML web apps to the next level. If we don’t?

UIs in Markup

Alex thinks that UIs need to be declared in markup, and doesn’t want to lose that. He also strongly talks about the need for tools, which everyone here will agree with. We are like ape-like creatures when it comes to tools, and productivity.

Slideshow Widget

While Alex gave us his poetry, a slideshow was going on behind him.

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
	<title>blah</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
	<script language="JavaScript" type="text/javascript">
		// Dojo configuration
		djConfig = { 
			baseRelativePath: "../../../",
			isDebug: true
		};
	</script>
	<script language="JavaScript" type="text/javascript" 
		src="../../../src/bootstrap1.js"></script>
	<script language="JavaScript" type="text/javascript" 
		src="../../../src/hostenv_browser.js"></script>

	<script language="JavaScript" type="text/javascript" 
		src="../../../src/bootstrap2.js"></script>
	<script language="JavaScript" type="text/javascript">
		dojo.hostenv.loadModule("dojo.webui.widgets.SlideShow");
	</script>
</head>
<body>
	<div dojoType="SlideShow" 
		imgUrls="images/1.jpg;images/2.jpg;images/3.jpg;images/4.jpg;images/5.jpg;images/6.jpg" 
		transitionInterval="700"
		delay="120000">
		insert pretty image here
		
	</div>
</body>
</html>

Update of the text

Alex has sent over the text that he read out:

Hello, I’m Alex Russell. I work as a software engineer at Jotspot, and I’m a founder of the Dojo Project. After doing a little more research this morning, it also seems that I’m the President of the Dojo Foundation, which owns all the Dojo code.

So anyway, here we are. The survivors.

As Tim Converse might say, prestige is finally catching up with opportunity. It’s as if it just rained after a very long drought, and some of us wonder if it’s sustainable. IUm optimistic, though. Right now, we’ve got the best shot to date to show that HTML is a viable platform that need not abuse users. We can grow the market for what we do by improving how we do it and improving the experiences we build. That improvement hinges on lowering cost, which is why the web so successful in the first place.

Now, this talk is about something I’ve heard called the Rwheel of reinventionS. The computer industry has been riding along on the wheel for as we’ve had silicon chips. Some people call it a virtuous cycle, but whatever you call it, each turn of the wheel provides technology that was previously only available to small populations to a mass market.

Every time this happens, though, something gets lost. Early mass-market versions of a technology spur amazing inventions, but many of the expensive features of their ancestors are missing. Reliability, usability, and security often take the biggest blows when disruptive technology hits the scene, and the web was no exception. ItUs the accepted wisdom of every freshly minted MBA today that the internet lowers costs. But will it continue to do so?

Precipitous price drops have a way of changing the size and location of the playing field, but not necessarily the game. As the internet dramatically reduced the costs of building applications, the market for software and information was once again a free for all. New applications swarmed into the marketplace and duked it out, feature for feature, superbowl ad for superbowl ad. Slowly but surely, the missing attributes of desktop apps started to become competitive differentiators. To meet demand, APIs that had been collecting dust in browsers are widely being pressed into the service of improving user experience. Which brings us pretty much up-to-date.

Broadly speaking, reducing the costs of delivering security, reliability, and usability further will define how web applications mature from here. It’s perhaps a given that we will use DHTML/Ajax to do this, but how?

Firstly we must make it easier, faster, and less time intensive to build usable interfaces. Interfaces that don’t just look good, but give good affordances and feedback. The tools we build and use must also continue to provide the productivity that was won by moving to the web. This means UIs must be constructed in markup. If we have to go back to constructing them like we did in Java or C++, then we won’t succeed.

Secondly, the tools must also give us better building blocks so that we can spend less time re-treading the same ground. That means reusable components. A stock set of high-quality components that are easy to customize reduces everyone’s fixed costs. And that grows the market for what we do. Which means we get paid.

On top of this, we must focus on optimization. The best DHTML/Ajax apps are distinguished not only by how they work, but also the attention paid to optimizing them.

Optimization takes many forms, but there are some broadly applicable strategies which the next generation of tools must support. For example, our tools must help us include only what we need, reduce HTTP traffic, and remove duplicate code.

I know that’s a hard sell until youUve spent an evening with pcap dumps and ethereal trying to determine where in the heck that 300ms is going, but trust me: no one cares how cool your UI is if it takes 20 seconds to initialize. Likewise, developers wonUt even pay attention to how good your tools are if theyUre impossible to configure and debug. Optimization must not impose a price or burden during development, but must be available for deployment. And a common set of tools should do that for us.

We’re staring down a choice: fragment and wither, or collaborate and thrive. Today we donUt share a common toolchain, our knowledge is barely portable, and all that we really agree on is that thereUs this raw set of neat things we can do with browsers today. ThatUs not to say that this is due to maliciousness on anyoneUs part. In fact, a lot of great people have been churning out amazing JavaScript for years now, only to have it find its way into narrow niches if it gets used at all. I guess you canUt time the market for software, either.

Code alone isn’t sufficient to create a market for what we do. End users (your clients and employers) have to believe that this isn’t going to turn into yet another one-off thing where once youUre gone there won’t be anyone else to take care of it. More importantly, they very rationally want to make sure that they’re only spending this money once. This means that in order to make a bigger market for what we do, we have to drive the price of doing a baseline set of things. Companies like Google, Microsoft, and Yahoo have the luxury of building cost-reducing tools internally since on their own they represent markets big enough to benefit from those direct investments. But markets aren’t built on the internal dictates of megaliths, and eventually even big companies realize it’s not smart to perpetually pay a tax for adopting a technology early. Markets are built from the bottom up. We all know that the demand down-market for sexy apps is there, but the costs to deliver them. There are very few of us, and a lot of people need what we can build. To meet that demand, we need to be able to build high quality things faster. Common code is our market maker…our force multiplier.

I believe in this opportunity enough that along with many of you here today, I’m working on a project project which is building the tools I’ve described here and we’re doing it as non-viral Open Source.

Started a year ago as a not-for-profit foundation, the Dojo Project is supported by both invited individual contributions and corporate support, and our goal is nothing less than to become the standard toolkit for the next generation of web application UIs. Dojo is being built to help you more easily, more flexibly, and more reliably build great things. We’re giving away code, sharing what we know, and working to improve all of our productivity, but we still need smart, creative people who care about users to help us get there.

We might not be able to get off of the wheel of reinvention, but together we can make user’s lives better and our own less painful.

Thank you.

Posted by Dion Almaer at 6:35 pm
Comment here

+++--
3.4 rating from 7 votes

Comments Here »

Comments feed

Leave a comment

You must be logged in to post a comment.