NeoOffice
Volume Number: 20 (2004)
Issue Number: 12
Column Tag: Programming
NeoOffice
J Walks Into Aqualand
by Dean Shavit
The Office Wars
When David Sobsey, Editor for the new MacTech, first contacted me about writing for this
magazine, he pointed me at a link to the MacTech Writer's kit, a Microsoft Word template and set of
style sheets to properly format my articles for import into QuarkXpress. Being the open-source nut I
am, I immediately began scrambling for something other than Microsoft Word to write the article. So,
I turned to my favorite Microsoft Office alternative, NeoOffice/J. To understand NeoOffice/J, it's
helpful to rehash a bit of the old word processing wars, which some would argue are still fomenting,
but which really ended (at least on the Mac front) in 1998, with the release of Microsoft Office 98.
The first word processor to make it to the the PowerPC architecture was WordPerfect 3.5 for
Macintosh, which some would still argue is the very best Mac word processor ever. In the end, it was
given away as a free download by Corel, then mothballed for the ages. WordPerfect was fast, stable,
and made sense, without the heavy interface and awful sluggishness of its chief rival, Microsoft
Word 6, then part of Office 4.2. It's still possible to find free downloads of WordPerfect 3.5 on
the Internet; and it's still a pleasure, even in Classic under OS X--still perfect! Eventually, Word
6 and Office 4.2 made it to the Mac as a PowerPC native application, but by then, the damage had
been done--Microsoft Word was forever (somewhat unfairly, especially with the decent, if sometimes
unstable, releases of Office 98 through 2004 ) tagged as a lumbering, bloated, behemoth of a word
processor, somewhat forced down Mac users' throats as a standard rooted in the "one of us" mentality
necessitated by the need for Windows compatibility.
So, Mac users have reluctantly used Microsoft Word and Microsoft Office over the years (some even
sticking with the venerable and venerated Word 5.1), with grudging respect paid to the Mac BU
(Microsoft Mac Business Unit) for its continued support of the Mac portion of its office empire.
That didn't mean that Mac Users didn't look for alternatives, though. AppleWorks, Mariner
Write/Calc, and ThinkFree Office all had their shots at Microsoft Office, though none of them did a
very good job at the compatibility portion, which limited their successes. After all, an Excel
spreadsheet with Macros that don't work or broken links isn't a very good substitute for the real
thing, nor a Word document with missing headers, graphics or scrambled formatting, not to overlook
that until Apple released Keynote, there wasn't a good PowerPoint compatible substitute of a
presentation program, even in the glimmer of the most hardcore anti-Microsoft Mac user's eye.
Sun Buys In
Sun Microsystems, in the desire to compete in the Office Wars (along with the likes of Perfect
Office and Lotus SmartSuite) bought the rights to StarOffice (also known as StarSuite) from the
German developer StarDivision in 1999 at a cost of 73.5 million dollars, and it wasn't long before
Sun was offering free downloads of StarOffice 5.2 for individual use. In a similar move to
Netscape's spawning of the Mozilla Project and Foundation, Sun gifted the code base to establish the
OpenOffice Project under the LGPL (Lesser GNU Public
License--http://www.gnu.org/copyleft/lesser.txt) under which Sun and the open-source community work
together to develop Sun's Commercial StarOffice and the LGPL OpenOffice. When Sun is readying a new
release of StarOffice, it takes a code snapshot of the OpenOffice project and adds its own
proprietary components which include:
- UNICODE TrueType fonts containing bitmaps for better visibility at smaller font sizes
- Adabas
B database
- More document templates
- A Gallery of clip art
- Some sorting functionality for
Asian localized version of StarOffice
- Import filters for older word processors
Presently, StarOffice costs $54.60 for a download version, and a subscription model's been
available since the beginning of the year in Japan for $19 per year. StarOffice 7 isn't the
Microsoft Office killer Sun had hoped for, though StarOffice 8 shows some promise with its nine
million lines of C++, but it's solidly stuck competing for second fiddle with WordPerfect Office at
this point in time. StarOffice comes with an update plan and support for purchasers, and runs on
Windows, Linux, Solaris, but not OS X.
X On X
With the release of OS X 10.1 in 2001, all of us early adopters exhaled a relieved sigh of
beta-breath and began the business of going about our daily business using OS X. Some of us wannabe
geeks found the Fink project (http://fink.sourceforge.net) and started having some fun with X
Windows and Linux program on OS X. These days before the advent of Apple's X Windows application
were fun and full of pioneering spirit--choosing your window manager, for instance, whether
AfterStep, Oroborus, TWM, Window Maker and OroborusOSX to use with XDarwin, the predecessor to
Apple's X Windows (there are still instructions on how to use XDarwin bundled with OpenOffice 1.1.2)
always made for a fun night of tweaking. In November of 2001, my business partner and I gave our
first presentation on open source entitled "X on X" at the Apple Market Center in Chicago, which
eventually evolved into our staple "Free to Run Your Business." Attendees at the Apple Market Center
asked about the availability of OpenOffice for X11, but it wasn't until late 2002 that stable builds
of OpenOffice beta versions were available, with the first GM (golden master) port of OpenOffice for
OS X appearing in early 2003, and the official release of OpenOffice for X11 on OS X coming on June
23, 2003.
My initial tests of OpenOffice began months before the June 23, 2003 release. I made a concerted
effort to move most of my day to day work over to OpenOffice Writer but found myself continually
frustrated by the lack of drag-and-drop, the paragraph styles window pinned inside the main window
ala' Windows 3.1, having to use control+C to copy instead of command+C, the out-of-place menu bar at
the top of the window, the creepy feeling that I needed to buy a three-button mouse, not to mention
the insufferable X Windows fonts that substituted themselves for the Microsoft Office fonts. Later
iterations of OpenOffice incorporated the fondu command-line tool which imported fonts from OS X,
sometimes with horrendous results.
As a matter of fact, it was the font-mangling of a training manual I was writing that estranged
me from OpenOffice for a nearly a year, consigning me back to using the
save-often-in-case-it-unexpectedly-quits Microsoft Word X. Basically, OpenOffice was un-Mac-like,
and I couldn't image any user except for the most tech-savvy tolerating X Windows and a UI that
looked like a Windows 2000 knockoff in place of a "true" Mac word processor. I had installed it on
several clients' Macs who didn't want to fork over the dough for Microsoft Office, but each quickly
rejected it (mostly because accidentally clicking the close box in the corner of the Window would
instantly quit the program without even prompting to save changes); I even considered using
OpenOffice as somewhat of ploy to get clients to open their wallets and bite the Office bullet. Even
more perplexing was the appearance of an OpenOffice CD in a retail box on the shelves of the North
Michigan Avenue Flagship Apple Store in Chicago early this summer which left me wondering who would
buy OpenOffice, and even more so, who would keep it and not return it, as if it would be a
satisfactory substitute for even the likes of AppleWorks for the casual user. Any X11-savvy user
would obviously be able to download it and install it themselves, so I naturally wondered who was
the target buyer. Out of sheer curiosity, I almost bought one of the yellow boxes to see exactly
what could justify the $29 sale price--hopefully someone to call for installation help, at the very
least, along with a decent manual, even though I knew from hefting the box, that that manual wasn't
in paper form.
OpenOffice 1.0
with Prisoner Paragraph Styles Window
NeoOffice Breaks Away
Right at about the same time the first beta builds of OpenOffice for OS X and X11 were showing up
at OpenOffice.org, a group of developers established the NeoOffice project. This, taken from the FAQ
at NeoOffice.org, explains the branching off from the OpenOffice project.
NeoOffice is simply a planning tool to help guide the OpenOffice.org Mac OS X porting community
along. It is a quick hack and not engineered for long-term maintainability. We have already learned
enough about the QuickDraw+Cocoa+Carbon brew used by NeoOffice to know it is unstable and requires a
fragile, convoluted infrastructure to be functional, and in parts relying on undocumented behavior
and AppKit interfaces. . . .These changes are not suitable for OpenOffice.org which needs to be
stable codewise and have a strong enough engineering foundation to last for the next 10 years.
NeoOffice is simply a planning tool to help guide the OpenOffice.org Mac OS X porting community
along. It is a quick hack and not engineered for long-term maintainability. We have already learned
enough about the QuickDraw+Cocoa+Carbon brew used by NeoOffice to know it is unstable and requires a
fragile, convoluted infrastructure to be functional, and in parts relying on undocumented behavior
and AppKit interfaces. . . .These changes are not suitable for OpenOffice.org which needs to be
stable codewise and have a strong enough engineering foundation to last for the next 10 years.
NeoOffice/J Logo
Paralleling the efforts of the NeoOffice team to bring OpenOffice out of the X Windows world and
into the land of Aqua, was Apple's plan to enhance the OS X Developer Tools (XCode) to support
porting more UNIX and Linux applications to OS X in the next major release--Panther. All along, the
challenge in porting OpenOffice to run natively in Aqua was twofold. First, the NeoOffice team had
to replace the VCL graphics used in OpenOffice with either Carbon or Aqua interface elements.
Second, there was the challenge of the bringing over the interface widgets and elements from X11 to
Aqua. This proved to be no easy task, as Apple's Developer tools had little facility for translating
interface elements from one GUI to another. All that changed with the release of XCode and Panther.
One Man's Vision
A couple of years ago there were some pretty exciting rumors that Apple would invest resources
into a joint OpenOffice project with Sun Microsystems to bring it to OS X as an Aqua Application and
a freely bundled alternative to Microsoft Office. Looking at the progress of OpenOffice and OS X,
it's now evident that if such a project exists, it's kept under close wraps.
Evidently, rumors weren't good enough for one software engineer named Patrick Luby. Patrick, or
pluby, (or "the Architect") as he's known on the Trinity BBS (the on line bulletin board for the
NeoOffice Project, http://trinity.neooffice.org), had spent much of his professional career at Sun
Microsystems porting the StarOffice source for the Mac OS X OpenOffice project, as well as work on
the Java Web Services Developer Pack (JWSDP). Since 2002, Luby has been the chief engineer at
Planamesa Software, host of the NeoOffice project, a one-man consulting company run our of his home,
where he consults on Apache Tomcat and Java 2 Platform, Enterprise Edition (J2EE). On June 20th,
2003, NeoOffice/J was launched with the following message:
Say hello to NeoOffice/J! NeoOffice/J is a prototyping project that, like NeoOffice, aims to mate
OpenOffice.org and Mac OS X without the need for X11. Through achieving tighter integration with the
underlying operating system, it should be possible to provide better native font support and links
to Services and Mail! Check it out, and now all you Java specialists, you have no excuse for not
jumping on the bandwagon and pushing us to the finish line!
On July 21, 2003, NeoOffice/J 0.0.1 was released to absolute silence. It wasn't until NeoOffice/J
0.8, released in January 2004, that certain people, including myself, began to take notice. I wrote
an article entitled "Office Suites for OS X: A Mac Survival Guide" published on
http://www.themachelpdesk.com that coincided with the release of Microsoft Office 2004, which, while
grudging thanking Microsoft for its updated and slick Office suite, also speculated on the "what if"
scenario of Microsoft dropping Office for the Macintosh altogether, and where that would leave Mac
users. I concluded that NeoOffice/J was the only truly viable alternative for the "real thing."
Billed as "stable enough for everyday use," I gave NeoOffice/J 0.8 a workout and found it to be
every bit as compatible with Microsoft Office as OpenOffice, with additional enhancements such as
the ability to access OS X fonts without using fondu to convert them during the installation
process, and allowing the standard command key shortcuts instead of the control key shortcuts that
OpenOffice required. Of course, running without X Windows was refreshing, even though the menus
still remained pinned to the top of the main NeoOffice/J window, and the paragraph styles window
remained imprisoned as a daughter window. Other features included the ability to cut and paste
between NeoOffice/J and OS X applications. Unfortunately, NeoOffice/J still doesn't support mice
with scroll wheels. Yet.
Version 1.1 of NeoOffice/J included the source code from OpenOffice 1.1, and brought additional
features such as the ability to email a document directly, and freed the Paragraph Styles window
from its daughter status to a separate window outside the main window. Further patches ensued, and
by September 16, 2004, NeoOffice/J had made it up to version 1.1 Alpha 2, which was so good, I
decided to demo it to a large client that was considering OpenOffice for all of its Windows users,
in early October. The client was astounded, but did acknowledge that the interface appeared
"foreign" to Macintosh users, and in some usability and stress testing with selected users, it fell
short due to just that problem. My response to the client was to "wait a little," as the development
of NeoOffice/J seemed to be accelerating.
NeoOffice/J with X
Windows-Style Menus
Into Aqualand
So, based on the conclusion of user testing, and a pressing need to upgrade to OS X for multiple
reasons, my client decided to go with a purchase of Microsoft Office 2004 for its 200 users, mostly
graphic designers who had little use for Office other than for light word processing. Total cost of
the Microsoft Office upgrades: nearly $30,000. It was a bit of a blow to myself and to the client,
all things considered, I'd hoped to place NeoOffice/J at a site to see it in day to day production,
and since the OS X Finder sees it as a single file, it's a drag and drop install, which can easily
be updated via Apple Remote Desktop, login hooks (scripts) or some other form of file system
management tool.
A couple of weeks went by, and in the planning process, the subject of NeoOffice/J came up again,
in the context of "I wish it were ready." So, just to make sure, I double-checked the Trinity BBS.
Lo and behold, there it was, the "NeoOffice/J Aqua menu patch" ready for downloading and testing,
along with the disclaimer:
It may be buggy and it may either crash or hang Neo/J. But if you would like to test the new Aqua
menus, download instructions for the Aqua menu patch are available in the NeoJ Testing forum. Since
this code has not yet been fully tested, I do not recommend that you install the Aqua menu patch if
you are using NeoJ for critical work. If you are doing critical work, I recommend that install the
latest NeoJ 1.1 Alpha 2 non-Aqua menu patch from the NeoOffice/J download site.
NeoOffice/J with
the Aqua Menus Patch
Paragraph Styles
Freed from their "Parent" Window
NeoOffice/J
Spreadsheet with Aqua Menus
NeoOffice/J Vcard
Interfaces
A Peek Inside
NeoOffice/J
Duly warned, I tested the Aqua menus patch. Not only did the patch bring the NeoOffice/J menu
bar to its rightful place at the top of the screen, but it also brought each individual open
document into its own separate window, which would prompt for a save if the user clicked on the red
close widget. Ed Peterlin, one of the original founders of the NeoOffice project is the author of
the Aqua Menus patch, using his experience from "Flaming Yeti" and "Incendiary Goblin." As far as
hanging or crashing, I experienced none, except for a known bug which causes the print dialog to
lockup NeoOffice/J if the user attempts to switch printers (that should be fixed really soon) and
have yet to experience one hiccup (aside from a PowerPoint presentation laden with complex
animations) when testing across several hardware configurations and versions of OS X 10.3. As I
write this, my client is deliberating on when, not if, to deploy NeoOffice/J. Although the
"official" OpenOffice.org timetables states that the aquafication effort will begin with OpenOffice
2.0, current OpenOffice 2.0 development code is still rooted in Xwindows (it be might be quite some
time before it runs on OS X as a native application), so it's absolutely wonderful to see the
NeoOffice team jaywalk off the established development path to bring it to Aqua early.
The finish line's in sight. Should NeoOffice/J ever come to a point where it's considered "done,"
(In my opinion it's pretty much there right now), it would be the single greatest win for
Open-Source development on OS X, ever, even Apple's own Safari non withstanding. As a matter of
fact, I'll go out on a limb and say that NeoOffice/J is perhaps the single greatest hope that OS X
has right now to be rid of dependence on Microsoft for schools, corporations, and individual users
who don't want to pay through the nose to be compatible with the rest of the world. With
NeoOffice/J, Apple's Open-Source strategy and Developer Tools have paid off. Big Time.
Having seen Patrick Luby and the NeoOffice/J team bring the OpenOffice source code to a viable
and adoptable point, the question that presents itself is quite logical. If OpenOffice, which has an
interface as complex as any X Windows application can be brought to OS X via Java interface
elements, does that mean that the same techniques could be applied to other X Windows applications
such as GIMP (the GNU Image Manipulation Program), or the KDE Application suite, or the Ethereal
network sniffer? With improvements to Java in OS X and the XCode tools, this could be shortest,
best, and fastest path to aquafication. As a matter of fact, I recently gave the beta of the Novell
Group wise cross-platform client for OS X a spin, and it uses similar Java wrappers for running in
Aqua without X Windows. And quite frankly, even though it works, it's sluggish, crashes a lot,
doesn't support drag and drop, and has dialog boxes that look like stock a Java app. Groupwise
hasn't had a decent client for the Mac since 1997, and its survival in businesses with many Mac
users is in doubt, despite its numerous advantages over Microsoft Exchange (22 gig inbox, any takers
in the Exchange world?), and the cross-platform client doesn't hold out a whole lot of hope for Mac
users, no matter how much tweaking's done.
Given Novell's recent purchase of Ximian Evolution, perhaps the best email client for X Windows
ever written, it's quite possible that we might see Evolution 2.0, with its now freely available
Microsoft Exchange connector, ported using the same Java interface techniques. Should Novell be
looking for a good partner in this effort, I can wholeheartedly recommend Planamesa Software and
the NeoOffice/J development team, and their leader, Patrick, who's good at what he does, really
really good.
Dean Shavit is an ACSA (Apple Certified System Administrator) who leads training
sessions and manages consulting projects for MOST (Mac OS Training & Consulting) in Chicago. If you
have questions or feedback you can contact him at dean@macworkshops.com.