What is our primary use case?
We are a software development company and we have a lot of experience with different tools, including SAP Crystal Reports.
This product is one that we have implemented in different hospitals. We have stopped using it at times, but some clients still opt to use it. It is something that we are trying to replace with a mini dashboard for our clients, giving them a nicer way to visualize data.
One of our clients uses it for extracting data from the administrative system and generating relevant administrative reports. In cases like this, we develop reports for them.
What is most valuable?
The most valuable feature is that from a user's point of view, it is easy to use and requires just a simple click to generate a report.
It has the ability to export to different formats including Excel and PDF, so there is value there when you consider that it's a nice report that can be accessed on different platforms.
What needs improvement?
This was a good platform when it first came out but right now, it has become a complicated behemoth. These days, things are a little more dynamic and you really need a platform where you can change fast, and Crystal Reports is not it. This is an enterprise solution and there is no innovation there. The only innovation comes through a company that develops reports, such as us. A real improvement would be a simpler system that allows users to play with the visualization without needing specialized skills and code.
You shouldn't need a specialized developer just to code a Crystal Report. Ideally, a general-purpose or front-end developer, which is more cost-effective, should be able to do it.
A lot of times, what happens is that developers reuse or repurpose their domain model to use that to pull the data from a database. I think the main model that they use for the web application, the database model, and then use that to run the reports because they don't want to rewrite the code. This means that those entity models they have are too normalized for the crystal reports. Then, it becomes a bit of a mismatch where they have to change those entities and create new ones. Reporting is different than something like getting data from a web application and we really care about the transactions, which means that you always have to denormalize the data. What I've seen a lot of times is that developers kind of get stuck in this mismatch and they have to recode something. Or, they just drop what they did and do it from scratch, remapping the tables or creating new entities. This is a problem because if you promise somebody a report, only to later realize that it needs to be re-coded, it takes additional time. It becomes even more complicated when you need to re-create the business logic.
Because the users can export data to Excel or a PDF, it sometimes leads to data leakage and can create privacy issues.
For how long have I used the solution?
We have been working with Crystal Reports since 2004.
What do I think about the stability of the solution?
If you're running the Crystal Reports server then you can control it much better. For example, when developers use the web application it means that they don't think about the extra memory that the server is going to require to run these reports. So, you get issues when you run a heap memory and things like that because the report just bootstraps lots of this information, all of the data.
With the infrastructure having to run the report, it might request a lot of memory, especially if you have a lot of users. This is something that can kill your server. That's where you want to offload it to a specialized server, such as a Crystal Report server or a Jasper server. These serve and compile the reports for you. This is why there is a push for companies to get these specialized servers.
What do I think about the scalability of the solution?
Given that you have options for both on-premises and cloud, I would say that it is scalable. They are thinking about these things, although I would say that it is a bit too late.
How are customer service and technical support?
We have an enterprise license, so we are eligible for technical support. When we have gotten feedback for a client, it has taken time. The other problem is that because it's a closed system, they don't fix bugs right away. Just because an incident is reported and logged, doesn't mean that it will be fixed anytime soon. This means that in the interim, you have to find a workaround for the problem.
Which solution did I use previously and why did I switch?
We use a variety of different approaches for giving clients the data that they want to see. The first step is understanding what the client need is. If it is just a basic report that they don't want to change often, then we can get away with something static. Most of the time, we have to put in a few variables, or parameters.
Because Crystal Reports costs a lot of money, is a specialized skill, and isn't necessarily better, we try to focus on the data that they need and put it on a dashboard instead. There is a spectrum of things to consider when deciding on the suitability of any particular solution.
When we go back and speak with clients, a lot of the time we find that they don't really need Crystal Reports. They need something that is a canned report that they can go back and look at all the time. If that's the case then you can get a simple HTML5 page, which is much faster to develop and easier to maintain. Ultimately, it depends on the client's use cases.
How was the initial setup?
The difficulty of the initial setup depends on your skillset, and I would say that it is somewhere between straightforward and complex. Getting it going within your web application takes some time for things such as getting the proper JAR files.
The server can deliver the reports to you, but you still have to integrate it with your database. This is something that can be time-consuming.
What's my experience with pricing, setup cost, and licensing?
This product costs a lot of money.
What other advice do I have?
At this point, I would just go with something that is matched with Power BI. It's coming from the Microsoft world, and the users will be comfortable with it.
I would say that its suitability depends on who you speak with. For a front-end developer, they are not going to like Crystal Reports. On the other hand, if you're a back-end developer and you understand the architecture then you're going to be okay with it. Again, it really depends on the client's use cases, the skillset, and the resources.
If your organization does not have many users, the traffic is low, and doesn't have any compliance issues, then you can get away with open-source solutions. They are going to be much faster to implement, easier to deploy, easier to manage, and have a low overhead. With the Google Chart Library, for example, you have all of the charts that you need.
I would rate this solution a seven out of ten.
Which deployment model are you using for this solution?