NeoOffice and Aqua

From NeoWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 03:23, 17 January 2010 (edit)
Sardisson (Talk | contribs)
(Why not use gtk or Qt or some other cross-platform toolkit? - update the date-framed sections to be more generic; may want to simplify/replace this one)
← Previous diff
Current revision (19:51, 5 September 2012) (edit) (undo)
Sardisson (Talk | contribs)
(Is there a Development Roadmap? - update roadmap posts)
 
(16 intermediate revisions not shown.)
Line 8: Line 8:
NeoOffice 2.0 Aqua Beta was the first release of NeoOffice to include extensive "Aquafication". Discerning Mac users (are there any other kind?) may have noticed some things didn't look quite right, but over time the developers worked on polishing away most of the grey warts and adding new Mac features to match the new Aqua appearance. NeoOffice 2.0 Aqua Beta was the first release of NeoOffice to include extensive "Aquafication". Discerning Mac users (are there any other kind?) may have noticed some things didn't look quite right, but over time the developers worked on polishing away most of the grey warts and adding new Mac features to match the new Aqua appearance.
-Although some remnants of the Windows-centric OpenOffice.org UI remain, as resources, donor requests, and feasibility allow, the NeoOffice project continues to slowly make NeoOffice an even better Mac OS X application.+Although some remnants of the Windows-centric OpenOffice.org UI remain, as resources, user requests, and feasibility allow, the NeoOffice project continues to slowly make NeoOffice an even better Mac OS X application.
===What are some Aquafication and Mac OS X integration breakthroughs?=== ===What are some Aquafication and Mac OS X integration breakthroughs?===
-As of January 2010:+As of June 2012:
 +* High-quality text on Retina displays (07/2012)
 +* Support for Mac OS X 10.8 “Gatekeeper” (06/2012)
 +* Removal of Java requirement for most functionality (06/2012)
 +* Support for Resume on Mac OS X 10.7 (07/2011)
 +* Support for Mac OS X 10.7’s full-screen mode (07/2011)
 +* Support for Versions on Mac OS X 10.7 (07/2011)
 +* Use of new Mac OS X APIs for text layout and rendering, copy and paste, and drag and drop (03/2011)
 +* Support for Mac OS X Services that modify the text selection (06/2010)
 +* “Look Up in Dictionary” context menu item in Writer (02/2010)
* Support for moving and renaming files while they are open (01/2010) * Support for moving and renaming files while they are open (01/2010)
* Native Mac OS X highlighting in Writer, Impress, Calc, and Draw (12/2009) * Native Mac OS X highlighting in Writer, Impress, Calc, and Draw (12/2009)
Line 72: Line 81:
=== What technologies are used in the Aquafication of NeoOffice? === === What technologies are used in the Aquafication of NeoOffice? ===
-Aqua is the "look and feel" developed by Apple for OS X. Apple provides three frameworks for developing applications with an Aqua user interface:+NeoOffice 3.3 Beta and newer use Cocoa exclusively to provide the Aqua user interface and integration with Mac OS X technologies.
 +<!--
 +Aqua is the "look and feel" developed by Apple for OS X. In the early years of Mac OS X, Apple provided three frameworks for developing applications with an Aqua user interface:
*Carbon (sort-of Mac OS 9 compatibility mode, also used by Mozilla/Firefox) *Carbon (sort-of Mac OS 9 compatibility mode, also used by Mozilla/Firefox)
*Cocoa (new framework that was adapted from NeXT for Mac OS X) *Cocoa (new framework that was adapted from NeXT for Mac OS X)
Line 85: Line 96:
NeoOffice is a Mac OS X native version of [[OpenOffice.org]] that uses small amounts of Java code for graphics drawing and configuration. NeoOffice is a Mac OS X native version of [[OpenOffice.org]] that uses small amounts of Java code for graphics drawing and configuration.
-OpenOffice.org is written primarily in platform-agnostic C++. However, NeoOffice takes advantage of Mac OS X's advanced Java integration to tap into the Mac OS X look-and-feel. In other words, the little bits of Java in NeoOffice primarily have to do with operations that affect how the application appears to the user. The "guts" of the office suite are written in C++. (The code that makes up NeoOffice is 99% OpenOffice.org code shared among all OpenOffice.org platforms and 1% Mac OS X-specific code in Java, C++, C, and Objective-C. Ohloh.net shows that the NeoOffice-specific code is [http://www.ohloh.net/p/neooffice/analyses/latest 84% C/C++], 7% XML, and 3% Objective-C.)+OpenOffice.org is written primarily in platform-agnostic C++. However, NeoOffice takes advantage of Mac OS X's advanced Java integration to tap into the Mac OS X look-and-feel. In other words, the little bits of Java in NeoOffice primarily have to do with operations that affect how the application appears to the user. The "guts" of the office suite are written in C++. (The code that makes up NeoOffice is 99% OpenOffice.org code shared among all OpenOffice.org platforms and 1% Mac OS X-specific code in Java, C++, C, and Objective-C. Ohloh.net shows that the NeoOffice-specific code is [http://www.ohloh.net/p/neooffice/analyses/latest 84% C++], 6% XML, and 5% Objective-C.)
Thus NeoOffice will only run on Macintosh computers running [[Wikipedia:Mac OS X|Mac OS X]]—not on Mac OS 9, Windows, Linux, Darwin, or any other form of UNIX. Thus NeoOffice will only run on Macintosh computers running [[Wikipedia:Mac OS X|Mac OS X]]—not on Mac OS 9, Windows, Linux, Darwin, or any other form of UNIX.
 +-->
-===How is Java used in NeoOffice?===+===I thought NeoOffice required Java? How is Java used in NeoOffice?===
 +Beginning with NeoOffice 3.3 Beta, Java is only used by the underlying OpenOffice.org code for a very limited set of features: to open [[NeoBase|Base]] database files and to run a small number of the many OpenOffice.org wizards.
 +
 +NeoOffice 3.3 Beta was the culmination of many years of work (which began with NeoOffice/J 1.1 Alpha) removing NeoOffice’s use of Java for Aquafication and Mac OS X integration.
 +
 +<!--
As mentioned above, Java is mainly used to tap into the Mac OS X look-and-feel. What makes NeoOffice work isn't the Java language itself but rather the libraries that come with the virtual machine like Java 2D for drawing and AWT for menus. Those are actually already "native" in the Apple VM in the sense that Java 2D is really CoreGraphics/Quartz and AWT is really Carbon.[http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&p=4218#4218] As mentioned above, Java is mainly used to tap into the Mac OS X look-and-feel. What makes NeoOffice work isn't the Java language itself but rather the libraries that come with the virtual machine like Java 2D for drawing and AWT for menus. Those are actually already "native" in the Apple VM in the sense that Java 2D is really CoreGraphics/Quartz and AWT is really Carbon.[http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&p=4218#4218]
-The amount of Java used has also decreased over time. When NeoOffice was upgraded to the OpenOffice.org 1.1.2 codebase (NeoOffice/J 1.1 Alpha), text rendering switched from Java to the Mac OS X native ATSUI APIs since they are much more suited for complex text layout than Java is.[http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&p=3692#3692] Other features were never implemented in Java at all (for instance the Dock menu, which used Carbon in NeoOffice/J 1.1 and Cocoa in newer versions).+The amount of Java used has also decreased over time.[http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&p=60734#60734] When NeoOffice was upgraded to the OpenOffice.org 1.1.2 codebase (NeoOffice/J 1.1 Alpha), text rendering switched from Java to the Mac OS X native ATSUI APIs since they are much more suited for complex text layout than Java is.[http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&p=3692#3692] Other features were never implemented in Java at all (for instance the Dock menu, which used Carbon in NeoOffice/J 1.1 and Cocoa in newer versions, and most recent Mac OS X integration features, which are written in Cocoa/Objective-C).
=== Why aren't you working on a Cocoa version of an Aqua OpenOffice.org? === === Why aren't you working on a Cocoa version of an Aqua OpenOffice.org? ===
Line 118: Line 135:
And by the way—Java isn't really that slow any more. And by the way—Java isn't really that slow any more.
-<!--+ 
=== Why doesn't NeoOffice use Java 1.5.x? === === Why doesn't NeoOffice use Java 1.5.x? ===
Line 130: Line 147:
The transition to Java 1.5.x was not as difficult since it is also Cocoa-based, and was made (for Intel Macs) during the NeoOffice 2.0 Aqua Beta cycle. Java 1.4.2 is still the default version of Java used by NeoOffice on PowerPC Macs running 10.3.x and 10.4.x. (Forcing NeoOffice/J 1.1 or NeoOffice 1.2 Alpha to use Java 1.5 '''will''' result in crashes and '''is not supported'''.) The transition to Java 1.5.x was not as difficult since it is also Cocoa-based, and was made (for Intel Macs) during the NeoOffice 2.0 Aqua Beta cycle. Java 1.4.2 is still the default version of Java used by NeoOffice on PowerPC Macs running 10.3.x and 10.4.x. (Forcing NeoOffice/J 1.1 or NeoOffice 1.2 Alpha to use Java 1.5 '''will''' result in crashes and '''is not supported'''.)
---> 
===Why not use gtk or Qt or some other cross-platform toolkit?=== ===Why not use gtk or Qt or some other cross-platform toolkit?===
Line 141: Line 157:
See [http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&p=20008#20008 this FAQ] (spring 2006) for a detailed explanation of MacIntel issues and the latest developments. (You can also see the [http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&t=2230 early 2006 FAQ] for historical information.) See [http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&p=20008#20008 this FAQ] (spring 2006) for a detailed explanation of MacIntel issues and the latest developments. (You can also see the [http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&t=2230 early 2006 FAQ] for historical information.)
- +-->
==Other Questions== ==Other Questions==
 +
 +===Why isn't NeoOffice available in my language?===
 +
 +NeoOffice has traditionally been available in several languages; early versions were available in the half-dozen most common languages included with Mac OS X, and the number of localizations available has increased since then.
 +
 +Today, NeoOffice (starting with version 3.1) is available in [http://www.neooffice.org/neojava/langpackdownload.php 34 different languages]; beginning with NeoOffice 3.3 Beta, the main NeoOffice installer includes the four most common of these: French, German, Italian, and United States English, while the other 30 languages are available as separate language packs. Approximately 95% of NeoOffice users are covered by the four languages included in the main installer.
 +
 +While NeoOffice's underlying OpenOffice.org and LibreOffice code includes complete or partial localizations for approximately 100 languages (not all of which ship for every OpenOffice.org/LibreOffice release on Mac OS X), building and shipping language packs for all of these languages takes a great deal of time and incurs significant storage and bandwidth costs to the NeoOffice project. Moreover, the vast majority of these languages are used by a very limited number of NeoOffice users. As a result, the NeoOffice project only provides language packs for the languages used by the largest numbers of paying users.
 +
 +(Of course, this only means that the NeoOffice user interface is not available in other languages; NeoOffice can still handle text input in many more languages, check spelling in any language supported by the Mac OS X spellchecker or by OpenOffice.org spelling dictionaries, and so forth.)
=== Has NeoOffice replaced NeoOffice/C? === === Has NeoOffice replaced NeoOffice/C? ===
Line 154: Line 180:
===Is there a Development Roadmap?=== ===Is there a Development Roadmap?===
-The direction of the NeoOffice project is typically discussed in the [http://trinity.neooffice.org/modules.php?name=Forums&file=viewforum&f=9 NeoOffice Development forum on trinity]. Current plans are outlined in the [http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&t=4818 What's planned after NeoOffice 2.2.1?] topic and in [http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&p=37478#37478 this post] about Mac OS X 10.5.+The direction of the NeoOffice project is typically discussed in the [http://trinity.neooffice.org/modules.php?name=Forums&file=viewforum&f=9 NeoOffice Development forum on trinity]. Current plans are outlined in the [https://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&t=8506 NeoOffice development plans for the rest of 2012] topic.
====Historical Roadmaps==== ====Historical Roadmaps====
 +
 +The [https://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&t=7503 NeoOffice development plans for second half of 2009] and [https://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&t=7865 Post NeoOffice 3.0.1 development planning] topics identified late 2009-2010 development plans.
 +
 +The [http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&t=4818 What's planned after NeoOffice 2.2.1?] topic and [http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&p=37478#37478 this post] about Mac OS X 10.5 described the 2007-2008 NeoOffice development plans.
The [http://www.apple.com/pr/library/2005/jun/06intel.html post-June 6, 2005] plans of NeoOffice's two primary developers for 2005-2006 were outlined in [http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&t=1481 this topic]. Tentative plans for post-NeoOffice 2.0 Aqua Beta included further polishing of the Aqua widgets and a [http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&t=2933 community project to develop a set of Aqua "toolbar" icons], but no formal plans or roadmaps were announced. The [http://www.apple.com/pr/library/2005/jun/06intel.html post-June 6, 2005] plans of NeoOffice's two primary developers for 2005-2006 were outlined in [http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&t=1481 this topic]. Tentative plans for post-NeoOffice 2.0 Aqua Beta included further polishing of the Aqua widgets and a [http://trinity.neooffice.org/modules.php?name=Forums&file=viewtopic&t=2933 community project to develop a set of Aqua "toolbar" icons], but no formal plans or roadmaps were announced.
Line 166: Line 196:
=== I have another question about the design or development of NeoOffice; where can I get an answer? === === I have another question about the design or development of NeoOffice; where can I get an answer? ===
-* Check out the [http://www.planamesa.com/neojava/faq.php official NeoOffice FAQ]+* Check out the [http://www.neooffice.org/neojava/faq.php official NeoOffice FAQ]
* Search this wiki * Search this wiki
* Search the [http://trinity.neooffice.org/modules.php?name=Forums trinity Forums] * Search the [http://trinity.neooffice.org/modules.php?name=Forums trinity Forums]

Current revision

Frequently-asked questions about the design and development of NeoOffice, or "Everything You Don't Know About NeoOffice (and Should Read Before Posting on [Mac]Slash[Dot])"

Contents

Aquafication and Mac OS X Integration

Why doesn't NeoOffice look exactly like other Mac applications?

NeoOffice currently has a high level of "Aquafication"; that is, to a large degree NeoOffice does look like a normal Mac application. In addition, the NeoOffice project has focused on improving points of integration with Mac OS X, providing Mac-specific features requested by NeoOffice users.

NeoOffice 2.0 Aqua Beta was the first release of NeoOffice to include extensive "Aquafication". Discerning Mac users (are there any other kind?) may have noticed some things didn't look quite right, but over time the developers worked on polishing away most of the grey warts and adding new Mac features to match the new Aqua appearance.

Although some remnants of the Windows-centric OpenOffice.org UI remain, as resources, user requests, and feasibility allow, the NeoOffice project continues to slowly make NeoOffice an even better Mac OS X application.

What are some Aquafication and Mac OS X integration breakthroughs?

As of June 2012:

  • High-quality text on Retina displays (07/2012)
  • Support for Mac OS X 10.8 “Gatekeeper” (06/2012)
  • Removal of Java requirement for most functionality (06/2012)
  • Support for Resume on Mac OS X 10.7 (07/2011)
  • Support for Mac OS X 10.7’s full-screen mode (07/2011)
  • Support for Versions on Mac OS X 10.7 (07/2011)
  • Use of new Mac OS X APIs for text layout and rendering, copy and paste, and drag and drop (03/2011)
  • Support for Mac OS X Services that modify the text selection (06/2010)
  • “Look Up in Dictionary” context menu item in Writer (02/2010)
  • Support for moving and renaming files while they are open (01/2010)
  • Native Mac OS X highlighting in Writer, Impress, Calc, and Draw (12/2009)
  • 512x512px application icon (12/2009)
  • Smoother text kerning (12/2009)
  • Support for changing the component that opens on launch (07/2009)
  • Support for reading data from NeoOffice by Mac OS X Services (11/2008)
  • Support for the Apple Remote in Impress (06/2008)
  • Support for magnify and swipe multitouch trackpad gestures (05/2008)
  • Native floating palettes (05/2008)
  • Media Browser for accessing media from iLife applications (05/2008)
  • Support for horizontal scrolling (04/2008)
  • Support for playing QuickTime video in documents on Mac OS X 10.4 and higher (03/2008)
  • Menus are available when no documents are open (03/2008)
  • Import of images from scanners and cameras using Image Capture (03/2008)
  • Command-clicking on window titlebar reveals the document path (03/2008)
  • Use of the system-wide grammar checker on Mac OS X 10.5 (03/2008)
  • Access to the Mac OS X Address Book as a data source (07/2007)
  • Use of the native Mac OS X spell-checker for supported languages (07/2007)
  • Support for the Quick Look feature of Mac OS X 10.5 (06/2007)
  • Support for changing the cursor blink rate using the standard Cocoa property (06/2007)
  • Widgets in the background now appear disabled, and the cursor no longer blinks in the background (05/2007)
  • Support for the "unsaved changes" indicator in the window close button (04/2007)
  • NeoOffice documents now appear in the Mac OS X "Recent Items" menu (03/2007)
  • Toolbar buttons are now Aqua beveled buttons (03/2007)
  • New Aqua icon set (02/2007)
  • Native Cocoa Open and Save dialogues (07/2006)
  • New document icons that fit better with the Aqua appearance (07/2006)
  • Disabled toolbar icons have the proper Mac OS X appearance (previously they were solid grey) (07/2006)
  • Numerous Aqua widgets (scroll bars, buttons, progress bars, etc.) (04/2006-07/2006)
  • Improved compatibility with voice dictation software (10/2005)
  • Ability to print embedded EPS files (09/2005)
  • Improved support for international keyboard layouts (09/2005)
  • Dock menu with items from the "Quickstart" service (also found in the NeoOffice menu) (06/2005)
  • No longer shows the "grey window" when closing the last document window, but the application remains open, just like normal Mac apps (05/2005)
  • Spotlight integration on Mac OS X 10.4 "Tiger" via NeoLight (05/2005)
  • Uses colors defined in the Appearance pane of System Preferences (04/2005)
  • Support for Indic languages (04/2005)
  • Support for Eudora, Entourage, and Mail as external mailer applications (03/2005)
  • AppleScript for drag-and-drop installation of help files for non-English languages (03/2005)
  • Drag & drop between NeoOffice and other applications (03/2005)
  • No longer exits when clicking the red "close" widget on the last document window (03/2005)
  • "About NeoOffice" and "Preferences" items in the "NeoOffice" menu (02/2005)
  • Localized interfaces for 40 languages (12/2004)
  • New Aqua application icon and splash screen (12/2004)
  • Optimized/smaller PDFs (12/2004)
  • Text drag & drop (12/2004)
  • Scroll-wheel support (11/2004)
  • Native menus now appear in the white bar at the top of the screen, just like any other Mac program (previously, they appeared at the top of the same window as the document) (11/2004)
  • Automatic notification of new patches and versions (11/2004)
  • Patches available as standard Mac OS X installer packages (09/2004)
  • Support for Macintosh file aliases in open and save dialogues (09/2004)

Stay tuned as new features continue to be added!

Technologies and Toolkits

What technologies are used in the Aquafication of NeoOffice?

NeoOffice 3.3 Beta and newer use Cocoa exclusively to provide the Aqua user interface and integration with Mac OS X technologies.

I thought NeoOffice required Java? How is Java used in NeoOffice?

Beginning with NeoOffice 3.3 Beta, Java is only used by the underlying OpenOffice.org code for a very limited set of features: to open Base database files and to run a small number of the many OpenOffice.org wizards.

NeoOffice 3.3 Beta was the culmination of many years of work (which began with NeoOffice/J 1.1 Alpha) removing NeoOffice’s use of Java for Aquafication and Mac OS X integration.

Other Questions

Why isn't NeoOffice available in my language?

NeoOffice has traditionally been available in several languages; early versions were available in the half-dozen most common languages included with Mac OS X, and the number of localizations available has increased since then.

Today, NeoOffice (starting with version 3.1) is available in 34 different languages; beginning with NeoOffice 3.3 Beta, the main NeoOffice installer includes the four most common of these: French, German, Italian, and United States English, while the other 30 languages are available as separate language packs. Approximately 95% of NeoOffice users are covered by the four languages included in the main installer.

While NeoOffice's underlying OpenOffice.org and LibreOffice code includes complete or partial localizations for approximately 100 languages (not all of which ship for every OpenOffice.org/LibreOffice release on Mac OS X), building and shipping language packs for all of these languages takes a great deal of time and incurs significant storage and bandwidth costs to the NeoOffice project. Moreover, the vast majority of these languages are used by a very limited number of NeoOffice users. As a result, the NeoOffice project only provides language packs for the languages used by the largest numbers of paying users.

(Of course, this only means that the NeoOffice user interface is not available in other languages; NeoOffice can still handle text input in many more languages, check spelling in any language supported by the Mac OS X spellchecker or by OpenOffice.org spelling dictionaries, and so forth.)

Has NeoOffice replaced NeoOffice/C?

Yes.

What happened to NeoOffice/J?

In recognition of the fact that the "classic" CoreGraphics/Cocoa port (NeoOffice/C) was a dead-end and no longer under development, as well as the fact that the "/J" was very confusing to many users and pundits, the application known as NeoOffice/J was renamed simply NeoOffice beginning with the 1.2 Alpha release.

Is there a Development Roadmap?

The direction of the NeoOffice project is typically discussed in the NeoOffice Development forum on trinity. Current plans are outlined in the NeoOffice development plans for the rest of 2012 topic.

Historical Roadmaps

The NeoOffice development plans for second half of 2009 and Post NeoOffice 3.0.1 development planning topics identified late 2009-2010 development plans.

The What's planned after NeoOffice 2.2.1? topic and this post about Mac OS X 10.5 described the 2007-2008 NeoOffice development plans.

The post-June 6, 2005 plans of NeoOffice's two primary developers for 2005-2006 were outlined in this topic. Tentative plans for post-NeoOffice 2.0 Aqua Beta included further polishing of the Aqua widgets and a community project to develop a set of Aqua "toolbar" icons, but no formal plans or roadmaps were announced.

Where can I learn more about NeoOffice?

For tips on using NeoOffice, see the Tips and Hints section of this Wiki.

I have another question about the design or development of NeoOffice; where can I get an answer?


This article in other languages: Français Deutsch Italiano Español Nederlands
Personal tools