Showing posts with label wave. Show all posts
Showing posts with label wave. Show all posts

2009-08-27

What I don't get about Wave: Robots

(Originally written as a comment on Writing a Wave Robot @ Science in the open.)

I think that having applications in the cloud edit what I wrote is wrong on many levels.

Obviously, trust in the robot provider is the biggest issue here.

Then, bugs in the robot implementation run the risk of completely destructing our data (which is balanced somewhat by Wave’s unlimited undo/playback, IIUC).

Then, this makes auditing content much more difficult, since robot contributions aren’t clearly marked (unless all robots use some common annotations…). Wave proposes the playback feature to discover the trail of changes that led to the current state, but I think that’s a bad idea: I don’t want to watch a possibly very long animation just to see who wrote what (Note: all of this is based on my limited understanding of Wave, which I haven’t tried yet.)

Then, there’s the engineering question of what happens to the robot-generated content when I edit what I wrote. The robot will have to reparse the text, and update its inserted content. But I may have moved, edited, etc, that content by purpose or accidentally. I think that’s just a big stupid mess altogether.

2009-08-08

What I don't get about Wave: Shared State



State. Big issue. Wave is teh shared state. Shared state = anti-scale.

Some of the most successful collaborative processes in the world, music, the blogosphere, and Linux, are completely shared-nothing.
  • When Bob Dylan changes an old folk song, his changes don't somehow magically rewrite existing prints of the song in textbooks. Instead, Bob commits his changes to the world through his albums and concerts, and if interesting, the changes will be included in the canon by Bob's social network.
  • Bloggers don't edit each others' posts. They write their ideas on their own blog, and through various orthogonal flows, these ideas do or don't end up in interesting places, and feed back to their authors.
  • When somebody develops a patch for the Linux kernel, he doesn't go ahead and edit Linus' code repository. The patch is sent to the LKML for discussion, and eventually included by Linus or other upstream people (or not).
In all of these hugely successful cases we have 2 properties:

1. Every participant has his own state, completely separate from others' states.

2. Changes to somebody else's state go through an orthogonal, social channel, that enforces authority.

Google Wave has neither of these properties. In Wave, all participants edit the same state, and authority to change something is not a social, but an administrative property (i.e. if you're in the ACL you can do it, without community moderation).

(Rohit Khare, whose writings are among the most inspiring in all of the intarwebs, has identified latency and agency as the two fundamental forces in internetworking. IMO, Wave takes a worst-of-class approach to dealing with both of these forces: Wave's user experience depends on low latency, and Wave's model of agency is simply boring, as shown in this post.)

2009-08-06

What I don't get about Wave: General Architecture

What happens when you take the one dumbest data format in existence, extend it (I won't even go into that), stuff it into a centralized server, and let people manipulate it concurrently, using a TECO-ish differential editing protocol?

Answer: Google Wave.

Of course to make that work you have to look into CSCW which hasn't produced any interesting results in 40 years, and adopt silly bean-counting technology (ha!) like Operational Transformation. Only so that text-editing works in your system.

Joel doesn't understand that stuff. Heck, not even Manuel does.

2009-08-02

Wave


“Ecks Emm Ell – In Ze Claud!!”