Vision behind the Cutecash experiment (was: Announcing a new sub-project in gnucash: GUI in C++, Qt, CMake.)

Christian Stimming stimming at tuhh.de
Fri Mar 5 16:31:44 EST 2010


Dear all,

thanks for all the feedback about my announcement of the C++ Cutecash 
experiment. Actually, I'm not up to large technology discussions. My main 
motivation is something different, which I've explained in our wiki as well:

I want to get in the place (again) where I can develop a finance software with 
a set of goals which are slightly different from those of the gnucash project. 
That's why I started Cutecash - just to see how far I and those who join can 
get in reaching those goals. I have the following two goals in mind:

 #1: Create the best possible user experience in a finance management software 

 #2: Have the highest possible amount of fun during development 

Because of this, design decisions during development will have to be measured 
firstly by the user's point of view, and radically so. Which one out of many 
possible design options will give the best user experience? Which option will 
best fulfill the currently known user requirements? This option is what we 
will implement. No more, no less. In particular, we will radically ignore all 
requirements which are currently not yet known, or are not based on the user's 
point of view. 

If this first measure still leaves multiple options to choose from, we will 
generously choose the option which promises the most fun during development 
for us, the developers. 

If this second measure still leaves multiple options, we arbitrarily but 
boldly choose one option for now (like Wikipedia's "Be Bold") and move ahead. 
We might revise the decision later, but then, software has been rewritten many 
times already, so that's nothing uncommon or to be afraid of. We will just 
make the decision for now and move on. 

Some of these thoughts have been inspired by the book "Getting Real" by 
37signals. See http://gettingreal.37signals.com for a free on-line version.

On the wiki page http://wiki.gnucash.org/wiki/Cutecash I've additionally 
explained how some of my current design decisions are based on these two main 
goals. If anyone prefers the decisions to be chosen differently, he/she is 
very welcome to start a different project experiment, and we'll see the 
outcome of each of us after some time. I've seen all sorts of design decisions 
in gnucash so far. With all this observations, now I came to the point where I 
told myself I have to make some of those decisions in a different way in order 
to have a fun project again. Cutecash is an experiment with such a different 
set of design choices. It is up to the generous observer to decide which 
result will look better in the long run.

Best Regards,

Christian Stimming

Am Freitag, 5. März 2010 schrieb John Ralls:
> On Mar 4, 2010, at 12:34 PM, Christian Stimming wrote:
> >  Cutecash
> >  Free Finance Software. Easy to develop, easy to use.
> 
> Well, I'm a C++ booster, so I'm in favor. But for the long term, why keep
>  the core and engine in C? Letting the C++ genie out of the bottle means
>  that we can over time redesign and rewrite the non-gui code as well. (Have
>  you looked at Phil's roll-his-own vtable implementation in backend? He
>  could have done it in a tenth the code and probably a hundredth of the
>  time in C++. It would be faster, too, because the compiler would make
>  optimized vtables in machine code.)
> 
> While I would have preferred Wx to Qt, either is a big improvement over
>  Gtk+/Gnome for platform-independence, so another +1. Qt does have the
>  advantage that the aqbanking interface is already in Qt, so we need only
>  one toolkit. (Do note that there is a C++ interface to Gtk+ called Gtkmm.)
> 
> Regards,
> John Ralls
> 



More information about the gnucash-devel mailing list