History of NeoOffice and OpenOffice.org: NeoOffice

From NeoWiki

Revision as of 08:06, 1 February 2006 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.

Current and Future Development of NeoOffice

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.

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)

http://www.mindspring.com/~sardisson/neoj/neoj11aqua_newdoc_th.gif http://www.mindspring.com/~sardisson/neoj/neoj11aqua_recordchanges_th.gif


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

Personal tools