this thread is inspired by this article http://www.nichesoftware.co.nz/content/why-crystal-reports-sucks from which I shall quote a large segment that is of particular interest to me in the framework of this discussion. The quote reflects the opinion of the author (so if you think he is full of it, don’t be shy to fight my ignorance of that) whereas I personally am not sufficiently familiar with CR to argue one way or the other.
The main question that I want to discuss here is as follows. This guy is claiming that Crystal Reports is an environment in which the nonessential complexity of working with the interface is way too much, above and beyond the “natural” essential complexity of making the report (well, that’s not his precise words, but I think a fair summary in light of No Silver Bullet thesis). The biggest issue he names is poor reporting of errors (which I quote), but there are a few others (see the article for details). Based on this, I want to ask - if Crystal Reports is an inevitable fact of life (for legacy reasons) and if it is so darn hard to work with (because da man done said so), why doesn’t somebody make a “Crystal Reports Lite, Restricted” environment that would have the following characteristics:
its underlying model would be the same as Crystal Reports, and so porting an application from CRLR to Crystal Reports would be a purely manual process
its expressive power/functionality would be a “sufficient” subset of CR. Well, lacking the CR internal documentation, probably nobody can even spec out a full clone. But a highly restricted imitation, “just what we normal users need” IMHO should not be impossible. To be clear, I do realize that what I am talking about here is a clone of the feature, not of the implementation details; so if CR has weird implementation quirks in some features that nobody really knows systematically, it will likely not be reproduced. Then again, the simpler and smaller the subset of features gets implemented, the less likelihood of having problems with that.
it would have good error reporting, good user interface and generally be full of light and goodness
Why would we want to create such a hypothetical tool? Well, if making the report in CR from the start is so darn painful, why not make it in this CRLR, debug it until it works, and then dumbly/mechanically type it into CR (or hire an minimum wage intern to do it for you)? That way the report is created in the environment optimal for creating reports (i.e. CRLR) and it is deployed in the environment we are forced to deploy it to (CR).
So, if you happen to be a CR expert, what’s your take on this? Are the claims of the guy in the article total BS? Is what I am proposing a great idea? Are the claims of the guy truth and nothing but the truth but what I am proposing will not fly for a bunch of reasons that you will share in this thread?
And now for the long awaited quote:
As already noted, he also bitches about some other issues, of which I particularly noticed the weird need to change every property of every item using a dialog rather than using generic styling or xml editing. But I just don’t want to clutter up the thread and also consider the complexity of debugging to be by far the greatest reason to bitch about and/or desire to replace a software framework. Bad GUI wastes hours but ineffective troubleshooting and debugging wastes days or even weeks.