So I’ve got this job at a pretty rad place called Windward. We make, among other things, software that helps companies analyze and organize their data more effectively; this is the field of “Business Intelligence” (BI). This week, I’m looking at some of the competition: BIRT (Business Intelligence and Reporting Tools) is an open-source project founded and maintained by a company called Actuate, which uses it as the foundation for most of its commercial products. BIRT is an Eclipse plug-in that allows you to design report templates and publish them in web-ready HTML, among other formats. It comes with a visual editor with drag-and-drop functionality and support for pretty much everything you would ever want in a report: charts, tables, text and images, etc.–and, since it’s open source, it costs absolutely nothing up-front. If you want to do more than just make reports, you can opt for one of Actuate’s commercial products, which add functionality such as the ability to host interactive reports on a web server, embed reports into web applications, and use interactive Flash charts, gadgets, and widgets in your reports. Sounds great, right? So what’s the problem? Well…
BIRT REview: The Short Version
BIRT REVIEW: The Long Version
My suffering began when I first tried to look BIRT up online–BIRT has so many web pages I wasn’t sure where to go first. I decided on the Actuate website, since that’s who was advertising, and was directed to two demos–“demo”, of course, meaning “video demonstration”, since that’s obviously what everyone else means when they say “demo” on the internet. Once I had registered (registration was free, but required), I found the first of the “demos” to be a fairly interesting discussion on the design philosophy Actuate BIRT is made to support, accompanied by a demonstration of some of the features of various Actuate products. I mention the rather self-evident fact that a video demo contained a demonstration only because Actuate themselves do not seem to find this fact self-evident: the second video I watched (which used a completely different kind of streaming format and took an interminable length of time to load) started not with a product demonstration but with an excruciatingly boring feature description/sales pitch, accompanied by a scant handful of marginally informative slides and peppered with buzzwords that told me nothing meaningful about the product. As I was watching the videos, I noticed that I had a new email in my inbox: a friendly, automated greeting thanking me for my interest in BIRT and offering links to various other resources. One of the links was broken, but I was still pleased–until I noticed a second email arrive, thanking me for my interest in the other video I had watched, and offering me more helpful links. “Uh oh”, I thought. “I’ve got a bad feeling about this.” 
That second unopened email was looking just a little too innocent sitting there in my inbox, so I quickly deleted both of them and went back to the website to try to find the information I wanted. At this point, things got worse fast. Searching for more documentation than was initially offered led me all over their poorly-organized site, to videos variously labeled as “webinars”, “demos”, and “tours”, with no clear reason for the distinction. Some of these videos were downloadable .mp4’s, others were streaming videos of varying quality and in different formats, and every time I downloaded another tour, viewed another PDF, or watched another soporific webinar, I received another helpful, friendly email thanking me for my interest. In an effort to prevent my inbox from being overtaken I tried searching for written documentation instead, but the first page I encountered–after clicking on the conspicuous “Product Documentation” link on their “Resources” page–was so intimidating I gave up and went to download the product.
That’s when the real trouble started.
I began with the simple, open-source BIRT software package in the innocent belief that this would make things easier. After downloading and extracting the .zip file they gave me (and after getting another email thanking me for my interest), I tried to run the program and encountered this gem:
At the time, I actually had seven Java virtual machines installed, because I was supposed to have each version of the JDK for working with legacy code. I asked my boss what the problem might be, and he suggested that it might be getting confused somehow by all the different versions. You would think that with no less than seven versions to choose from, it might pick something and go with it instead of throwing up its hands and saying “I couldn’t find anything!”, but what do I know, right? So I uninstalled all versions of the JDK except 1.6, which is the version BIRT is compatible with. That didn’t work, so then I uninstalled and re-installed that version, performed some arcane magic of questionable utility on the Windows path variables, and restarted my computer. When I tried to start the program again, the message went away–and was replaced by this one:
I was reluctant to bother my boss again, so after dutifully Googling the problem I was able to ascertain that it had something to do with a conflict between the bitness of the Eclipse program I was trying to run and my JVM–all of which would have been incomprehensible to me if it weren’t for the fact that I spent four years of my life studying computer science. Business user-friendly, this ain’t. Even worse, the solution to the problem involved specifying the path name of a compatible JDK at the command line (or hand-writing a .bat file to do the same thing), and that was a little more than I wanted to handle at the moment, so I gave open-source BIRT up for a lost cause and moved on to Actuate’s commercial offerings.
I started with the “BIRT iServer Evaluation Package”, because it had the words “installer” on the download button and that sounded like a nice change to me. And y’know, for the first half-dozen steps of the setup phase, it was–then came the other twelve steps. By the end of it, I was blowing through settings, typing in “password” for passwords, and clicking “next” without really reading what was happening–just let me use the product, already! So once setup had finished, all the screens were behind me, and the product had stopped nagging me for information–I couldn’t figure out how to run it. That’s right, I had no idea how to run what I’d just installed. Oh, there were program files–in two completely different places–but neither one of them contained an application I could run. I also had two desktop shortcuts–neither of which worked. When I restarted my browser the shortcuts worked, but then my password to log on to the server didn’t. So much for trying out BIRT iServer.
Fortunately, the other product they had for download–“Actuate BIRT Designer Professional”–also came as an installer instead of a .zip file, so I was confident that the problems I encountered with the open-source version of the designer would be nothing but a distant memory. So naturally, the first thing that pops up when I try to run the program is my old friend JNI:
The next thing I notice is that there is a .bat file sitting right next to the program I tried to run. It has the same name–eclipse–so I open it up to see what it is. Turns out it’s a command-line call to the eclipse program (that I just tried to run), with an argument that points to a compatible version of the JVM, which happens to be in a folder that was installed by Actuate. So, they know exactly where a compatible JVM is, and they also know that people might have trouble using their product without it, but instead of making their program default to using a JVM that they knew would work, they let the users’ attempts to run the program fail mysteriously and put in an anonymous .bat file with a generic logo to fix the problem, because clicking that instead is just so obvious.
(It was around this time that I noticed my computer was running unusually slowly–I was worried that I may have accidentally contracted some sort of malware in my attempts to download Actuate’s products. That’s not what happened, but I’ll get back to that later.)
So here I am, I’m near the end of my third day of trying to evaluate this damn software, and I finally, finally get to actually run their program…only to discover that their program is a meticulously unusable, feature-riddled mess of the worst kinds of software bureaucracy. Nearly every task, no matter how basic, was buried under so much programmatic red tape that it took me half an hour to figure out how to make a simple table, and nearly twice that long again to make my first chart. I probably would have had an easier time of things if I had used the included tutorial–but unfortunately, I couldn’t (I got a “topic not found” error every time I tried). As if that weren’t enough, it took almost half a minute to generate the report each time I wanted to see it–which was often, because the charts in the report would preview only the first five rows or so of data (if any) and the so-called “What You See Is What You Get” editor won’t display some elements of the report at all (such as an automatically-generated date stamp at the bottom of each page)–you just have to remember that they’re there.
In an attempt to figure out how to do more interesting things with the program, I braved the website again and trawled for more instructional videos. I did eventually manage to find some demo videos that actually demonstrated some of the program’s features–so that meant I was saved, right? No more confusion, right? No, of course not. The videos demonstrated the program, all right, but I couldn’t tell what was going on because there was no sound. I don’t mean that the sound wasn’t working–that still would have been frustrating, but at least it would have been understandable–I mean that there was no sound when the videos were recorded. No narration. No explication. They didn’t even extend the courtesy of a few simple captions or an introductory slide. Again, I tried looking for written documentation instead, this time by digging into some of the emails I had received and following the links they provided. The wiki I was led to was much more informative and helpful–when its content wasn’t misleading, absent, or broken–but only covered the most basic features of each program before diving into details that would take extensive programming knowledge and practice with the Actuate engine to fully understand. The few features I could understand required steps so obscure and convoluted I was certain I never would have figured them out on my own if I had been at it for months–which means that if I really wanted to learn the program, I would have to have training, which I would have to pay for. So much for open-source BIRT not costing anything.
The whole time I was trying to figure BIRT out, I was also trying to figure out why my computer was running so slowly–and I finally realized what the problem was when I saw that my computer was somehow using nearly 90% of its memory! After some extensive digging through the task manager, I found the biggest culprits: a couple of mysterious background processes named jencycsrvr11.exe and intsrvr11.exe that, between the two of them, were taking up close to 400 MB of RAM.
Imagine my surprise when, after searching Google for the names of the culprits, the only hit I came up with was for a BIRT forum question! That’s right, my computer’s slow speed was BIRT’s fault. Why? Well, it turns out that when you install iServer, it automatically sets up your local machine as the host server to use for the functionality the package supports. Together, all these server processes (which, by default, start at login and run invisibly in the background) were taking up anywhere from 500 to 700 MB of memory! Now, I’m sure that on a dedicated server that would be a pittance, but on my more modest desktop machine it’s over a quarter of all my memory. At times, my machine was nearly unusable because of how long it took to switch between applications, or even between tabs in my browser. The moment I uninstalled iServer, memory usage jumped back to a reasonable level and my computer’s performance improved dramatically. This all may seem kind of obvious–duh, if you try to make your computer a server it’ll eat up memory–and it is. The thing is, I didn’t know I was making my computer a server. Actuate assumed I knew what I was doing, and what their product was doing, before I had ever gotten a chance to use it.
This wasn’t the first time Actuate had assumed I could read their minds; indeed, my entire experience with them–from finding their website to researching their products to installing and using their programs–was frustrated at every turn by exactly this kind of thoughtless design. Here’s a particularly maddening example, from one of their “instructional” videos:
See those initials at the top of the table? They stand for the names of different vendors. Because it doesn’t say on the slide which initial stands for which vendor, it would make sense for the presenter to tell us, right? And then remind us periodically by using their names in-context, right? Particularly if this comparison were longer than a single slide, or if it went on for more than a couple of minutes. In fact, this comparison goes on for more than six slides, with each slide lasting several minutes–so naturally, the presenter here tells us what the initials stand for, to make sure we understand what he’s talking about, right? Wrong: he not only ignores the issue, he makes the people watching feel like fools for even thinking it’s an issue in the first place. His words are (and I quote): “You should be able to figure out which vendors I’m talking about as I use their initials here.” Thanks, Captain Presumption! That’s real helpful!
Actuate’s software sucks, and trying to use it was a pain in the ass. So, how can you avoid my fate? Is there an alternative to the madness that is BIRT? Of course there is. As far as I can tell, Windward’s own products offer nearly all the same functionality, and with a hell of a lot less hassle. Actuate’s products don’t even seem to be standalone BI tools at all so much as platforms on which you can develop your own BI applications–their target demographic is not business users, that’s for certain. So it’s possible that Actuate is stronger from a developer’s perspective, and that iServer has some ohmygoshfantastic features that you justhavetohaveohmygosh–but I wouldn’t know, because I couldn’t figure them out. Considering my bachelor’s degree in computer science, that seems like a pretty significant drawback.
If you really want more information on BIRT (and Actuate’s other offerings), you can visit their website–good luck.
Here’s one video I managed to find that’s actually instructive and helpful–unfortunately, that raven cawing in the background makes me break into giggles every time I try to watch it.
If you’d like a stream-of-consciousness version of this rant, I’ve transcribed my notes for your perusal.