Roadmap
This roadmap describes the current plans and milestones for future releases of SciDAVis.
Release Policy
Release numbers will follow the scheme major.minor.bugfix.
“major” releases differ considerably in architecture and potentially break backwards-compatibility to versions with a different major version number, particularly with respect to scripts and plugins. Therefore, they will occur only very infrequently. Usually, a major version change also means that a very important milestone has been reached.
“minor” releases add some new functionality, but do not change existing interfaces or otherwise
break other people’s code. If they do, that’s a bug and, obviously, we’re trying to avoid bugs.
An exception to this are minor releases before the first major release (1.0.0) when the main
architecture is not finished yet. To indicate that there is a bigger change than a normal minor
release, a release number may be skipped.
As the name suggests, “bugfix” releases fix bugs in the previous minor release, but do not add new functionality, so they’re unlikely to introduce new bugs.
In addition to the latest and greatest release with the newest features, we’ll support a “stable” line of bugfix releases for the last-but-one minor release. In the following, only x.y.0 releases are discussed. Concurrently to the development of the next feature release, bugs we get to know about will be fixed and, depending on their number and severity, bugfix releases (x.y.z) will be provided.
0.1.0: Improved user interface and fixes to project file loading
Starting point was the QtiPlot codebase somewhere between 0.9-rc2 and 0.9 (Subversion revision 621, to be precise).
The goal of this release was to improve some aspects of the user interface so that prospective users and contributors can see where we’re going.
Released 2007-08-05
Most important changes (since QtiPlot 0.9-rc2):- improved handling of custom decimal separators
- many improvements/additions to Python scripting
- improved user interface: restructured menus and tool bars, several restructured dialogs
- script window removed since notes offer the same capabilities
- more stable project loading/saving
- easier ASCII import/export, improved appending of projects and Origin graphs
- lots of small improvements and bug fixes
- export to eps and pdf without large white borders
0.2.0: Undo/redo for tables and matrices, UI improvements
Plans: Most notably for users, this release will feature multi-level undo/redo for changes to tables and matrices. Additionally, the options dialogs for tables and matrices will be integrated into their views (sub-windows) so they can be accessed faster. A complete rewrite of the table and matrix internals will speed up the execution of all related operations considerably. This also includes storing of numbers with full precision even if not all digits are shown.
Internally, from this release on SciDAVis will start using a new data storage architecture based on a column-based abstraction of a typed data source. The data will be separated from the GUI and the API to allow the insertion of undo/redo commands and generally improve code flexibility. It will also greatly faciliate improving the handling of dates/times in columns in the future. The new internal data structures are optimized to use less memory than those before which is very important to free some memory for the undo/redo framework.
0.3.0: Aspect-framework/hierarchial project structure, modular structure using Qt’s plug-in system, XML file format
Plans: Most notably for users, the way the project contents are shown in the project explorer will change considerably. You will for example be able to change label and comment of a column in the project explorer. Internally, from this release on SciDAVis will be using a flexible data analysis and data storage architecture based on a column-based abstraction of a typed data source and filters modelled after integrated electronic circuits (in the sense that they are a “black box” with a number of input and output ports). The project will internally be stored in a hierarchial tree consisting of what we call “aspects”. The aspects and related classes will follow a “5 layer design” somewhat comparable with the model/view/presenter paradigm. This will greatly improve the long-term maintainability of the application. The application code will be separated into several independent modules interacting through Qt’s plug-in system. This will faciliate adding new features later and also improve the maintainability. The file format for SciDAVis projects will be replaced by a completely XML based one. This allows to use robust XML parsers, much better error handling and easy validity-checking of project files. Loading files in the legacy format will continue to be supported as an import function.
0.5.0: New visualisation engine
Plans: The Qwt library will be replaced by a new engine based on Qt’s GraphicsView framework, allowing, among other benefits, the use of floating-point linewidths. This will solve many problems such as ugly gaps between axes and bad scaling. The visualization engine will be optimized to achieve optimum ouput quality. The resolution of the the output will be totally independent of the screen resolutions and the size of the plot windows. Custom page sizes for PDF exports will be supported making exported PDF figures ideal to use with PdfLaTex.
0.7.0: Removal of muParser dependence such that everything can be done in Python, improved plotting
- All muParser-specific parts will be rewritten to also be able to use Python and allow using of python defined functions for curve fitting etc.
- Improvements to the Python bindings to allow more powerful Python scripts.
- Improvements to the plotting engine such as support for axes breaks, polar and ternary plots, waterfall plots and maybe other things.
- XML for copy and paste
1.0.0: Polishing, bug fixing, bring the handbook up-to-date, relaxNG schema
- Polishing of the new features introduced in the previous versions; bring everything in a state that allows minor releases that don’t break anything that worked in the previous version
- Bring the handbook up-to-date to release 1.0.0 with a really nice handbook that contains all new features
- write a relaxNG schema for the SciDAVis file format to check the validity of project files (this may not make sense if saving of unknown plug-ins is supported)
Possible plans beyond 1.0.0:
- Support for other scripting languages such as Ruby (maybe use Kross when its more mature and KDE independent)
- Plugins in C++ and/or scripting languages, e.g. for implementing new plot/curve types
- Add more demo scripts, plugins and tutorials, encourage users to contribute plugins for inclusion into future versions and/or to a central plugin database.
- Lots of other features like baseline-detection,
- Import/export filters for OpenDocument spreadsheets.
The crystal ball becomes really fuzzy from this point on.
Que sera, sera. ![]()

