Waves vs. wavelets vs. blips: why?

12 views
Skip to first unread message

Bayle

unread,
Jun 6, 2009, 5:52:34 AM6/6/09
to Google Wave API
Right now, I am thinking of a wave as a tree of message nodes, where
each node is associated with a user list and a list of content
documents.

However, what I said above is an oversimplification; the data model
actually consists of “waves”, which contain “wavelets”, which contain
“blips”, according to http://code.google.com/apis/wave/guide.html (the
whitepapers at http://www.waveprotocol.org/ don’t mention “blips”,
except as an example of an XML start-tag). Wavelets have
"participants" and blips have "contributors".

I don’t understand why there isn’t just one type of node, rather than
three. What is gained by having separate classes of waves, wavelets,
and blips, rather than just one type of node (which can be a tree,
i.e. each node could be the root of a subtree which is made up of more
nodes), the way I described it in the first paragraph of this message?

thanks,
bayle

Alan Green ☄

unread,
Jun 6, 2009, 5:16:22 PM6/6/09
to google-...@googlegroups.com
Great question!

The wave/wavelet distinction is fundamental to the architecture. A wavelet has a wave id and a wavelet id. A wave is simply a collection of wavelets that happen to have the same wave id. It has no other data associated with it.

With federated waves, wavelets within one wave may each be stored on separate servers. You might remember the bit in the demo where there was a private reply between participants at acmewave and initech-corp that did not touch the google servers. Each private reply is a wavelet and so can have different participants from the conversation root wavelet.

Blips are a way to structure conversation with a wavelet. Eventually, there will be other ways to represent content in a wavelet too.

Hope that helps,

Alan.
--
alan...@google.com / capt...@wavesandbox.com
Reply all
Reply to author
Forward
0 new messages