Hacker News new | comments | show | ask | jobs | submit login
Google Wave is the new X-Windows (lolstartups.com)
84 points by enki on Aug 10, 2009 | hide | past | web | favorite | 41 comments

"It essentially defines the data structures of a collaborative document editor"

Thank you!

I have not been able to make sense of the press coverage trying to describe what Google Wave is. This is immensely clarifying. Google Wave is chiefly technology for building collaborative editing applications. Casting it in terms of competing against email, IM, or Facebook, is simply a category error. I suppose the technology demo labeled "Google Wave" built on the underlying tech may be partially at fault for the confusion.

You can look at it is a collaborative document editor, but the fact that the developers intend for it to be used for day to day communication is important. It means that they will make sure it does all the little things a communication tool needs to do.

Most importantly, the waves (documents) are structured as threaded discussions. Users have global, unique, human readable addresses. Access to waves and parts of waves can be controlled per-person. There is an an inbox that lists waves by time. It keeps track of which ones have unseen content and notifies you when a change is made, and so on.

I don't think any mere mortal can get a good sense of what Wave is without seeing it in action. I didn't really wrap my head around it until I had spent a couple of hours using it.

But when you describe it like that, then you just see that this has been done before by other companies, IBM, Microsoft, etc. Google's marketing department is really doing well if they can get everyone to jump on the Wave bandwagon under the guise of it being something completely new and different.

No, Google Wave is the new RIPscript: http://www.bbsdocumentary.com/library/PROGRAMS/GRAPHICS/RIPS...

"In 1993 Telegrafix created RIPscript or RIPscrip, which stood for "Remote Imaging Protocol". It was intended to be a vector-like graphics protocol that used ASCII files to describe lines and shapes to a client. This sort of approach (send descriptions of graphics, render them at the client side) had been done before, but a major push came with RIPscript and it followed onto the internet as a plug-in. Ultimately, the protocol did not catch on and was soon forgotten."

"Ultimately, the protocol did not catch on and was soon forgotten."

So the acronym expands to "Rest in Peace Script"?

Now there's something I haven't thought about in like 15 years!

RIP script was cool, I remember the editor they had for it was pretty slick.

Doesn't it kinda remind you then? You know - the folly of specifying the future before it happens. RIPscrip made tons of sense until... something unpredictable like interwebs happened :) The pipes turned out to be different in practice than the BBS perspective told us. Wave has that same kind of feeling to me. Not saying there's not some neat there, but the style of the announcement and marketing... feels like RIPscript to me - doomed, arrogant, silly.

Playing Door games in RIP. It was like living in the future.

Thems was the times.

"In the blog posts I’ve read, Wave’s merits are analyzed solely based on the current developer UI preview. ... and not an infrastructure protocol under heavy development."

Great insight! I also feel the same way; that is a very important point that people often overlook. Wave has a huge grand vision that could be shown far beyond the power of current UI client.

Great to hear that you are a fellow gtug campout member. It was one of the best experience. Thanks to Google for providing it.

Yea, it was a great event!

The winning team built a prototype of a Justin.tv type of app in 2 days.

I do think it will be sometime before the platform sees any applications that have mainstream adoption. Video may be the first thing that gets wave rolling from consumer perspective.

One critical question is whether Google will successfully define the Wave client/server (GWT-based) protocol in an open fashion, or at least open enough that people can implement their own.

Otherwise, the whole thing will be dependent on the quality of their client/server, and people will still be locked into a single implementation.

And, the other issue is just how extensible their data model can be, for other clients to do more than just their simplistic pidgin-HTML document rendering model. I.e., can another client/server pair use a more sophisticated document model but still have the document maintained by other implementations? (Not talking about robots or gadgets here, but a more fundamental question of document extensibility.

On these questions (and others) hang the whole general utility of the collaborative document editing facility.

They already have - the first public wave server was PyGoWave, which was made from the open spec by third party developers.

Where's the client?

Great Job!! I've replied to your group post at http://groups.google.com/group/wave-protocol/browse_thread/t...

This is potentially very useful to schools who wish to collaborate with other schools. But students need to be 'contained' within one Google Wave with a defined 'team' working on for example a citizenship project on fair trade etc, rather than be free to start new Waves on the subject of say Zak Effron or start messaging their friends... can you have an owner defined Wave ie by the teacher and partipants ie students permissioned to access only that one Wave.

Seems like a pretty sensible view, and probably fairly close to what Google is aiming for.

I know a number of non-technical people who have watched the whole GW presentation and they can all immediately see the potential of Google Wave to be used within their work and adapted to their workflows. It's very smart of Google to support developers first, because GW's success will probably be highly dependent on specific applications/customisations built on top of their platform.

I'm wondering whether google wave can solve the problem of having to use overly complicated interfaces like email or social sites just to share a link with friends.

I feel like I should be able to drag and drop an image or link into something and have it show up on my friend's computer.

My friends and I call that jabber :-P

i dont mean IM where things disappear and involve synchronous chat though.

I think that Google Wave will be interesting for the social place it falls into. Will it be the new Usenet, or IRC, or web forums? Will it be large and unified ("I'm on Wave, hit me up"), or fragmented ("Yeah, I switched over to the wave Matt's running. You should try it out")?

These are the interesting parts, I think.

If there is any validity to the X-Windows comparison, none of those questions make any sense. Substitute and you get "I'm on X-Windows, hit me up" or "Yeah, I switched over to the X-Windows Matt's running," which no one would ever say.

I agree that the coverage so far have said exactly the kinds of things you are saying. I never understood what they were really getting at, but this article makes a lot more sense to me. It is mainly a protocol, and what the press are calling "Wave" is just a demo app that Google put together.

In this case, though, I think the press are right. What really matters is what people do with the software, not what happens underneath. It's our job as nerds to get it from a communications protocol to a community.

Did that analogy give anyone else shivers down their spines? That isn't to say that separating mechanism from policy is a bad idea.

I just hope that we get the words "client" and "server" defined correctly this time around.

I always thought that XWindows uses the term 'client' and 'server' correctly, while the average joe simply uses the words too loosely: they want to say that the client is "my machine right here", and the server is "that machine over there".

But, in reality, it is the display server process that offers display services to client programs that use them.

It always felt wrong to me because the remote computer acted in response to your actions. You click on something and it responds. I'm sure there were valid technical reasons for it but commercially it must have been disaster.

You're thinking of it in terms of the application, not the display. The app was running on the app server, which connects to the X server as an X client.

I'm thinking more in terms of the person sitting in front of the computer rather than than the app. They are the ultimate 'client' who is served by the computer in front of them. That computer (thin client) is the client of the application server and so on down the line to the database and whatever other services (servers) are called.

I can't really see a solid line of differentiation between an 'X server' and a browser. Would you call the browser an HTML/Javascript server?

You're using loose terminology that a system administrator might use, where "clients" and "servers" are machines.

X Windows is using computer science jargon instead, where "client" and "server" are words that describe roles that two programs might play in a specific kind of relationship with each other.

> You're using loose terminology that a system administrator might use,

How dare you insinuate that I might be a system administrator. Or that system administrators really don't know much beyond their domain. I won't stand for it!

I'm sure 'X windows' is technically a server in some the strictest sense. Technically I guess the client app issues a request for user input which is served by the X server. To extend that model the X server issues a sub-request to the user who fulfils that request. To me this seems to twist the terminology to the point where the user is just another service available to the program. It reflects a view of reality that does not appeal to ordinary end users and I believe this limited the success of X windows and unix/linux on the desktop.

No, because the browser initiates each connection.

Just as a user running an X server initiates the clients to display on it.

Actually no. The remote app server initiates clients to run on it. So the remote one is the client, and the local one is the server.

Actually no, you're confusing application serving (a term used in non X environments) with display serving (which X uses).

X display servers (which we both agree are local) do not initiate clients to display on them, end users do this work - you can see this quite easily by initiating a client when you don't have an X display - the app will look for a $DISPLAY variable and attempt to connect to that display. The app is launched first by the user, and connects to the display server.

The distinction here is between starting a process and connecting to a listener to request services. Starting a process is not one of the two roles in the client/server relationship.


Yes, but starting the application is done via a non-X means (typically SSH listening) before the app then seeks a listening display to connect to.

I'm not sure why they decided the display should be the server and the programs be the clients. It might be because the other way around is to have one client, the display, access many servers, the programs. That seems even less right to me. (On the other hand, that would make it easier to let a friend over the network look into one of your windows.)

Commercially speaking, X11 was a great success. It is the de facto windowing system for UNIX and UNIX-like systems despite all of the horrors it brings.

Being the defacto windowing system for a platform that has very little desktop market share isn't a great success.

Being the defacto windowing system for the most popular operating system family is a great success.

And if you believe Windows is the most popular OS family, then being the defacto windowing system for the second most popular OS family is still a great success.

Actually the defacto windowing system for desktop Unix is OS X's window manager, based on Quartz Compositor.

I wasn't referring to desktop systems exclusively, but if I were then you'd have been right.

The title mislead me. I thought he was going to argue that Google Wave is like X-Windows. He seems to be saying Google Wave can be used as the transport layer for a display service. There does not appear to be any reason why it can't be X11 on top of Google Wave other than the insane latency requirement.

EDIT: He seems to be more keen on replacing X11. I think a protocol which works with X would be better.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact