History of NeoOffice and OpenOffice.org: NeoOffice

From NeoWiki

Revision as of 05:54, 9 December 2007 by Sardisson (Talk | contribs)
Jump to: navigation, search

This overview and history consists of several pages. Click on the links in the box to the right to move to the previous or next section.

Contents

Neolithic Office for Java™ (NeoOffice®/J and NeoOffice®)

In June of 2003, Patrick Luby, the lead developer on Sun’s old Mac OS X port of StarOffice™, introduced what was then known as NeoOffice®/J, a second project under the NeoOffice.org umbrella (beginning with version 1.2 Alpha in November 2005, NeoOffice/J was renamed simply NeoOffice). The immediate goal of NeoOffice was to remove the need for X11 when running OpenOffice.org. Leveraging Java’s status as a “first-class citizen” for Mac OS X programming, NeoOffice features superior integration with Mac OS X. For instance, NeoOffice uses the native Mac OS X printing engine and dialogue boxes, native Mac OS X fonts, rendering and text-layout technologies, language and keyboard support (including support for East Asian and RTL/CTL languages and input methods), native copy-paste/clipboard support, double-click and drag-and-drop opening of files, support for Macintosh file aliases, and more. A large portion of the “native” Mac code is Java, but C++, C, and Objective-C code using the Cocoa and Carbon toolkits also comprise the Mac-specific code in NeoOffice.

Aquafication Begins

As NeoOffice had proved itself both stable and user-friendly with a growing following, it is considered by many of the Mac OOo developers as the best vehicle for further Mac OS X integration and the addition of a Mac “look-and-feel” to OpenOffice.org technology. Thus beginning with NeoOffice/J 1.1 Alpha 2 (September 2004; based on OpenOffice.org 1.1.2), Patrick Luby and Edward Peterlin embarked on a process of “Aquafication” of the then-NeoOffice/J. The first step was the replacement of X11/Windows-style in-window menus with a native Aqua menubar; buttons, scrollbars and other Aqua interface elements are expected to be added in the coming months.

Alpha 2 also added mouse scroll-wheel support, text drag-and-drop (within NeoOffice itself only), WordPerfect file import using the libwpd and WriterPerfect libraries (libwpd.sf.net), patches delivered via the Apple Installer, and patch update notification. NeoOffice/J 1.1 Beta (December 2004; based on OpenOffice.org 1.1.3) featured new Finder application and document icons, a new splash screen, and language packs providing localized user interfaces for 40 languages. NeoOffice/J 1.1 Release Candidate (March 2005; based on OpenOffice.org 1.1.4) featured many other improvements, including support for drag-and-drop between NeoOffice and other applications and additional Aquafication improvements.

NeoOffice/J 1.1

NeoOffice/J 1.1, the first (and last under the name NeoOffice/J) whole-number, non-developmental release of NeoOffice/J, continued the process of Aquafication and refining the application. Released on June 22, 2005, version 1.1 was also based on OpenOffice.org 1.1.4, the latest stable codebase at the time, and included support for Mac OS X 10.4 "Tiger" as well as Spotlight indexing via NeoLight. The "grey window" and "open document" hacks were finally banished as NeoOffice could finally remain open after the last window was closed. New "quickstart" items in the NeoOffice menu and the Dock menu allowed for creation and opening of documents when no other windows were present. Version 1.1 also began to use colors specified in the System Preferences for some parts of the user interface and improved support for Indic and Arabic script languages. The release of NeoOffice/J 1.1 was the culmination of the year-long development cycle and set the stage for exciting future developments.

NeoOffice 1.2 and the foundations for NeoOffice on Intel

Following the release of NeoOffice/J 1.1 and Apple's June 2005 announcement of a migration to Intel-powered Macintoshes, the NeoOffice.org developers began efforts to rapidly upgrade the NeoOffice codebase for MacIntel support. Patrick Luby migrated the application from the Java 1.3.1 VM (Carbon-based) to Apple's Java 1.4.2 VM (Cocoa-based). Ed Peterlin updated the code to allow NeoOffice to build on Mac OS X 10.4 with gcc 3.3 and began work to allow the code to compile with gcc 4.0, a prerequisite for a build that will run on Intel-based Macs. James McKenzie regularly built and tested both experimental branches in their alpha stages. In September 2005, the test patches based on the Java 1.4.2 codebase were released for testing (and so ended support for Mac OS X 10.2.x, which only shipped with a very buggy Java 1.4.1 implementation). This culminated in the November 2005 release of NeoOffice 1.2 Alpha, the first version of the "NeoOffice/J branch" to carry that moniker. NeoOffice 1.2 Beta followed on January 2, 2006, and NeoOffice 1.2 was released on February 1, 2006. The last release based on the OpenOffice.org 1.1.x codeline, NeoOffice 1.2.2, debuted on March 30, 2006. NeoOffice now averages nearly 2 million downloads per year.

NeoOffice 2 and Aqua Widgets

Shortly after the release of NeoOffice 1.2 Alpha, development of NeoOffice 2.0—to be based on the OpenOffice.org 2.0.x codebase, and to eventually support PowerPC and Intel Macs—began, as the HEAD cvs tag was switched to pull the OpenOffice.org 2.0.0 code. In February 2006, the HEAD cvs tag produced the first complete build and working pre-alpha NeoOffice 2.0 application. While simultaneously maintaining and fixing bugs in NeoOffice 1.2.x, developement on the pre-alpha NeoOffice 2.0 for PPC Macs continued for several months, even spawning a working but very buggy Intel build along the way.

On April 25, 2006, NeoOffice 2.0 Alpha PowerPC became available to Early Access program subscribers. Also, beginning in early April, Ed Peterlin resumed the Native Widget Framework effort and rapidly prototyped and converted several widgets to Aqua. NeoOffice 2.0 Alpha Intel, released to Early Access Program members in June 2006, was the first version of NeoOffice to run on Intel-based Macs. Aquafication work continued during the Alpha period, and the level of Aquafication was so extensive by the time of the EAP beta release that it was officially dubbed NeoOffice 2.0 Aqua Beta. In addition to native scrollbars, buttons, check-boxes, and other widgets, Aqua Beta featured native open and save dialogues and a new, more Aqua splash screen, Finder icons, and some toolbar icons from Daniel Pimley.

The worldwide launch of NeoOffice 2.0 Aqua Beta was at OOoCon 2006 in Lyon, France, in September 2006 (with a special preview at the World Scout Bureau in Geneva, Switzerland); NeoOffice.org was a Premium Sponsor of OOoCon 2006 and the developers held various talks at the NeoOffice booth.

Throughout the fall and winter, work continued on Aqua widgets and a community-created icon set, dubbed "Akua", in the style of Mac OS X. The widget work was so advanced and extensive that NeoOffice even works properly with third-party themes for Mac OS X. After nearly a year in development, NeoOffice 2.1 was released on March 27, 2007, as the first truly native, final-quality office suite release for Intel-based Macs. NeoOffice 2.1 was also the first application on Mac OS X to support reading and writing Microsoft Office 2007 OpenXML Word documents, and with Microsoft's discontinuation of support for VBA in the forthcoming version of Office for Mac, NeoOffice became the only Mac app still in development to support VBA macros in Excel spreadsheets.

Current and Future Development of NeoOffice

Following the NeoOffice 2.1 release, the sky is the limit, and with the support of the NeoOffice community, the developers hope to continue to increase the degree of integration with Mac OS X and add support for additional OpenXML document formats.

Currently only two developers, Patrick Luby and Edward H. Peterlin, are working on NeoOffice. Reflecting the size and complexity of a project based on (and fully compatible with) OpenOffice.org, maintenance of NeoOffice has become nearly a full-time job, and Patrick and Ed have spent approximately 3000 hours and $4000 (over the course of 2003 and 2004) maintaining and developing NeoOffice.

Screenshots of NeoOffice

NeoOffice/J 1.1 Alpha 2 Patch 4 (First public Aqua menu patch, 10-Nov-2004)


Additional screenshots illustrating the process of "Aquafication" are available in the NeoOffice/J Screenshots Archive; current screenshots can be found in on the NeoOffice Screenshots page.


This article in other languages: Français Italiano
Personal tools