Why We Hate ProM 6

[UPDATE / DISCLAIMER: It may be lost on the quick reader that the title of this post, as most of the content itself, is written very much in jest. To avoid misunderstanding, I want to point out that the title is a play on the phrase “Why do you hate America so much?”, a rhetorical question, asked in an ironic sense. Of course we don’t hate ProM 6, far from it. ProM 6 is definitely the future, and for many the future is already here. But, alas, not for all, and that is what this post is about.]

You may have heard that, last Thursday, ProM 6, the latest version of the popular open-source framework for process mining has been officially released. ProM 6 has been a long time in the making, and we are glad that, after the BPM 2010 pre-release, it is now officially available.

So, with ProM 6 now finally out of the closet and all you may be wondering: Why on earth are we still featuring ProM 5.2 in all our tutorials and blog posts? After all, it has been more than a year since ProM 5.2 had been released, so it must be pretty stale now, right?

Earlier this week, Joos Buijs wrote an article on his blog, asking this precise question1.

So, I wondered, why explain new users how ProM 5 works? Shouldn’t you point them to ProM 6? Let them use the newest process mining tool, the state-of-the-art, with all its improvements. I’m not saying that ProM 5 is bad, of course not, but ProM 6 is better. Or is it?

This is in fact an excellent question, and we’re more than happy that Joos has triggered us to give our opinion2. Not only do we focus on ProM 5.2 on our blog, but we also recommend it to most of our clients, and we even use it for most of our own consulting work. So, to borrow a phrase, why do we hate ProM 6 so much?

Good work if you can get it

As mentioned above3, ProM 6 is pretty, pretty new to the party. It was officially released only a few days ago, and before it was only available in the form of “nightly builds“, which not only sound scary but are also quite difficult to peruse for the average user.

The official release comes with an installer for Windows users, which should make it a lot easier for them to get it up and running. But there is still no customized version for Mac users. A significant portion of our audience use Macs, though, and those pesky Mac users generally don’t like shell scripts, or clicking on obscure .jar files, for starting up a GUI tool, as they are currently required to for ProM 6.

Granted, for power-users all of the above are most likely non-issues, and I am convinced that the ProM team will fix these issues pretty soon. But still, for a significant portion of ProM users, ProM 6 is simply a no-go at this point in time.

The bleeding edge will cut you

The most important reason that we cannot recommend ProM 6 to most users at this point is that it is still more than a little rough around the edges. A lot of excellent people have been working on this code for more than two years now, but bugs are still found and fixed, and they will bite.

The reason for this is obvious for anyone who knows that ProM 6 is not just the “next version” after 5.2, it is a complete redesign of the framework. ProM 5.2 is just the last in a series of iterations over more than six year old code. It has had countless people look over it, apply it in industrial projects and university courses, and fix loads of bugs along the way. ProM 6 does not have that benefit, and thus it is still more error prone than its predecessor.

Look Ma, no conformance checker

Since the ProM 6 framework has been completely redesigned, this means that also all plugins have to be rewritten to work with the new framework. In theory, this is a very Good Thing™, since it forces plugin authors to rethink their approaches and, maybe, deliver an improved version of their plugin, re-engineered from scratch.

In practice, however, the situation is more dire at this point. A lot of plugins from ProM 5.2, which people have grown accustomed to, and which they have relied upon, are missing at this point. Examples are the performance analysis for Petri nets plugin, and the conformance checker. Many people will be perfectly happy without these plugins, but for others, it’s simply a deal-breaker for now.

Other plugins have been ported to ProM 6 but, shall we say, with varying levels of success. The last thing I want to do here is to start pointing fingers, but the quality and usability of some essential plugins has noticeably declined. For other plugins, the new plugin model of ProM 6, while being a great innovation for non-GUI use cases, poses a challenge UI-wise, which is passed on to the user. For example, the user now has the luxury of choosing between five different versions of the Social Network miner. Anyone familiar with the “Paradox of Choice” will notice a problem with that approach.

Some people don’t have grids

Joos rightfully points to a lot of improvements in ProM 6, which are simply impossible to get in previous versions. However, for many of these improvements the average user would be hard-pressed to see the mileage he may get out of them.

Separating the maintenance of plugins from the framework is an example for a feature that is important to developers, but typical users couldn’t care less. In the long run, this means that users won’t have to wait for new ProM releases to use the latest features of their favorite plugins. Right now, most users are probably content if they understand the current feature set.

Another feature of ProM 6 is that the user interface is completely decoupled from the actual framework and plugin code. This means, you can now run ProM without a graphical user interface, which is useful for batch processing4, or for running distributed process mining algorithms on a computation grid. The sad truth is, though, that people using process mining in practice don’t run scientific experiments (for which batch processing is great). Also, last time I checked, there are still very few computation grids outside of universities. So you can’t really blame most people for not caring about this feature.

Other features newly introduced in ProM 6 are indeed awesome, and I would mention XES support as one of those. One of the most useful benefits of XES, in my opinion, are classifiers, which allow people to easily analyze a log from a variety of perspectives, without having to convert the log multiple times. However, while ProM 6 fully supports the XES standard5, most plugins don’t. Try to find one discovery plugin which lets you choose the classifier used for constructing its model — I couldn’t find a single one in the current ProM 6 distribution.

It’s not bad — It’s too early

You may be wondering, as Joos did, why we at Fluxicon have contributed significantly to ProM 6 — We have developed major parts of the OpenXES library, which is used to load and manage event logs, and the UITopia graphical user interface which is the current default for ProM 6 — and are still that critical about it. Are we hypocrites, or hopeless conservatives who want that newfangled six thing to get off our lawn?

Of course, neither of the above is true. We fully support the development of ProM 6 and the transition to that new architecture which has recently started to take shape. However, the truth is, things take time. And with a redesign as fundamental as has been undertaken with ProM 6, this is even more true. We are convinced that ProM 6 will, sooner rather than later, offer a truly better alternative to previous versions, and we will start recommending and introducing it when we feel that time has come.

For some readers, that time may actually be right now. If you are not afraid to hit the occasional bug and comfortable with software that is maybe a little rough around the edges, by all means, download ProM 6 and give it a spin! Early adopters are the perfect audience for ProM 6 right now, and experimenting with it gives you a glimpse of the future of process mining.

And of course, it should be obvious to anyone doing process mining research, that ProM 6 is the platform that you should use to develop new plugins. Not only does it make things vastly easier from a development perspective, it is also pretty clear that ProM 5.2 will be the last release of the pre-6 codebase. You don’t want to target a dead platform, do you?

If you want to use process mining for solving a real problem that you are having right now, though, ProM 5.2 is still the safer bet. And while ProM 6 is certainly more advanced, in our opinion ProM 5.2 is currently the sweet spot between capability and usability, superior even to most commercial offerings out there.

Where do we go from here?

The future will show what ProM 6 will become. At this point in time, it looks like the focus is squarely on furthering process mining research into more experimental territory6 — and that is a great thing! The role of academia is not to provide free software for today’s practitioners, but to advance the state of the art and give us a glimpse into tomorrow.

As more academic case studies will be performed using ProM 6, many plugins will become battle-hardened when coming in contact with real data. This evolution will most certainly yield a set of plugins which may well make ProM 6 an excellent choice for practical process mining projects.

But that time is not now. And, despite all its shortcomings and obvious flaws, if your goal is to solve your problems right here, right now, our general recommendation stands: Just take Five (dot two).

  1. I would encourage you to read Joos’ complete article, as he raises a lot of valid and important points. 
  2. Well, from the text of his post, it seems that Joos would have preferred Anne to answer this question. But, hey, let an old man also write a blog post once in a while, will ya… 🙂  
  3. And also pointed out by Michael Westergaard in the comments on Joos’ blog
  4. When running large sets of experiments. 
  5. ProM 6 probably has the most complete and standards-compliant XES support of all process mining tools at this point. 
  6. For example, many plugins and uses of ProM 6, like operational decision support, are way beyond the traditional notion of process mining