Analysis
Overview
The current model should be reworked to correspond to the new resource model. The current implementation of timelines lacks a couple of things and those need to be added:
- Support for groups activation.
- Intro, main and outro parts.
- Properly manage the time values of each page.
Task requirements
Review the current model design and adapt it to the changes to the resource model.
As timelines don't use resources directly the impact of the change is low. Representation of timelines in the book model will be changed and this impacts user code. There should be means to operate with the new resource keys in a easy and transparent way.
Improvements:
- Group activation should be made to work like frame activation - i.e. an inactive group's timeline should not be played.
- Intro, main and outro sections should be added to the current timeline model.
- In the current implementation the timeline for all pages was played at once and changing the page did not affect it. This should be changed by creating separate timers for each page and starting/stoping them when the page becomes current.
Task result
Prototype, UML class diagram, implementation schedule.
Implementation idea
- Use the design draft posted by milo in http://pastebin.asteasolutions.net/f444cc8f1.
- Implement new time values that are shifted by a large value like C = 1015 for the 3 different parts of the timeline, thus intro will be in the interval of [0, C), main - [C, 2C), outro - [2C, 3C).
- Sample appearance design is shown on the picture below
Related
How to demo
Design
Subtasks:
- Timeline for each page.
- TimelineTopView (timeline for pages) should have a start/stop timeline method so each page's timeline will be played only when the page is opened.
- Group activation.
- Have TimelineMemberView activationTime property check ancestor activation and if ancestors are inactive return inactive state too.
- Change GroupView renderFrame to return null if the frame is inactive.
- Intro, main, outro.
- The intro, main and outro sections will exist in each timeline, for instance initially the timeline for the first page is displayed and its channels will be divided into three parts (bearing different colors). When the timeline for a frame is opened the three sections will be displayed for that frame over all of its channels. There will be controls for setting the length of the intro and outro and those should not be allowed to be greater than 60 seconds.
- The time values for activation time and local time will be separated by a large enough constant (C = 1015) to isolate the intro, main and outro parts of the timeline. Thus if the length of those sections is changed the corresponding section will retain its entries. Helper methods should be added to convert from real time to channel time and the other way around.
- The intro, main and outro sections will exist in each timeline, for instance initially the timeline for the first page is displayed and its channels will be divided into three parts (bearing different colors). When the timeline for a frame is opened the three sections will be displayed for that frame over all of its channels. There will be controls for setting the length of the intro and outro and those should not be allowed to be greater than 60 seconds.
- Palette - mostly compacting the view.
- Use the new ResourceAccess to create changes that will modify the channels or timeline options of the Element with the current view.
- The title of the timeline will be moved to the left of the controls
- The palette slider will be removed and replaced by a drawn play head.
- Channels will be shrunk to half size and expanded upon selection.
- A time ruler will be drawn on the channel directly below the selected channel, for the last channel there will be an empty channel panel below.
- Channels will be resized when the application is resized.
Implementation
Prototype: http://sophie2.org/trac/attachment/wiki/TIMELINES_REDESIGN_R0/TimelinesDesignDraft.java
Schedule:
- Timeline for each page - 2h
- Group activation - 0.5h
- Intro, main, outro - 1d
- Palette - 3.5d
Testing
(Place the testing results here.)
Comments
(Write comments for this or later revisions here.)
Attachments
- TimelineRedesignPages.png (17.3 KB) - added by todor 16 years ago.
- TimelinesRedesign.jpg (151.9 KB) - added by sveto 16 years ago.
- TimelinesDesignDraft.java (10.2 KB) - added by sveto 16 years ago.