Google Wave to Line

I had an idea for a software development web-based of an application to manage bullets of text with version control. For example, this application could be used as:
  • TODO list
  • SCRUM backlog
  • Software release notes
  • Brainstorming board
  • Event organization
  • Task tracking
As far as the idea was maturing, I realised that most of the functionality was already implemented by Google Wave, but some details. So, instead of starting a new project, I decided to share the new features I would add to Google Wave in order to get feedback and perhaps I could get Google to include this features in next Google Wave releases.

Why Line?

The name comes from the idea of treating each input as a line in the timeline. Each line changes in the time. The changes are tracked, storing when a line was changed and what the change was.

1. Line states

Each line would have an state for their content:
  • Approved: the content of the line is considered valid.
  • Draft: the content of the line is tentative.
  • Active / inactive
  • Deleted
2. Line reordering

Lines should be able to be reordered. The user must be able to drag and drop one line and move it up/down in the list of lines. This way, we can consider a wave as a list of lines ordered by importance.

3. Line survey

A user could open a proposal of different contents for a line. The line would pass to draft state. The users joined to that wave would be able to vote for any of the proposed options. At the end of the survey, the line will have the value of the most voted option.

4. Line discussion

Similar to surveys, the line would pass to draft state. In this case, a forum will be opened where any user joined to the wave could leave an opinion. When an agreement is reached, a user redact the content of the line, the discussion would be closed and the line turns to approved state.

5. Snapshot

An instant in the time such as a transverse cut in the time line. An snapshot defines a photo of the lines in the moment the snapshot is taken. An snapshot would have to be defined by a name. Only approved and active lines would be considered part of the snapshot. This way, we can define easily release notes for a software development.

6. Line split / join

One line could be splitted in several different. For example, in a brainstorming, an idea could be separated in other smaller.

Several lines are joined in one.

7. Mode timeline

It would be the way to review the tracking of changes. This mode would be very visual. This view would show each line as that, a line in the time. The timeline would have a zoom in/out in the time scale (from minutes to months or years). Everything would be shown: surveys, discussions, snapshots, splits, joins, states.

Feedback

What do you think?