To learn what it takes to wean a CAD program away from Windows, I visited two software companies who are nearly finished with the process. Bricsys of Belgium and Graebert of Germany will be releasing their CAD programs for Linux and Macintosh within the next 6-24 months. I found it fascinating that both followed a nearly identical deweaning process, completely independent of each other.
Step 1
Rewrite all portions of the source code that depend on Microsoft APIs. Bricsys used wxWidgets, while Graebert used Qt. This rewrite takes 1.5-4 years, and affects 95-98% of the code.
Step 2
Customize the program for each of the three operating systems. The remaining 2-5% of code is OS-specific, such as the user interface, file operations, and device communications.
At this point, the programming problems that remains differ:
- Linux users are unconcerned with the user interface, so the Windows GUI does not need to change much. Problems specific to Linux include deciding on the installers, and interfacing with printers.
- Mac users are obsessed with the user interface, so the GUI needs an extensive rewrite. The particular problem is in getting the Mac mouse to handle CAD operations. (Installers and printer interfaces present no problem.)
Step 3
Alpha and beta test, and then ship. In this step, the two companies took different approaches:
Bricsys is concentrating on shipping the Linux version first, because it already has customers demanding it; development of the Mac version will begin after Bricscad/Linux ships early next year.
Graebert is developing all three versions of their new Ares CAD software at the same time: the Windows version this summer, with the Linux and Mac versions later in the year.
- - -
I suppress a chuckle watching this seachange in operating system support. In the early 1990s, many CAD programs ran on many operating systems -- DOS (predecessor to Windows), varieties of Unix (father to Linux) and in some cases, Macintosh, Atari, and other minor segments.
Then, CAD vendors poured expensive resources into converting their programs to Windows, which at the time was dead-slow for running programs as compute-intensive as computer-aided design.
Today, CAD vendors are repouring expensive resources to undo their actions of fifteen years ago.
Although MindManager is a simple application in comparison to CAD/BIM) and had a modern code and document structure this tale of their Windows/Mac evolution might be of interest.
http://developer.apple.com/business/macmarket/mindmanager.html
The Mac/Linux thing is irrelevant for me except I'd be annoyed to see development effort on the Windows versions be hindered (by diverted resource or technically)to accommodate Mac versions of the same app.
Posted by: RobiNZ | Jun 24, 2009 at 02:30 AM
Ralph, I can remember a comment by by John Walker many years ago - when AutoCAD ran on several O/S - saying it was not Autodesk's role to decide which O/S a customer should buy.
Autodesk changed that game and went of in the Windows direction - dills!
We tackled the problems Windows presented by running AutoCAD under IBM's O/S2. AutoCAD ran like greased lighting compared to windows, it allowed us to run multiple sessions and several printers at the same time and not much different to the speed of DOS.
I wonder where we would be now if Autodesk had stuck to Walker's principle and paid more attention to just how far ahead O/S2 was in comparison to MS products even now!
We also ran UNIX versions using SCO and IBM's AIX - not great experiences in either case but Autodesk must still have that code somewhere ;-)
Posted by: R. Paul Waddington | Jun 24, 2009 at 03:30 AM
Mac users are obsessed with the user interface, so the GUI needs an extensive rewrite.
The user experience yes, the user interface, no (many people still happily prefer Carbon apps over their Windows counterparts). And Microsoft has been playing catch-up to Mac OS X on the technical side ever since Panther (six years ago!) came out. Not to mention the infinitely better put-together hardware.
John Gruber has had some fun over the years with the abysmally low user expectations that Microserfs have been condemned to from their poor copy of the Mac OS. The anti-Apple ragegasms from these poor condemned souls (Stockholm Syndrome?) is something to behold.
Posted by: DF | Jun 24, 2009 at 08:59 AM
Welcome back Ralph!
Any idea if Bricsys is planning to open the Beta of Bricscad to the general public? I guess not. That would be great though.
Posted by: Norm C. | Jun 25, 2009 at 03:31 PM
I chuckle too! The movement toward Microsoft-Centric CAD came with a lot of risks, performance trade-offs and arguably marginal returns in actual productivity, apart from having things on one box.
Some CAD vendors maintained their commercial UNIX development trees and because of that, they are in a much better position today.
Even there Microsoft has done it's damage though. NX on Mac can operate with Excel, but only up to version 2004 because VB for applications was removed in later versions.
And Open Office sits there, perfectly ready and able to be integrated with CAD applications at a level probably not even possible with Microsoft because it's code is open.
Ship it on the CD, bundled with the CAD, call it a value add and forever eliminate that crutch I say.
Newer generation CAD companies embraced Microsoft whole hog. The 5 steps are not like the 5 healing steps, and quite likely just as painful and therapeutic.
Posted by: Doug Dingus | Jun 29, 2009 at 03:38 PM