News:

Goddammit.  Another truckload of bees.

Main Menu

Google Wave

Started by Captain Utopia, August 15, 2009, 08:30:54 PM

Previous topic - Next topic

Captain Utopia

Has anyone else got it? I would like to plan something fun with it, having collaborators would be handy. PM me your wave account address if you'd like to do something.

Requia ☣

You work for Google then?  Its still not out, at all, in the general public if I'm not mistaken.
Inflatable dolls are not recognized flotation devices.

Captain Utopia

Quote from: Requia ☣ on August 16, 2009, 11:17:31 PM
You work for Google then?  Its still not out, at all, in the general public if I'm not mistaken.
If you sign up for the developer API you get preview access and can code gadgets, robots, etc. The back end is all GAE/GWT which I've played around with before.. but since there are only a few thousand people in right now, any useful gadget/robot has a massive early-adopter advantage.

Since it's likely to replace or at least change the way we use email/forums/wiki's/etc, it'd be nice to get some influences in there (like ddate in GNU), but I'm low on ideas at the moment - what groovy function would an Eris-bot do?

Soylent Green

Quote from: fictionpuss on August 17, 2009, 12:04:58 AM
Quote from: Requia ☣ on August 16, 2009, 11:17:31 PM
You work for Google then?  Its still not out, at all, in the general public if I'm not mistaken.
If you sign up for the developer API you get preview access and can code gadgets, robots, etc. The back end is all GAE/GWT which I've played around with before.. but since there are only a few thousand people in right now, any useful gadget/robot has a massive early-adopter advantage.

Since it's likely to replace or at least change the way we use email/forums/wiki's/etc, it'd be nice to get some influences in there (like ddate in GNU), but I'm low on ideas at the moment - what groovy function would an Eris-bot do?

Sex, drugs, and more drugs.

Requia ☣

I'm signed up to bug test, whenever that happens.
Inflatable dolls are not recognized flotation devices.

Triple Zero

Personally, I kinda hope it flops.

Cause first, I've had it up to here with all this Google this Google that,
and second, I'm not really done with email and forums and shit yet,
and third, no way that Google is gonna write a rich web application that doesnt make a browser crawl.
Ex-Soviet Bloc Sexual Attack Swede of Tomorrow™
e-prime disclaimer: let it seem fairly unclear I understand the apparent subjectivity of the above statements. maybe.

INFORMATION SO POWERFUL, YOU ACTUALLY NEED LESS.

Captain Utopia

Quote from: Broken AI on September 02, 2009, 11:21:52 PM
QuoteSince it's likely to replace or at least change the way we use email/forums/wiki's/etc
So its going to stop me posting inane banter, replying to nigerian spammers, and putting misleading information into wikis then?
No, yes, no - but you'll be traceable so you'd likely find yourself blacklisted if you do.

Quote from: Triple Zero on September 02, 2009, 11:26:52 PM
Cause first, I've had it up to here with all this Google this Google that,
Me too. But it is an open protocol, so the Google prefix will likely drop once it becomes more mainstream.

Quote from: Triple Zero on September 02, 2009, 11:26:52 PM
and second, I'm not really done with email and forums and shit yet,
Integration with email and forums is coming first, e.g. you could browse and post PD via wave, using less bandwidth than a regular user, but you'd have extra features layered on top of that which would draw users in. Embrace, extend, etc.

Quote from: Triple Zero on September 02, 2009, 11:26:52 PM
and third, no way that Google is gonna write a rich web application that doesnt make a browser crawl.
Maybe not Opera. But it's pretty nippy in Firefox, and javascript keeps getting faster. It's based on GWT, so the same Java code can run on the server, or be compiled into Javascript to run in the browser. There's also Gears integration which may be used to offload particularly intensive tasks away from the browser.

Rococo Modem Basilisk

I saw the video, and read the docs. It seems like the backend is basically an enfilade structure (in the xanadu sense -- i.e., it's a god damn nth-order b-tree with splitting on demand rather than based on numbers). I like enfilades (and a lot of the other xanadu data structures) so I'm happy with this -- I'd be happier if they used enfilades the way they were meant to be used (with tumbler addressing and transfinite numbers, because it's FAST) but google is primarily a web service company, not a systems programming company, so I can understand that they might ignore the most bloatsaving features of a pretty nuanced idea (it took me several years to really understand the draw of using tumbler addressing and enfilades). Ted Nelson did a google tech talk, and Plan R has been in effect at xanadu since around 1993, so presumably there is an implicit goahead on using this (potentially nasty, licensing-wise) data structure.

The thing is, the idea isn't new -- it dates from circa 1961. This makes it older than two-dimensional arrays. Google has re-branded it, sure. They have put it to use. But sooner or later someone is going to realize that a competent coder can whip this up in a couple of lines of python (the back end at least -- and if third party apps are just chunks of javascript and sgml in the istream, the frontend won't need to be much more than parsing through and spitting chunks into the vstream). In fact, a competent coder could pretty easily build a majorly improve (on a fundamental level) system based on the same design -- for instance, a couple weeks ago a friend and I were walking around town and managed to work out the design for a transparently distributed enfilade with redundancy, based around a normal SQL database and a modicum of clever message passing. This would be significantly easier to implement in, say, erlang, than a markov chain or a brainfuck interpreter. Granted, both of us have been working with various forms of the xanadu code and documentation for years, but once you get past some of the special terminology the ideas aren't that complex.

I applaud google for putting much-needed tech out there, especially when it has been kicking around for fifty years. I just think they are facing a situation where they can either do a half-assed implementation or put themselves shit out of business (or at least up the creek).


I am not "full of hate" as if I were some passive container. I am a generator of hate, and my rage is a renewable resource, like sunshine.

Requia ☣

Google already released the vcode for the backend, so i fail to see how the backend being easy to duplicate would be relevant.
Inflatable dolls are not recognized flotation devices.

Captain Utopia

Easy to prototype + demo != easy to put into production. Two different worlds.

I'm not sure what meaning the xanadu reference has, as the functionality is entirely removed from the back-end storage, and blips != waves.

Anyway, back on point.. I now have some mindfuckery planned to do with it, and I might just have the time to implement it before wave opens up the doors at the end of this month.

Triple Zero

Quote from: Enki v. 2.0 on September 03, 2009, 02:47:53 AM
I saw the video, and read the docs. It seems like the backend is basically an enfilade structure (in the xanadu sense -- i.e., it's a god damn nth-order b-tree with splitting on demand rather than based on numbers). I like enfilades (and a lot of the other xanadu data structures) so I'm happy with this -- I'd be happier if they used enfilades the way they were meant to be used (with tumbler addressing and transfinite numbers, because it's FAST)

what's an enfilade? sounds interesting.

QuoteThe thing is, the idea isn't new -- it dates from circa 1961. This makes it older than two-dimensional arrays. Google has re-branded it, sure.

huh, ok maybe I should have watched the video all the way through, but really, I couldnt stand watching those smug google fuckheads for another minute.

what does this wave thing actually do, then?

it seemed to me it was just kind of like a combination between EtherPad (multiplayer notepad), forum-threads and mailinglists all mashed up into a bloated GWT app.

so assuming that is just part of it, which bits did I miss?

also, really, whatever it is, and does, I hope (probably in vain) someone (google) will release a lightweight (think uTorrent and HFS) stand-alone client for this thing, if it's supposed to be anything, because really the days of "rich web applications" are fucking over, it was a dead end to begin with, using the browser to do something it was never meant to do, building on legacy code upon scripting language, plugging holes, it's a mess. just an example, most people that use Twitter stepped away from the browser to an external app.
Ex-Soviet Bloc Sexual Attack Swede of Tomorrow™
e-prime disclaimer: let it seem fairly unclear I understand the apparent subjectivity of the above statements. maybe.

INFORMATION SO POWERFUL, YOU ACTUALLY NEED LESS.

Rococo Modem Basilisk

Quote from: Triple Zero on September 03, 2009, 10:28:21 AM
Quote from: Enki v. 2.0 on September 03, 2009, 02:47:53 AM
I saw the video, and read the docs. It seems like the backend is basically an enfilade structure (in the xanadu sense -- i.e., it's a god damn nth-order b-tree with splitting on demand rather than based on numbers). I like enfilades (and a lot of the other xanadu data structures) so I'm happy with this -- I'd be happier if they used enfilades the way they were meant to be used (with tumbler addressing and transfinite numbers, because it's FAST)

what's an enfilade? sounds interesting.


typedef struct enfilade_t {
char* data;       // document
struct enfilade_t ** children;  // array of pointers to children
int child_count;
} enfilade;


A tumbler address is an array of integers between 0 and child_count - 1. To address any document in an enfilade structure, loop through the  tumbler, and insert the current index as the index of the child enfilade, like so:


char* get_stuffs(int* tumbler, enfilade* foo) {
if ( ++tumbler == NULL ) {
return foo.data;
}
return get_stuffs(tumbler, foo.child[tumbler[0]]);
}


The code may be wrong because it's 6 AM and I haven't had any caffeine yet.

Quote
QuoteThe thing is, the idea isn't new -- it dates from circa 1961. This makes it older than two-dimensional arrays. Google has re-branded it, sure.

huh, ok maybe I should have watched the video all the way through, but really, I couldnt stand watching those smug google fuckheads for another minute.

what does this wave thing actually do, then?

it seemed to me it was just kind of like a combination between EtherPad (multiplayer notepad), forum-threads and mailinglists all mashed up into a bloated GWT app.

so assuming that is just part of it, which bits did I miss?

also, really, whatever it is, and does, I hope (probably in vain) someone (google) will release a lightweight (think uTorrent and HFS) stand-alone client for this thing, if it's supposed to be anything, because really the days of "rich web applications" are fucking over, it was a dead end to begin with, using the browser to do something it was never meant to do, building on legacy code upon scripting language, plugging holes, it's a mess. just an example, most people that use Twitter stepped away from the browser to an external app.

The frontend is what they demoed, for the first part, but they said that the front end was swappable and what they were really selling was *their* front end plus *the* back end.

I'd argue that what their design showed was what would happen if you stored google docs in an enfilade back-end, in chunks. It's certainly not much more than that. Once you have properly implemented the backend, it's going to mostly be rearranging and spitting out chunks of html.


I am not "full of hate" as if I were some passive container. I am a generator of hate, and my rage is a renewable resource, like sunshine.

Requia ☣

I really don't think the data structure of the backend is all that important.

The point of wave is basically that it has an open spec, so anybody can implement a new version, and users of 'new guy wave' can interact with google wave users, (the same way I can use any email with any other email).  It doesn't actually do anything new, except apparently use a data structure method enki seems to like (but data structures should be transparent to the front end programmer, let alone the end user).
Inflatable dolls are not recognized flotation devices.

Rococo Modem Basilisk

I'm a fan of the data structure, yes. And most of the apparent power of google wave derives from the data structure. I would argue that google is overcomplicating their design terribly, however, my first five or six implementations of this kind of thing were likewise overcomplicated.

If you do it Right* you implement the data structure, a couple wrappers, and a very simple protocol, then stick up a simple UI and some data in to start with, and you are done in a week or two. Google has spent two years doing what shouldn't take them a month had they really considered the problem (mind you, had they really considered the problem for six years, but they probably should have called up Ted Nelson).

* Right, in this case, is from the POV of a Xanadu fanboy with an inordinate internal emphasis on system programming and writing glue. I'd find it easier to do it this way, but at the same time, I would probably end up doing it in something like D or Erlang, and telling end users to fuck themselves in press conferences; google has better marketing skills than I do, obviously, and I doubt they care very much about the efficiency difference between tumbler addresses and URLs, given that they are writing the demo in Java with a javascript translator.


I am not "full of hate" as if I were some passive container. I am a generator of hate, and my rage is a renewable resource, like sunshine.

Captain Utopia

What I get from this is:

  • The only thing Google does better than you is PR and marketing
  • Google is stupid, and you are smart
  • You see enfilades everywhere, even places they have no reason to be

Also, GWT isn't a translator for Java.