Team:Freiburg Software/Developer/Architecture

From 2010.igem.org

(Difference between revisions)
(New page: {{:Team:Freiburg_Software/head}} <html> <div id=main_area> </div> </html>)
Line 4: Line 4:
<div id=main_area>
<div id=main_area>
 +
<h1>Architecture</h1>
 +
<p class="main">
 +
SynBioWave turns Google Wave into a biosynthetic software suite. There are currently two available methods for extending Google Wave, and we are making use of both in SynBioWave:
 +
<ul>
 +
  <li>Robots</li>
 +
  <li>Gadgets </li>
 +
</ul>
 +
</p>
 +
 +
<h1>Robot</h1>
 +
<p class="main">
 +
A robot is an automated participant on a wave. It has a Wave ID in the form of bot@example.com, and you can add it to your Contacts list just as you would any Wave user. The only difference between a bot and a human Wave user is that the bot is programmed to automatically perform some function within a wave. A robot can read the contents of a wave in which it participates, modify the wave's contents, add or remove participants, create new blips and new waves, and insert content into waves. In short, a robot can perform many of the actions that any other participant can perform. Robots are created and manipulated using the Google Wave Robots API.
 +
 +
You can use the Robots API to perform actions such as the following:
 +
  <ul><li>modify information in a wave</li>
 +
    <li>insert elements such as gadgets and images in a wave</li>
 +
    <li>interact with participants on a wave</li>
 +
    <li>communicate and synchronize information in a wave to the outside world or to other waves</li>
 +
    <li>access or modify state in a third-party system (such as a database)</li>
 +
</ul>
 +
</p>
 +
 +
 +
<h1>Gadget</h1>
 +
<p class="main">
 +
Gadgets are little web programs included in a wavelet and communicating with it via Google's Wave API. Typically they aren't full blown applications, but small add-ons that improve certain types of conversations. For example, a wave might include a gadget that lets wave participants vote on where to go to lunch. Wave gadgets can:</p>
 +
  <ul><li>Access more granular state management</li>
 +
    <li>Find out the current viewer and all of the other participants on the wave</li>
 +
    <li>Work harmoniously with the Wave playback mechanism</li>
 +
</ul>
 +
<p class="main">Gadgets running in Wave belong to the wave they've been added to. They can set the state and also respond to change in it. State can be shared between all the participants of the wave or can be private to the particular participant.
 +
</p>
 +
 +
 +
<h1>SynBioWave Block Diagram</h1>
 +
<p class="main">
 +
Gadgets are little web programs included in a wavelet and communicating with it via Google's Wave API. Typically they aren't full blown applications, but small add-ons that improve certain types of conversations. For example, a wave might include a gadget that lets wave participants vote on where to go to lunch. Wave gadgets can:</p>
 +
  <ul><li>Access more granular state management</li>
 +
    <li>Find out the current viewer and all of the other participants on the wave</li>
 +
    <li>Work harmoniously with the Wave playback mechanism</li>
 +
</ul>
 +
<p class="main">Gadgets running in Wave belong to the wave they've been added to. They can set the state and also respond to change in it. State can be shared between all the participants of the wave or can be private to the particular participant.
 +
</p>
</div>
</div>
</html>
</html>

Revision as of 21:19, 21 October 2010

Architecture

SynBioWave turns Google Wave into a biosynthetic software suite. There are currently two available methods for extending Google Wave, and we are making use of both in SynBioWave:

  • Robots
  • Gadgets

Robot

A robot is an automated participant on a wave. It has a Wave ID in the form of bot@example.com, and you can add it to your Contacts list just as you would any Wave user. The only difference between a bot and a human Wave user is that the bot is programmed to automatically perform some function within a wave. A robot can read the contents of a wave in which it participates, modify the wave's contents, add or remove participants, create new blips and new waves, and insert content into waves. In short, a robot can perform many of the actions that any other participant can perform. Robots are created and manipulated using the Google Wave Robots API. You can use the Robots API to perform actions such as the following:

  • modify information in a wave
  • insert elements such as gadgets and images in a wave
  • interact with participants on a wave
  • communicate and synchronize information in a wave to the outside world or to other waves
  • access or modify state in a third-party system (such as a database)

Gadget

Gadgets are little web programs included in a wavelet and communicating with it via Google's Wave API. Typically they aren't full blown applications, but small add-ons that improve certain types of conversations. For example, a wave might include a gadget that lets wave participants vote on where to go to lunch. Wave gadgets can:

  • Access more granular state management
  • Find out the current viewer and all of the other participants on the wave
  • Work harmoniously with the Wave playback mechanism

Gadgets running in Wave belong to the wave they've been added to. They can set the state and also respond to change in it. State can be shared between all the participants of the wave or can be private to the particular participant.

SynBioWave Block Diagram

Gadgets are little web programs included in a wavelet and communicating with it via Google's Wave API. Typically they aren't full blown applications, but small add-ons that improve certain types of conversations. For example, a wave might include a gadget that lets wave participants vote on where to go to lunch. Wave gadgets can:

  • Access more granular state management
  • Find out the current viewer and all of the other participants on the wave
  • Work harmoniously with the Wave playback mechanism

Gadgets running in Wave belong to the wave they've been added to. They can set the state and also respond to change in it. State can be shared between all the participants of the wave or can be private to the particular participant.