State |
Final |
Date |
2009-01-30 |
Proposed by |
Ichthyostega |
A Roadmap leading to Lumiera 1.0
As the very basic architecture questions seem to settle down now, it seems to be time to create a first Roadmap skeleton for the project. A specific approach is proposed: we should define criteria allowing us to judge when we’ve reached a certain level plus we should define features to be excluded at a certain level. We should not define Features to go into a certain level.
|
the following text is copied from the Lumiera Trac |
Description: Milestones up to the first stable Release
Milestone integration: cooperating parts to render output
For this milestone to be reached, the basic subsystems of Lumiera need to be designed, the most important interfaces between the parts of the application exist in a first usable version, and all the facilities on the rendering code path are provided at least in a dummy version and are capable of cooperating to create output. Based on Lumiera’s design, this also means that the basic frame cache in the vault layer is working. And it means that a media asset and a clip can be added to the internal session representation, which is then handed over to the builder. Probably it’s a good idea to include basic playback/display of the rendered frames within the GUI while they are created.
Notable features not included
-
no saving and loading of sessions
-
no manipulation of objects though the GUI (just display of the session)
-
no adding of arbitrary media or inclusion of arbitrary plugins
-
no media stream type conversions
-
no playback of sound
Milestone alpha: operations accessible for users
For this milestone to be reached, the fundamental operations you’d expect from a video editing software can be accessed by a user (not a developer!). This means that the basic distribution/release model is set up, a user is able to compile Lumiera or install an existing package. Moreover a user should be able to create/open a session file (without any quirks), add some media (probably only a limited number of media types will be supported), and then perform the most basic operations like positioning, trimming, copying, playing and finally rendering the timeline. Once this level of functionality is achieved, the integration phase is closed and Lumiera has reached alpha level.
Notable features not included
-
advanced configuration
-
complex/compound projects
-
meta-clips, multi-cam, advanced multi channel sound handling
-
any asset management beyond the very basic media handling
-
advanced wiring and routing
-
media stream type conversions
-
adding of arbitrary plugins
-
proxy editing
-
configurable GUI
Milestone beta: usable for real work
For this milestone to be reached, users should be able to get real work done with Lumiera. Especially, a basic asset management should be in place, Lumiera should be able to handle the most common media types, the user should be able to perform common editing tasks (add, move, copy, splice, trim, roll, slide, slip) both by direct manipulation within the timeline, as by using the conventional two-viewer setup with in/out points. Moreover, it should be possible to attach effects (probably still just some limited kinds of effects), apply simple transitions and control the layering and overlay mode on output. Similarily, the elementary routing capabilities and the handling of multiple sequences should be suported (probably still with limitations). The framework for automation handling should be in place, while there may be still limitations on automation/keyframe editing. Having implemented roughly this feature set indicates that Lumiera can enter the beta phase.
Notable features not included
-
configuration editing through the GUI
-
advanced routing, full support of virtual clips
-
arbitrary wiring, macro effects or similar
-
view or editing of individual nodes
-
arbitrary nesting and navigation within projects
-
full multi-cam support, support for non-standard image/sound types
-
plugin libraries and packaging
-
interfaces for plugin authors are not yet frozen!
-
fully configurable GUI
-
full support for proxy editing everywhere
-
extended workflow features (like “export to DVD”)
Milestone release-1.0: usable for productions
For this milestone to be reached, Lumiera should be a reliable tool for productions with a deadline. Lumiera 1.0 is not the “dream machine”, but users should be able to complete simple productions. We should be able to promote Lumiera to professionals without remorse. The GUI should be mature, undo/recovery should work airtight, performance should be ok-ish and output quality without any glitches. Plugin authors can rely on stable interfaces and backwards compatibility from now on, up to release 2.0
Notable features not included
-
bangs and whistles
-
render farm, distributed execution, hardware acceleration
-
MIDI and adding of non-standard media kinds yet-to-appear
-
advanced media management, full support for subtitling
-
support for special workflow features
-
foreign session import/export
-
collaboration features
-
artificial intelligence
-
saving the world
Discussion
Pros
-
doesn’t hinder us
-
helps to avoid controversies
Cons
The contents of the roadmap aren’t very specific and thus aren’t of much help for determining what has to be done next.
Alternatives
-
Create a complete development plan and derive the roadmap from it.
-
Use no roadmap at all beyond the next forseeable minor release.
Rationale
We deliberately don’t set any date schedule. Releases happen “when they are ready”. We may decide to do sprints on a short-term timeframe, but it doesn’t help promising things we can’t plan and calculate reliably. In an commercial setup, you have to commit to features and dates, but you also control a certain budget, which gives you the means to make things happen. In Free Software development, we have to be patient and wait for great things to happen 😇
Thus the proposal aims to set up just a very coarse and almost self-evident roadmap skeleton, but also to discuss and define criteria up-front, which allow us to determine when we’ve actually reached a given level. Furthermore, the proposal provides a list of features which can be savely excluded from a given milestone.
Comments
Looks ok to me, the dust is settling and we can now think about such a roadmap. Some goals might be shifted between Milestones on collaborative decision, but so far I agree. Otherwise I’d like to keep the issue tracker focus on work to be done, it shall not become a wishlist tool for non developers, any such things are deliberately left out.
- ct
-
2009-01-31
In #4 (debian packaging) i explained that packaging might be optional for “alpha” and should be moved to “beta”.
- ct
-
2009-02-01
OK, we should make the packaging optional. I think, for alpha the criterion is “accessability for users”. If compiling remains so easy as it is now (compared with other media related projects), than this shouldn’t be a barrier.
- Ichthyostega
-
2009-02-01
Many years later I can confirm that this approach towards a roadmap and release planning stood well the test of time and looks reasonable still.
The joke with “artificial intelligence” got a nice ring meanwhile, as many people seem to believe that we’re close to the AI miracle. And since Lumiera might indeed integrate some tools based on “machine learning” eventually, it seems adequate to point out that we can not save the world already in Release 1.0
Back to Lumiera Design Process overview