Each extension has a specific
use case, noted below:
A robot is an automated participant on a wave. Robots are
programs which run on an application server and can modify state within
the wave itself. A robot can read the contents of a wave in which it participates,
modify the wave's contents, add or remove participants, and create new blips and
new waves. Robots perform actions in response to events. For example, a robot might publish
the contents of a wave to a public blog site and update the wave with user
comments.
A gadget is a small application that runs within a client.
The gadget is owned by the wave, and all participants on a wave share the
same gadget state. The only events a gadget responds to are changes to its own
state object, and changes in the wave's participants (for example, participants
joining or leaving the wave). The gadget has no influence over the wave itself.
Wave gadgets typically aren't full blown applications, but small add-ons that
improve certain types of conversations. For example, a wave might include a sudoku
gadget that lets the wave participants compete to see who can solve the puzzle
first.