Roadmap for the release of QGIS 2.0

It is difficult to establish a timeline for the release of version 2.0 as we have ambitious plans for the release and are dependent on volunteer effort or effort that is not controlled by ourselves.

I am going to outline below the essential features the new release should include. If you are a developer and would like to provide a cost estimate for implementing a feature, please do and we can try to seek sponsorship to help you to dedicate a good amount of time to the effort.

Vision: QGIS 2.0 will be a stable, feature rich, well documented application and set of libraries with a consistent API and a user friendly interface.

API Cleanup

The purpose of the API cleanup is to remove legacy code, inelegant hacks and backwards compatibility wrappers. We will break API with version 1.0 in the interests of a cleaner, more consistent code base. The API is also an opportunity to align the code base with our defined coding conventions where it is not already so.

API Documentation Overhaul

The API documentation is main entry point for many users of our libraries to understand how they should be used effectively. With the release of 2.0 we need to pay attention to the API documentation, ensuring that all public parts of the API are well documented with a consistent style and where possibly including small examples and snippets illustrating the use of the API.

Implement a comprehensive test suite

At the moment the code coverage of our existing test suite is poor and many of the tests inherantly fail. We need to build out our test suite so that it:

  • covers the gui and core libraries well
  • is easy to add a new regression test when a bug is fixed
  • it well documented and described how to add new tests to lower the barrier for entry to developers
  • is run on a nightly basis automatically using a build bot

Removal of deprecated functionality

  • get rid of old labelling completely
  • get rid of old symbology completely
  • merge many of the plugins directly into trunk (north arrow, gps,
    coordinate capture, delimited text, georeferencer, some form of raster
    colours / 1 band raster colour table etc.

Address usability issues with the GUI

We need to have a well defined Human Interface Guideline (HIG) and then we need to overhaul the GUI so that:

  • we follow the DRY (dont repeat yourself) principle, particularly in terms of the creation of re-usable widgets
  • obtain a level of visual consistency that makes the QGIS application appear to be a seamless whole, rather than a sum of its parts.
  • each dialog and user interface element has been reviewed to achieve adherance to our HIG