Sunday, August 17, 2008

Designing the next generation of CDRfe

(last updated 17.August.2008)

I've finally found some free time to think about the next version of CDRfe. This is one of my favorite own programs, but in time I realized that this way of creating C++ closed source software will lead us nowhere. So I'm thinking about designing the next generation of CDRtools frontend. The planning is on really early stage (like some thoughts on a single sheet of paper) and I decide this time to involve the community. I realize this will take much more time than designing it by myself, but I believe the outcome worth it! So here are my general ideas about it:
  • We'll start codding from scratch (will use only knowledge gathered in CDRfe development, but not a single line of code)
  • We'll use some platform independent language like Java which will allow using CDRfe on other OS-es too.
  • Next generation version will combine VisualISO with CDRfe into a single program.
  • I'm planning to include remote recording functionality. This is when you have a single recorder and many clients
  • The new project will be an open source and I'll be very careful with licenses this time when it comes to using external source code and/or libraries
  • We might also select a better name of the project. If you have an idea please post a comment or send me an e-mail.
Now I'll go deeper into the technical part:

I'm planning to use a Rich client platform instead of doing everything on my own. The best candidates are: Eclipse, Netbeans and Mozilla. If you have other ideas, please post a comment or drop me an e-mail at At the moment my favorite is Eclipse. Advantages of using such a platform are: you have much work done and tested and we could concentrate on the actual functionality instead of for example user interface. So the software could be delivered faster and better tested. Disadvantage I can think of is that it will be much bigger and in general slower.

I need your help! I'm looking for:
  • Fresh ideas what to include inside the next generation version as functionality, usability, code libraries etc.
  • Codding help. I'll need it at moment a concrete Rich client platform and programming language is selected and the work could start. The project will be hosted probably on and will have a repository and so on.
  • Designer's help: this version should look great :)
If you can help please do it! Post a comment here or drop me an e-mail at I'll update this post in time so come and check it from time to time.


Veselin Kolev said...

Great news! I will think of some ideas, which can be helpful for you to share. Hope there will be seme good designer, which can provide us with something fresh :-).

Great stuff!

Rockhopper said...

Let's hope your project doesn't suffer from swine flue ... ;-)

Keep on rocking with the good work!

Anonymous said...

I love cdrtfe because it is small, fast, and has a lots of "advanced" features.
Please keep this on mind while working on the next version. Particularly, I am a bit worried about the possibility of using Java and Eclipse framework. Although they are good for some applications, I am not sure they are a good fit for a utility like this. Please, do not make cdrtfe "too big to download, to slow to use" (like they did with e.g. Nero).
Have you thought about continuing to use C/C++ and just start using some multi-platform libraries like GTK+?

demosten said...

I agree that using such a framework will make it heavy. Though I'm not fan of GTK+ I can consider using similar library like wxWidgets or Qt. Currently work on the next generation is stalled as I'm involved in several other projects. However if I manage to find time to work on it there is one thing you can count on - the next version will be Open Source from the very beginning and it will be open for others to contribute.

Anonymous said...

Perhaps you should take a look at cdrtfe (notice the additional 't' in the name):

This is a Windows frontend for the cdrtools and some other commandline tools. That project started back in 2002 and is open source since 2005. It's quite mature and feature rich.

You could join the project, or, you could create a fork and port it from Delphi to FreePascal/Lazarus, which would basically allow to use it under (almost) all platforms supported by FreePascal/Lazarus.