I'm back from OSCON, and while I spent more time holed up in my hotel room working on slides than I would have liked, it was a thought-provoking trip. OSCON, unlike a lot of conferences, does a great job of getting "the right people on the bus" by not tying itself to a particular technology. Full disclaimer: I was ostensibly on the OSCON program committee this year, although I was mostly a slacker about it. The hallway track this year was particularly strong. The evolved term for what OSS enables seems to be "participation", and OSCON really keeps getting to the heart of that.
Just before the official OSCON start this year was "Ubuntu Live". I didn't have an opportunity to go, but its very existence says something important about a transition that seems to be happening in the OSS world. Yes, ORA is also transforming into a conferences company with an incidental publishing arm, but I don't think that explains all of it. There are still religious partisans at gatherings like OSCON but more and more of the folks I talk to (self selection?) are "socially Open Source" people, and that's leading (I hope) to a re-balancing of priorities inside the projects they are involved with. Instead of just focusing on how free something is (in whatever sense you prefer), there's a sea change which focuses also on the end user experience. This seems long overdue and a good sign. Focusing exclusively on the user experience without any attention to negative externalities leads to a world which I wouldn't want to live in, but when there is tension between them there is hope for progress. It's market competition, but not in the sense of products jockeying for dominance (although that's one of the ways it is expressed). It's competition in the marketplace of ideas. It prompts important questions like:
The OSS world has had answers to many of the code-focused parts of these questions for a long time, but the "whole product" questions are still in relatively blurry focus. The OSI adopting a new license seems like another acknowledgment that product vs. project is coming to the fore, and the web is forcing the issue(s).
- What does the web (and sites like Facebook in particular) imply for the state of competition in services?
- Is Open Data sufficient to ensure user freedoms and a functioning marketplace?
- What does it mean to be transparent and encourage participation?
- Who owns it? What rights do (and should) others have in a world where a third party always mediates everything?
- When a company "gets involved in Open Source", what should users expect other than lower prices? Should there be a code of conduct for OSS-involved firms? What are the communities responsibilities to those firms?
In fact, I suspect that the web is playing an under-valued role in this transition. Since the web is partially open by default, it closes many of the solved questions for practical intents and brings the questions of data and community and design/experience into sharp focus. How will OSS projects handle them? Can existing project structures even being to address them? We're struggling with the last one daily in Dojo.
The assumptions of OSS have always been that there's some relatively open commodity platform which is mostly knowable, but what happens when you depend on web services or plugins which behave like hardware; sans ownership? What's the imperative for the OSS community to build full web applications and services now that the desktop application is clearly on the wane? How will we address the fundamental, centralizing architecture of the web without resorting to religious discussions? What is the implication of not having an open, ubiquitous platform for user experience design and analysis?
I think these are questions that the Dojo Foundation should start to wrestle with. The answers to them may not come from us (although "us" is anyone who wants to get involved), but I'm strongly in favor of the Foundation trying to find ways to think about and address them.
A last-minute schedule change got me home to catch the last day of TAE. Having given 2 talks earlier in the week, it was great to catch sessions without stress. Like OSCON, the vibe at the last day of TAE was very low-key and hype-free. Seems the breathless nature of "AJAXWorld" may have finally blown the chaff away, leaving TAE and other smaller conferences to provide the beer-and-ideas atmosphere that is so desperately needed to keep things moving forward.
First, I'm gonna be at OSCON the same week that TAE is going down. If you were counting on me buying you beer while in SF, you'll have to collect from Dylan (he's good for it) or one of the other Dojo's.
Next, can y'all please stop conflating Comet with a particular HTTP-level mechanism for achieving the stated user interaction goal? It's getting quite tiresome to hear folks say things like "long polling or Comet" as though they're different. The XMPP HTTP binding guys even go to great lengths to explain how their Comet technique (BOSH, aka: "long-polling") isn't Comet. Almost as entertaining as it is wrong. Long polling along with other techniques are ways of implementing the basic Comet pattern. The general description of the pattern contains no preference for one or the other. It only requires that you not naively poll N seconds.
Lastly, I'd like to express my disappointment that Jack didn't include Dean's excellent Base2 in his latest round of benchmarks. It's doing us all a disservice that he's not including the fastest engine around in his benchmarks.
I was lucky enough to attend Foo Camp again this year. Like last year, its left my head so full of ideas, interactions, and permutations on themes that it has taken me a week and a half just to work through enough of the ideas to be able to start writing about them. I didn't open my laptop all weekend. Talks like Paul Graham's session on "how to have good ideas" give you a lot to reflect on as you introspect on your own day-to-day activities. Since Foo is the "Switzerland of Tech", there are whole raft of things I can't blog about, and that is as it should be, however there were some fascinating talks and discussions which seem to be dovetailing with more of what I read on a regular basis.
For instance, I stumbled into a series of discussions about broadcast media, societal fragmentation (and unification) and the political and technical enablers for that fragmentation. They seems only mildly related and even more distantly related to the tech parts of tech, but a whole host of ideas I absorbed at Foo funnel into larger debates I have with myself and with friends. I'm finding amazing parallels in those discussions and ideas from Foo with The Authoritarians and with things like this.
I'm becoming more resolute in some of my suspicious about what's currently broken with the way we build things on the web, but for the time being I'm going to practice some of the advice in Paul Graham's article: i pensieri stretti. Oddly, it somehow feels safer to talk about national politics out loud. Maybe I'll start doing more of that. My particular brand of technical heresy isn't going to play well for another half decade, I think.
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.
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.