There is no substitute for quality. Users will remember a crappy release
forever. Look at Vista and what it has done to the reputation of Microsoft.
On the forums, I've seen many comments by users who say that the reason
they like FreeMind is that it's easy to use and very reliable. All it
takes are a couple of bugs to undermine that reputation. There are lots
of other alternatives. No one is forced to use FreeMind, so all it takes
is a bad release to convince them to switch to another application. If
enough of them do so, you'll be left with complete freedom to do
whatever you like, but you won't have any users.
I don't see anything inaccurate in what Dan has said. I think he could
have been more polite, but the fact is, there is so much anger and
hostility here, that it makes any kind of polite discussion difficult.
All of you seem to read every email looking for things to be angry
about. As you've discovered, you can always find something you don't
like, if you look hard enough and long enough.
It's too bad you guys can't see yourselves from a distance the way I
can. I see a group of talented people who have all had a shared goal and
have generally done a good job. FreeMind is a better program through the
efforts of each of you.
I believe there are several reasons for the slow release cycle:
* The underlying code is badly in need of refactoring, the
close-coupling of modules makes it difficult to make changes without
breaking something. It makes bugs happen more frequently and makes those
bugs harder to fix. The bugs aren't all because of current sloppy
programming, they are the result of complexity which has grown up over
years. This happens on almost any heavily maintained piece of code.
* You don't have any automated regression testing, which would
remove a lot of the drudgery of testing. I wish I'd done better on
getting this started.
* You have a very small team. The team doesn't grow, in part,
because of the current atmosphere of anger.
* Communications are complicated, because English isn't your native
* Personal ambitions and conflicts take up time and energy.
* The project leader insists on producing a quality release. (This
is a good thing, or at least I think so.)
Here's what you can do:
* Refactor the code for the next release
* Build regression tests as you do the refactoring, something that
is important if you want to have a successful refactoring effort. See
* Recruit more team members, especially testers.
* Be patient and stop looking for things to be angry about in every
email. Keep in mind that email is forever, potential employers years
from now may be able to find any public email you've ever sent. Think
about that before you send an angry response.
* Kiss and make-up, Valentines day is just around the corner :)
* Thank the guy that does the testing and protects your reputation
I doubt anything I'll say will cause the problems here to evaporate, but
I've always considered it part of my job to evaluate the processes used
to produce the software and then look for ways to improve them. In the
end, all I can do is make suggestions and hope someone tries them out.