In the last months we've received several questions of customers and partners about using MindPlan on the Mac platform.
Two weeks ago I bought a Mac mini (1,83 GHz Intel Core Duo, 1 GB RAM) for my personal use. It's my first Mac - and I really like its handling and design. So now I'm one of the people that want MindPlan for Mac. :-)
Today I would like to discuss the problems that need to be solved in order to get MindPlan running on Mac OS X.
Problem 1: Native code calls to Windows API
Our application is written in Java, but uses some native code to access the Windows API (via JNI, the Java Native Interface), e.g. for window switching between MindPlan and the Notes client, system tray integration or the MindPlan splash screen.
Solution 1: We could rewrite these platform calls for the Mac OS X or provide platform independent workarounds. Since there are only a few calls, this would not be a big deal.
Problem 2: No java native code compiler for Mac OS X
Our MindPlan application is compiled with the Excelsior JET compiler, which converts Java byte code into platform dependent native code. This compiler improves the application performance and memory management compared to a standard Java application running in the JVM. But it is currently not available for Mac OS X, only for Windows and Linux.
Solution 2: It is possible to run MindPlan without the compiler. It's a bit slower and you'll need to define a maximum amout of RAM available for the application (maximum heap size), but it would work.
Problem 3: Missing Java support in Mac Notes client
This is a hard one... MindPlan uses the Java API of Lotus Notes for data storage. The Mac Notes client does not support Java agents. The Java API is also missing.
Solution 3: Use Windows. ;-)
Ok, not a real solution unless you already have some kind of virtual machine software running on the Mac. Today I tried the latest release candidate of the Parallels virtual machine (RC2) which has a cool feature named "Coherence" that integrates "Windows windows" (great word ;-) ) directly into the Mac dock.
So here's how it looks like:
The picture shows MindPlan R2.1 build 14 running in Mac OS X on Parallels virtual machine
A Lotus Notes client 7.0.2 is also installed in the virtual machine. There are still some problems with the current build. When launching MindPlan, the mindplan.exe starter seems to run mpui.exe (the actual application) twice, so one instance just produces an error message and exists. The dock symbol for mpui.exe is also missing and the keys for opening a node's document should be modified (F11/F12 are used by the OS).
But the performance was really great on the machine! I would have thought the virtual machine would consume more performance. We'll take a look at the bugs to improve the compatibility for the Mac platform, but a native MindPlan application would of course be a lot better.
There is some hope that the Java API support will be included into the Mac Notes client R8, since the Expeditor framework is also written in Java and needs a way to access the Notes R8 plugin on its own.