Version 4 (modified by kyli, 16 years ago) (diff) |
---|
Analysis
Overview
(Provide a brief overview of the whole task in its first revision. Stick to the current revision of the task, but keep an eye to the whole task progress, and stay alert for possible smells.)
Task requirements
- Define what a timeline is
- in Sophie, there is a single-page and multi-page timeline. Discuss this behaviour with non-programmers, since it is not good to be the same in Sophie2.
- define the exact usage of the timelines, since it is very important for the design - will timelines be started by links (as in Sophie), or only by the bottom panel, or else. This is best to be documented.
- define whether a timeline is a ProObject, held in a book/page, or a Resource, maybe something else.
- a timeline must have any number of channels, executed simultaneously, with equal duration. They will contain zero or more entries, defining the actual actions which will be performed through time.
- Define what a timeline entry is
- is must at least contain starting moment and action to be performed
- define possible actions executed by the timeline and a way to implement them. Make several actions demonstatable, for example "Next page".
- some actions must have duration, some not. After deciding what will be the possible actions, think of a way to store this information in the timeline entries.
- Think about need of persisting timelines, maybe templating or something other possibilities.
- Provide a way to manipulate a timeline - list, create, destroy, add/remove channel, add/remove entry, play, stop.
- Design diagrams are strongly recommended.
Task result
Source code, design diagram(s).
Implementation idea
- Model: a Timeline could be a ProObject, which has length and a list of one or more timeline channels. A channel can be a list of zero or more entries. Each entry can have startTime, duration, startAction and endAction (for example, if we drag a frame in the first channel, its start action is show and the end action will be hide).
- Demo: if you decide to use the bottom flap for the demonstration, keep in mind it is currently not working and needs refactoring. It could contain a palette about the created timelines and the current timeline.
Related
How to demo
(Provide instructions for demonstration of the task.)
Design
(Describe your design here.)
Implementation
(Describe and link the implementation results here (from the wiki or the repository).)
Testing
(Place the testing results here.)
Comments
(Write comments for this or later revisions here.)
Attachments
-
GROUP_TIMELINES_R0-first.patch
(8.7 KB) -
added by boyan 16 years ago.
Initial tests for the model of the timelines.
-
GROUP_TIMELINES_R0-second.patch
(9.0 KB) -
added by boyan 16 years ago.
Initial tests for the UI of timelines.
-
GROUP_TIMELINES_R0-collective.patch
(20.0 KB) -
added by boyan 16 years ago.
A patch with the module as well as the classes.