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