Beryl Roadmap

Welcome to the Beryl Project roadmap. This document will tell you where we have been, where we are going, and how we plan to get there. This is our first official roadmap since the fork began and is sure to contain numerous errors and corrections as things progress. Bear with us please, as Beryl improves so will this document. It should also be mentioned that this roadmap is focused in the time between now and the Ubuntu 7.04 feature freeze. The more invasive ideas are being put on hold until after that.

Our History In Short

Beryl began as a community packaging of Compiz. However as the community package began to grow to adapt to the needs and desires of the community the diff with compiz and what was called compiz-quinn (named after the packager) began to grow relatively out of control. It was not long until the difference was so great that many plugins from compiz-quinn would not work directly in compiz-fdo, in reality this is when the fork happened. Officially there was no fork announcement however for another couple months, when compiz-quinn was officially renamed Beryl to avoid confusing the end users. At this point a lot of work began to go into supporting a wider base of users, distros, and hardware than was currently supported in Compiz. However, despite the differences, the leaders of the Beryl Project feel that Compiz is very important and do not hold any ill will toward them. This document is in part to give some formalization to what the Beryl developers already know, but to also give the Compiz developers and the rest of the community an idea of where we are going. In the future it is hoped that Compiz and Beryl can still work together while going in their own separate ways.

The Future of Beryl

At this time most development is starting to lean toward getting ready for possible inclusion in Ubuntu by default. Generally the Ubuntu community has requested certain features and bug fixes and these have been moved to the top of the priority list. This means some longstanding bugs will be resolved, new features will be implemented, and a wider range of hardware will be supported. As well the code will be cleaned up and defaults made much more sane for lower end hardware. Also a push for accessibility features has been defined as a goal for the project. In the end, all of these features we hope to have working by Feb 1st 2007, and relatively bug free by April 1st, 2007. After this point the Beryl development team will once more define a new direction for the project.

0.2.0 Release

Requirements for the release of Beryl 0.2.0:

  • All major work items resolved
  • Zero functional regressions from Beryl 0.1.2
  • Zero performance regressions from Beryl 0.1.2
  • Zero stability regressions from Beryl 0.1.2
  • Fully beta testing of development release
  • All bugs marked as blocker resolved
  • l10n support of “acceptable” quality
  • New user interfaces must conform to GNOME Human Interface Guidelines

Major Work Items — Now -> Feb 1st, 2007:

  • Non-TFP rendering path needs to be completed, cleaned up, and bug fixed. This rendering path opens up Beryl to a whole range of new cards and removes a requirement to run Beryl.
  • Window Manager features are very basic right now. Focus stealing prevention needs to be implemented and bug tested. Also window stacking needs an entire re-write. Snapping on non-wobbly windows is also non-existent at this time. All of these should be considered blockers for the 0.2.0 release.
  • New frontends to configure and control Beryl while presenting the user with as few options as possible need to be designed and implemented.
  • The switcher plugin features a window border that is often slow to draw on lower end machines. This is visually obtrusive and must be fixed.
  • The Plane plugin is missing several features of the cube plugin. These need to be implemented. Also it doesn’t play nice with scale right now
  • Organic scale needs to be fixed/rewritten or dropped entirely from the scale plugin
  • Due to the fundamental way in which wobbly works, there are visual issues with regards to it. These should be investigated and resolved.
  • Beryl must support configuration via the gconf editor for integration in the gnome desktop. This will be implemented in libberylsettings.

Proposed Development Release Schedule:

  • Beryl 0.1.0
    • Released: September 29th 2006
    • First official release of project with Emerald and Beryl-Manger
  • Beryl 0.1.1
    • Released: October 20th 2006
  • Beryl 0.1.2
    • Released: November 3rd 2006
    • The ‘fire’ version. Graphics changed to highlight fire plugin.
    • Release 4 days late.
  • Beryl 0.1.3
    • Target Release Date: December 8th 2006
    • Released: December 9th 2006
    • Development release, contains new 3d plugin
  • Beryl 0.1.4
    • Target Release Date: December 25th 2006
    • New Plugin Freeze
    • GConf Backend Released and working
  • Beryl 0.1.5
    • Target Release Date: January 15th 2007
    • Plugin Feature Freeze
    • Window Management Features Complete
  • Beryl 0.2.0 Release Candidate
    • Target Release Date: February 1st 2007
    • Bug Fix Release
    • Attempt To Reach Release Criteria
  • Beryl 0.2.0 Final
    • Target Release Date: February 20th 2007
    • Release Criteria Ready Release, public and released into stable repos