Roadmap  
 
The following new features and developments are planned for 2007/2008.
 
Release Feature Description
R 1.9 Scope re-construction Incremental extension and integration of the migrated, original code base with the new NAF components. Re-construction of some of the existing scopes with the new component model (the original ones remain untouched). The new scopes will look and feel as similar as possible, but also offer some new usability features.
 
R 2.0 New User Interface A new dynamic user interface, consisting of NAF components glued together by Lua code. The users will be able to customize and build their own scopes glueing components together.
 
R 2.1 New Workbench The new user interface concept will allow for new features like persistent window configurations, docking views etc. comparable to the Eclipse workbench (but faster and leaner than a Java implementation of course ;-) ).
 

Since November 2005 I put high pressure on the development of R 1.9/2.0. It's virtually a complete re-design of CARA, because I would like to make all features accessible to Lua. Users shall even be able to create model extensions by Lua (e.g. implement custom filters for peak inference). Because the original implementation was heavy C++ design (including template meta programming), I needed to find a Lua conforming alternative for each concept. That was quite more work than I originally envisioned (and also the reason for the backlog). Unfortunately I had to freeze the 1.5.3 release in December to avoid that I had to do the same work twice.
One of the major advantages of the new architecture is the possibility to decentralize responsibilities. CARA will be an open platform. New scopes can be developed and maintained by different people according to their focus of interest. Even though there will always be a stable kernel (i.e. CARA itself cannot be undermined by custom code as it is the case with some Python based implementations). I will continue to maintain and extend the kernel according to the feedback of the scope providers.

On April 2006 I decided to get rid of the Boehm garbage collector again (which I introduced in Jan. 05 as one of the preconditions to establish full Lua exposition of the NAF). This step was eventually unavoidable due to misterious crashes in scripts with high memory consumption (i.e. the ongoing SideLink development by Jim, where more than one GB of memory is allocated). After several weeks of bug hunting I realized that due to the non-deterministic nature of the GC there was little chance to ever reproduce the issues or find a work around. I therefore decided to go back to the fully deterministic reference counting scheme which I had before. This of course had quite an impact on the work I had done since November 2005.

By end of May 2006 I realized that the complexity of the re-construction of the scopes on top of the new object model (now without the GC) has become so high, that it would take another couple of months just to re-establish the features already available in Nov. 05. I published some 1.8 internal releases to the CDT with and without the GC, only featuring a re-constructed Explorer and MonoScope. Since it was virtually a complete re-write, there was also a high probability to introduce many new bugs. It took me several weeks to just re-construct MonoScope given the work load of my parallel projects, and the 1.8 release in May was still far from complete. Since some urgent issues were waiting to be resolved and a continuation of the release freezing was no longer affordable, I decided to go yet another way around and do a direct "mechanical" migration of the 1.5.4 code base to Qt4. To make use of the Qt migration tools, I first had to do a full migration of CARA to Qt3, and only then to Qt4.1. This turned out to work quite well. Within two weeks I produced an 1.6 release which was essentially the original code base migrated to Qt4 (with the original issues of course). After that I started to extend this code base with at least some features of the 1.8 release (e.g. the re-engineered intensity view with the Xeasy color scheme, using the new floating point coordinates of the Qt4 graphics engine, also the new main window and menu concepts, and optimized printing resolution). On June 23 the first alpha release 1.7.0a1 was published. I will now continue to incrementally extend the 1.7 code base by as much of the 1.8 features as possible. The development of 1.9 will then happen in parallel as part of the unified code base (i.e. all existing scopes will continue to exist, but I will incrementally introduce re-constructed versions, which are accessible with new menu commands).

R.K.

 
   
   contact   Last changed on April 26, 2007