Location: SciDAVis / About / Roadmap
Language: en
Updated: 2008-08-22 23:38:20

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. smiley :-) 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):

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

1.0.0: Polishing, bug fixing, bring the handbook up-to-date, relaxNG schema

Possible plans beyond 1.0.0:

The crystal ball becomes really fuzzy from this point on. Que sera, sera. smiley ;-)