CRC Card Whiteboard
A simple example of what could be a CRC Card Whiteboard based on Mozilla and XBL (I started using the code from the sticky note XBL example).
To make it more interesting, I added directly three CRC cards (based on Beck and Cunningham OOSPLA paper on CRC cards).
As it is, it is not very useful (and quite ugly!): the modifications
are erased if the page is reloaded and the modifications are not saved
if the page is saved locally...
But if a server side script is implemented to store and retrieve
snapshots of your cards at a given time (e.g. based on RCS), this whiteboard could be
used like a wiki to easily share some design.
You can find some instructions below the board.
- Render Model
- Transform Coordinates
- Interpret User Input
- Distribute Control
- Maintain problem related info.
- Broadcast change notification
- the three letters right to the class name ('C', 'R', 'C') are use to edit respectively the class, responsibilty and collaboration of the card
- the
responsibility and collaboration are implemented with an <ul>
list, so you have to add the responsibilities (or collaborations)
within <li> tags (you can edit one of the existing card to see
what I mean)
- the 'X' button deletes the card without confirmation.
- The
'Add CRC card' at the top right hand corner of the board is used to add
a CRC card (class and responsibility field are mandatory, collaboration
is optional).
- You can drag the cards by using the card title (in dark brown)
- You can also change the z-index of the card by clicking on the card title (to change which card is at the top of a stack)
All the code of the board is in the these files:
- index.html (the current file which displays the whiteboard)
- crc.xml (the XBL file which defines the behavior of the whiteboard)
- crc.css (the CSS file which defines the appearance of the whiteboard)
If you have any question, suggestion, critic, please drop me a line.