2007-01-20

Entry removed ...

In the spirit of being productive, moving past my initial, largely "too open," soul-searching, I have removed this post and posted a new Mission Statement for myself going forward.

The Open Source Solution Providers' Mission Statement


2007-01-16

Huaer 608 Batteries: 8+ hours at 36000'

I recently opted for a 17" "Desktop Replacement" Notebook computer. More video options, two hard drive bays and higher capacity batteries were of interest.

Where are the Higher Capacity Batteries?

I originally wanted a Dell 17" with 1920x1200 and a GeForce Go 7900 series, but they wanted way too much money -- typically over $2,000 before warranty (even after eBay coupons, since many deeper discounts have never been applicable on the higher-end models which already have good discounts). And because of our strong consumer laws, Dell does not offer it's "Accidental Damage/Coverage" plan in Florida, which really kills any benefits of buying a Dell. The non-consumer/non-small business replacement plans for businesses, which are open to Florida, are far, far more expensive, and even HP is cheaper (if you can get a good discount on HP).

So I waited and waited and I finally opted for an HP 17" (dv9000 series) with an upgraded 1680x1050 display and the GeForce Go 7600 series when they had a deep discount at OfficeDepot.COM. I actually wanted a HP Pavilion dv9000t with the Intel Core 2 Duo, but with almost $400 in rebates (and a good $600 cheaper than the best dv9000t at the time), a fully loaded HP Pavilion dv9000z Turion TL-50 (I should have gone for the TL-52 with 2x the cache for $25 more -- doh!) was hard to resist at $800 after rebates HP+OfficeDepot.COM rebates (of which, I've gotten all but $25, which I just got notice of 2 weeks ago -- HP is always fast, OfficeDepot.COM is damn too slow). At $800, I considered it almost disposable after 1 year anyway, so I didn't opt for the extended warranties beyond 1 year (which start at $99 and $199 for 2 and 3-year "no frills" and at $249 and $399 -- half the price of the notebook! -- for 2 and 3-year accidental coverage).

I figured I could find an after-market battery for less, so I just took the standard 14.4V @ 4400mAh (63Wh). In actuality, I can't even find any higher capacity battery for the 9000 series right now, and the 63Wh units are hard to find for anything less than their $160 list. UPDATE: NewEgg.COM finally has them for under $120 now, but I still can't find anything but the 63Wh units for the 9000 series.

150+ Minutes Battery ... Until I Flip on the 3D (Ouch!)

Overall I'm more than satisfied with the basic 63Wh (14.4V, 4400mAh) battery in the 9000 series during nominal 2D operation of the Turion x2, at even DVD playback, giving me a solid 150+ minutes (2.5+ hours). I can often get even 180+ minutes (3+ hours) with standard, non-constant usage (display off, suspend, etc... anything short of hibernation). And from the commonly A/C-provided DC input (19V @ 4.74A = 90W), the GeForce Go 7600 might not be a Go 7900, but it does get within 40-50% of its performance for a lot less juice. Unfortunately, it might as well be the same power pig as the 7900 when running on battery!

Because when I fire up the Go 7600 (G73 GPU) on battery, even with the reduced power usage at the expense of performance, I'm lucky to get 75+ minutes with Linux's Power over Performance setting, and virtually sub-60 minutes under Windows. The combination of coming out of hibernation for boot and going back into hibernation when the battery is low will result in little more than 60 minutes "actual playing time." Not good for switching 63Wh batteries. Not good at all, but not unexpected by me either. I had an original Toshiba Satellite 2805-S402 (released spring of 2001) with the original nVidia Go Mobile (NV11 GPU -- GeForce2 MX equivalent) that sucked up the juice 2-2.5x as fast too (back when NiCD was common, and my original battery didn't last me a year!).

Since I can't seem to find an extended battery (8000mAh?), I considered getting a second, standard (14.4V@4400mAh, 63Wh) battery. Of course, having to rehibernate and unhibernate is, again, a pain and takes down the battery a good 10-20% with the constant disk usage for those few minutes (more like 10-20 in "battery time"). I figured I should look elsewhere for additions options, and so I looked external. Especially since most external batteries have an "off switch" to prevent constant use/drainage (such as by internal Lithium regulatory logic).

Looking at External Options

First off, I didn't want to dork with anything that couldn't output 19V, even though the battery is 14.4V. A number of sites say that all you need is what your internal battery provides as DC, not necessarily what your A/C adapter provides as DC output. Although I consider myself far from a practical electrical technologist (being a theory-heavy EE, and even then I've done too much digital), that sounded like someone applying the 1.2->1.5V store/operating potential in the wrong direction, and a recipe for issues. So off-the-bat, I went looking something that would provide 19V output to the dv9000z's 19V input as if it was a "full 19V DC" from the A/C adapter.

Secondly, I refreshed myself on newer battery technologies. I know most notebooks use Lithium Ion (Li-Ion) rechargeable batteries, as do most portables that require at least 7.2V (hence why you don't see rechargeable Li-Ion used in AA form-factors, where either NiCD/NiMH rechargable or non-rechargeable Lithium are 1.2/1.5V in 2000-2500mAh AA or 700-900mAh AAA). I don't like the idea of Li-Ion, especially after the recent Sony battery issues (of which my HP has one, although there is no recall because HP-Sony believe their designs are different). In fact, when using any external battery with my notebook -- given current FAA recommendations on not using any input that may charge a Li-Ion battery (the most likely case where it will explode) -- I was not going to leave my internal Li-Ion battery in it. And 7.2V fuel-cell isn't here yet either, let alone it's no safer and even more questionable *although companies like UltraCell are getting FAA approval for some products).

Third, if I figured I was going to get an external battery, I wanted to find something flexible in output, possibly with multiple. Most of the notebooks I buy have 19V DC output A/C adapters, although 14-16V would be nice too. Many other, external devices are often 12V, such as external hard drives and DVD players. And even if it only had an additional, 5V option, that would be nice for recharging many small or hand-held devices, like my Treo phone. USB-provided +5V would be even better, although there are many, generic +5V power cable adapters to USB too.

Huaer 608 Series: +5V, +12V and +16V or +19V options

After extensive research, I finally decided on a relatively new option. After much investigation, I found that Huaer Electronics Limited, based on out of Hong Kong -- yes, Chinese, not Japanese -- had the best solution I had seen yet. Although they are relatively new (founded in the late '90s), in the wake of Sony's battery fiasco, Huaer had been aggressively marketing various distributors with its replacement batteries for Dell, Gateway, Toshiba and the handful of other OEMs with recalls. After all, even many of Sony's batteries are now fabbed in China as well, as brand name means squat these days.

The Huaer 608 series, also distributed by Ovone (among other OEMs), offers three (3) key outputs:
  • "Primary" V @ up to 6A -- "Primary" voltage varies by model
  • +12V @ up to 2A -- perfect for most DVD players or external hard drives)
  • USB +5V @ up to 1A -- usable for countless, small/hand-held devices)
Allegedly you can use up to 2 outputs simultaneously, at least not when charging, although all 3 are never recommended. I think it really all depends on how much current draw. E.g., if the "Primary" V is +19V, at 6A, that's 114W maximum assuming the battery can only provide -- at most -- the "Primary" V up to its maximum current and not more. So if you're notebook uses an A/C adapter with 90W DC output, or +19V at 4.74A, that leaves 24W, which is +12V at 2A.

The Huaer 608 series uses a Lithium Polymer (Li-Polymer). It's as stable of a Lithium solution as one can get. The Lithium salt is laminated with its electrodes, removing the need for pressure, especially any metal enclosure. This basically removes its flammability and mitigates any explosion potential. Although it's still Lithium salt and can combust with an over-volt, it won't be self-sustaining on its own materials. The bonus is that Li-Poly batteries can be nice'n thin, as the 608 series is at only 0.75" (sub-20mm) thick in a standard 8.5"x11" letter size!

In fact, I can fit two (2) "atop one another" on the "other side of the divider" in my Kensington 62232 SaddleBag Sport 17" backpack**'s notebook compartment. I actually set the battery "atop" of my Ultra ULT31436 RJ11/RJ45/USB1.1/FireWire Cable Kit**, as the 0.75" thickness "fits into the groove" of the non-binded end of the cable kit case, with the ports "sticking up" (and closer to the top of the bag). I'm surprised the unit doesn't get hot at all, and it takes a good 2+ hours to even be "warm," but clearly sub-100F. It seems that Li-Poly is also much more temperate too!

**NOTE: I only paid $49.99 - $24.99 rebate (yes, an odd rebate amount) for the Kensington and $29.99 - $20 rebate for the Ultra kit. I received the Kensington rebate in about 2 months, the Ultra was just a more recent purchase (but I've received all Ultra rebates from OnRebate.COM and Rebate-Zone.COM thus far). I highly recommend the features of the Kensington 17" SaddleBag Sport -- you can see it easily in the dark, and the storage capacity/layout is the ultimate, while still fitting under Boeing and Airbus seats (and meeting FAA regulations for under-seat backpacks, unlike other 17" designs).

The main downside to Li-Poly is that it is capable of less recharges than common Li-Ion** batteries, about 500, before seriously degrading**. But I considered that issue mitigated, because I will recharge my external battery about 1/5-1/10th as often as my internal battery. I'd much rather have the size, safety, portability and other features of a Li-Poly than a Li-Ion, while staying Lithium-based (whereas other, older technology, like NiMH, options are 3x the size).

**NOTE: Bix Computers told me that 500 recharges is not unexpected for Li-Ion either. I must have mis-read some of the articles I read on-line.

The 608 is available in current-hour capacities of 4,000-13,000mAh, depending on "Primary" V output as follows from the manual (sans the fact that I've calculated the equivalent Watt-hours):
  • 608-AH (+19V)
    • "A" 9000mAh, 19V@6A, 171Wh
    • "A1" 4500mAh, 19V@4.5A, 85.5Wh
    • "A2" 6000mAh, 19V@6A, 114Wh
  • 608-BH (+16V)
    • "B" 9000mAh, 16V@6A, 144Wh
    • "B1" 4500mAh, 16V@4.5A, 72Wh
    • "B2" 6000mAh, 16V@6A, 96Wh
  • 608-CM (+12V)
    • "C" 13000mAh, 12V@6A, 156Wh
    • "C1" 6500mAh, 12V@6A, 78Wh
    • "C2" 6000mAh, 12V@6A, 72Wh
The A/C charger input provides a standard +12V DC @ 4.2A (the manual states the battery charges at +12V @ 4A), and takes up to a full 7 hours to charge when depleted (which makes sense as +12V @ 4A = 48VA). I verified this as at least 5-6 hours to reach 4 LEDs (and typically at least 6 to get the "green" charge LED), as I have depleted the battery a total of 4 times now for my Performance Tests.

Bix Computers Offers the 9,000mAh (144-171Wh) Units

The two (2) most common, 9,000mAh units are a 2.75lbs. +16V@6A unit rated at 144Wh and a 3.1lbs. +19V@6A unit rated at 171Wh. The only reseller (non-distributor, direct to the end-user) I found with these two in the US was Bix Computers, the BP140 (+16V@6A, 9000mAh, 144Wh) and the BP170 (+19V@6A, 9000mAh, 171Wh). Bix Computers provided pre-sales support via e-mail and answered most of my questions rather promptly. I ordered the BP170 for $219 and they shipped it, as advertised (within cut-offs), the same day (i.e., I ordered it in the evening EST, so very late afternoon PST, so they shipped the very next morning) without gouging me on shipping.


As a nice surprise, Bix Computers shipped two sets of cables with adapters. As such, I have had no trouble finding ends to match my +19V DC, A/C adapter-provided notebook input (even older Toshiba models) and my +12V electronics (from an external Ultra hard drive enclosure to a portable DVD player). I already have a retractable USB connector for powering my Treo, and have used it with the battery as well (while the dv9000z was on it too).

Linux and Windows 3D Performance Testing

I've run the 4 tests in the following order (with Linux Performance over Power last):
  1. Linux A/C, Power over Performance**: Around 4.75 hours (Doom 3)
  2. Windows A/C (fixed setting**): Over 3.25 hours (Doom 3)
  3. Windows A/C (fixed setting**): Over 3.25 hours (Medieval II: Total War)
  4. Linux A/C, Performance over Power**: Over 3.5 hours (Doom 3)
I wasn't buying this external to test at normal DVD playing or 2D. I know this battery will go 8-10 hours under such load. I wanted to crank out the 3D of the GeForce Go 7600. One thing I love about Linux is the standardization** at kernel and user-space utility support level. Using the GNOME GUI for Power options (KDE has its equivalent, which uses the same, single, unified** kernel ACPI interfaces and same, single, unified** support utilities) I can tell it, even if it's on A/C power (from either the DC input from the A/C adapter output or an external battery providing DC, such as this case), to act like battery, as well as go "full bore" with performance over power -- so I tested for both.**

So with Power over Performance (again, an option on even assumed A/C adapter input**), I got almost 5 hours (may have been just as close to 4.5 hours -- as I wasn't too accurate on that first run), say a solid 4.75 hours, running a full 3D accelerated application (Doom 3). Although it was a tad sluggish on the Go 7600 as it basically "minimized power usage." With Performance over Power, I got over 3.5 hours running a full 3D accelerated application (Doom 3 -- but no more sluggishness at "full Go 7600 power").

As I hinted, there is one (1) mode and one mode only** I could use under Windows, "full power," when it sees me on assumed A/C (which it's not with the external battery, but it's coming in on the DC input as if using an A/C adapter). It only offers other options when on battery. I could not find any HP BIOS, Windows utility or other solution, as the Windows power control panel won't let me set options that the standard Linux interfaces to (which both GNOME, KDE and other desktop GUI panels all unify on, which means it doesn't matter what "pretty little window" you use in Linux, all the options are there!). The fan was whining constantly at 100% (not even what Linux does, as its ACPI is more power-effective for the same performance because it manages so many things well), and the CPU area was seriously hot (which makes it a good thing I took the Li-Ion battery out!).

In the end, I got over 3:15 (3.25, but not nearly over 3.5 hours like Linux) with Windows running both Doom 3, as well as Medieval II: Total War, a session with each. To ensure that Linux wasn't getting the benefit of a "newer battery," I ran the equivalent "full power" Linux Doom 3 session after these two (run number 4), and got another, full 15 minutes with no distinguishable difference in performance. I attribute this to the more dynamic control Linux has over various aspects of the dv9000z -- from the Turion x2 to the fan control, all via standard ACPI calls.

**SIDE NOTE: People think Linux lacks standards, and that's entirely false. Linux systems have one (1) subsystem and only one, single subsystem to support something -- whether its printers (CUPS, instead of GDI v. PCL v. Postscript that often conflicts in Windows between vendors, let alone Windows spooler v. Windows IPP support is a PITA) or mainboard "Fake" RAID (FRAID via dmraid, instead of countless vendor drivers, some vendors even conflict with their own drivers!) or scanners (Sane, including 1 standard front-end/utility suite, unlike Windows TWAIN, which is a recipe for conflicting GUI-subsystem disasters) or, in this case, ACPI power management -- there is 1 kernel subsystem and 1 set of utilities.

That means I can easily configure the computer to act differently on battery and direct DC input (assumed A/C adapter) with the standard GUI for whatever desktop I'm using (I use GNOME, many other people use KDE) that goes back to the single kernel subsystem and single utility suite. This including telling the system not to not assume it should suck up the power as much as it can as if the DC input really is the A/C adapter and keep the fan on whining, because I am -- in this case -- on external battery, that comes through the external DC input. Under Windows, the standard Windows power panel doesn't give me that option, nor anything else, and I still can't find the HP utility that does, so I need to find a 3rd party utility or some registry hack.

More on LED Lights and Charge Status

There are five (5) LEDs on the front of the unit (opposite the inputs/outputs), four (4) power status and one (1) charge status. The charge status is red when charging, green when charging is complete. The power status shows up when charging or when you press the "Test" button, and the four (4) LEDs light up from left-to-right as follows ...
  • 1 LED = 25%
  • 2 LEDs = 50%
  • 3 LEDs = 75%
  • All 4 LEDs = 90-100%
This may be bit misleading for those not used to external Lithium-based power packs (as compared to NiCD or NiMH), but they make sense since Lithium cells never drop below 30-35% charge, and it's recommended you stick around 40% when storing. What that really translates into is ... (reverse order)
  • 4 LEDs = "Full charge," after 5-10% use, it will drop to ...
  • 3 LEDs = "Mainstay," which is where you'll get 60-70% of your time, before ...
  • 2 LEDs = "Used" (long-term store charge), you've now spent about 75%, before ...
  • 1 LED = "Well used" (ideal store charge) heading towards minimum, final 5-10% battery time, until ...
  • No LEDs = Beeps after a few minutes, shut down ASAP!
This basically maps into the charge of Li-Ion/Poly cells. The "mainstay" charge is 3 LEDs (50-90%), which you'll get 60-75% of your "battery time." Once you hit 2 LEDs (50%), you're under 25% "battery time" left, and then 1 LED (25% -- probably not actual charge, but closer to 40% actual charge of Li-Ion cells) really goes quick. Li-Ion/Poly cells do not need to be "fully discharged" before charging, and when they are active, you should (and can safely) keep them "topped off." I.e., always charge to 4 LEDs when you can -- which is why I said 4 LEDs is "a good starting point."

And since the duration of their shelf-life is actually better if you have a "lower charge" (storing Li-Ion/Poly) at higher charges actually reduces lifespan), aim for 2 LEDs or "just into" 1 LED. Although the "off switch" (one of the nice things about having an external, Li-Ion/Poly battery) actually helps prolong the battery life, because (I assume) it turns off some of the output regulation logic (which is also and directly proportional to the current charge). The input regulation logic, of course, is directly powered by the input itself when it's so being charged (and doesn't reduce battery charge, of course).


2007-01-07

Office Suites: OpenDocument and OpenXML

2006 January Work-in-Progress (WIP)

Due to the increased number of comments on this subject, I figured it's time to blog a full history and comparison of these two, alleged standards.

Overview:
  1. XML: Not an interoperability standard
  2. A brief history of Sun StarOffice (and OpenOffice.org)
  3. A brief history of Microsoft Office
  4. Rich Text Format (RTF): The useless standard
  5. Intellectual Property (IP) considerations
  6. Cross-platform history
  7. Document compatibility and longevity
  8. My history and preferences
1. XML: Not an interoperability standard

Probably the biggest myth to dispel from the get-go before talking of any standards is that XML is a standard for content and style like HTML or SGML. XML is very much not. I'm not going to spend time on defining all these acronyms and explaining further (other than in the following on XML) as I assume that if you are reading this you have heard of them (except maybe SGML), know what HTML is and know that XML (even if you don't understand it) is what most everyone is using today.

In a nutshell, XML was the answer the World Wide Web Consortium (W3C) gave to vendors who constantly complained about the slowness of their standardization process. XML is essential a set of standards for creating vendor standards for their implementations. XML has nothing to do with interoperability. It merely says how you should format your tags, how you should document your definitions, how you will define your schema, etc... Most "complete XML" documents are those that have a base "content" block (typically its own file), with one or more style blocks (or possible style templates), another block for modifications to the schema/templates, and then any base support definitions, templates, schema, etc... (which may or may not be included)

Now there is no "master" or "root" way to "interpret" all of these support specifics and allow one specific XML implemention by another XML solution, at least not automagically in software. And there never will be, period. And that's just the technical reality, before we tackle source code availability, intellectual property (IP) considerations and countless other, non-technical details.

2. A brief history of Sun StarOffice (and OpenOffice.org)
  • StarView class library
  • StarOffice 3.0
  • StarOffice 4.x and 5.x
  • OpenOffice XML (OpenOffice 1.x and StarOffice 6/7)
  • OpenDocument XML (OpenOffice 2.x and StarOffice 8+)
StarView class library

I'm going to skip over the history of German StarDivision, which was founded in 1986, and begin with the cross-platform StarView generation. In the early '90s, StarDivision developed a cross-platform class library aka "toolkit" for C++. In non-geek-speak: a bunch of programmer code that lets you write software for any computer without having to worry about the differences between the computers. At the time, there was a lot of uncertainty where Microsoft was going with IBM on OS/2, as well as the "Chicago rumors" inside of Microsoft (which became Windows 95, and took Windows NT's place as the desktop OS) as well as existing UNIX need for a cross-platform library. I'm sure the success of the first, integrated office suite, ApplixWare on UNIX (Solaris, among others), StarDivision decided to take its existing product offers and do similarly.

Geek Note: StarView was built for DOS, OS/2, Win16, [true] Win32 (as Windows NT 3.1 just came out, over 2 years before Windows 95), MacOS (pre-v8/Carbon) and Sun Solaris 2 (OpenView) and became commercial available for license by late 1994, after the release of StarOffice 3.0.

StarOffice 3.0

StarOffice 3.0 was the first, integrated, cross-platform office version (sans MacOS) that first appeared in 1994 from StarDivision. It was available on OS/2 (32-bit), Windows (16-bit, but also ran on Windows NT) and Solaris (32-bit Sun UNIX). All dialogs were the same across all applications, and offered a true, integrated suite. Its StarView library was both a blessing and a curse. While it resulted in almost total transparency across platforms, it was a memory hog, as the entire office suite with all its features was resident. It often required a whopping (at the time) 16 or even 24+MB of memory to run well on OS/2 or Windows (and even more for Solaris or MacOS).

One of StarOffice 3.0's greatest strengths was its support for a wide variety of documents, including new Internet export features. Not only did it handle WordPerfect and Lotus 1-2-3, not only did it handle Microsoft Word and Microsoft Excel import, but it also did Lotus Ami Pro (one of the few word processors to attempt such import of a "Desktop Publishing," DTP, like format), but even ClarisWorks (especially since a MacOS port came out later) and a few other systems. And they worked surprisingly well, at least for well-defined documentation formats (i.e., non-Microsoft ones). One of the most original aspects of the StarOffice 3.0 suite was its elementary export of HTML, something that Microsoft would not offer for almost another 3 years.

Geek Note: Not all import filters for other formats were available on all platforms. E.g., the Ami Pro import filters were only offered on OS/2 and Windows, and the ClarisWorks import filters were initially only offered on MacOS.

The StarView toolkit supported standard UNIX systems (as well as OS/2-derived ones like 16-bit and 32-bit Windows) and utilized the Sun OpenView and, later, Motif, toolkits for Solaris. GNU systems, such as Linux, are typically very Solaris-like/compatible (SunOS was the original GNU platform before Linux), so StarOffice 3.0 became available for Linux later (and was a standard "port" for version 4.0+ on-ward).

StarOffice 4.x and 5.x

StarOffice 4.0-4.2 was little changed from StarOffice 3.0, except for the addition of full Win32 (32-bit Windows) to the StarView toolkit so it ran natively on Windows 95 and NT (I would argue better than Microsoft Office in the case of the latter, since it was designed for multi-user systems like UNIX). PowerPoint support was added to StarImpress (and Impress' features really made PowerPoint look unpolished, especially for Internet and other capability) and the Linux port became a standard offering.

StarOffice 5.0-5.2 switched away from the StarView toolkit to a completely new C++ class library. With MacOS 8+ switching to Carbon, MacOS support was dropped as was OS/2. It was completely Windows 9x/NT aware, as well as native to Linux and Solaris. Font support on these platforms were greatly improved, especially UNIX platforms with true type support. Although still written in C++, Java became a staple for scripting and extensibility in the suite.

Geek Note: I don't know what StarOffice 5.0-5.2 used, details are sketchy. From what I've summized, it was STL C++ with some Boost (at least they became Boost) class libraries, and then some sort of cross-platform MFC (Windows) and Motif (UNIX) toolkit (and it wasn't WINELIB, it was very native).

In 1999, with over 40 thousand employees, Sun Microsystems tired of supporting Windows desktops and bought StarDivision outright for under $100M (the deal was original reported/estimated to be around $250M, and may have been over $100M after other considerations/purchases). Sun decided to begin releasing all the source code (programmer code) it could under the Lesser GPL (LGPL) license, which allows any commercial company to integrate the source code into their office suite, as long as changes to just the Sun provided source code portion is returned.

Geek Note: The LGPL allows dynamic linking with any other source code, even proprietary. Any and all source code Sun is unable to secure the rights to LGPL, Sun has either largely replaced with new LGPL developments or kept if it sees value but does not affect compatibility (e.g., clipart, additional fonts, additional import/export filters, etc...) in StarOffice. This has proved so successful of an approach that Sun is using the same for Java, with all GPL-licensable source code going in the OpenJDK, which replaces and provides for a superset of the Java SE (Standard Edition) and only those components not GPL-licensable going in the Java EE (Enterprise Edition) starting with version [1.]6.

OpenOffice XML (OpenOffice 1.x and StarOffice 6/7)

The resulting release of Sun's source code resulted in OpenOffice.org (OOo) version 1.0 (and StarOffice 6.0). At the heart of OOo was a new document standard, OpenOffice XML. StarOffice had always maintain a strong document definition and excellent backward compatibility over its almost decade-long existance, and OpenOffice XML was the complete "clean-up" of those definitions, styles, etc... into a set of standard, and complete, XML. OpenOffice's formats (.sx_) are ZIP compressed archives with files for the document's content, style and related schema/definitions. All OpenOffice XML base definitions, schema and templates are openly available and no additional logic in the suite itself is required except for processing and rendering. Although being licensed LGPL, any other tool can directly utilize its processing and rendering outside of the GUI (graphical user interface) -- such as production programs on a factory floor that aren't PCs.

Geek Note: Not just use of XML formatting, DTDs, schema, exact dimensions on formatting (very critical), standard templates, etc... PKZIP 2.x is an archive with individually compressed LZ77 files (LZ77 is also used by gzip).

The OpenOffice XML release included a submission of the full specification to the non-profit Organization for the Advancement of Structured Information Standard (OASIS). OASIS is the defacto-standards organization that over 600 sponsoring companies and vendors submit all XML standards to in the Internet generation. The sponsors of the OpenOffice XML submission not only included Adobe, Corel (WordPerfect) and Sun, but the US' largest exporter and industry documentation leader, Boeing. There are now many, lesser-known, 3rd party office suites on the market that utilize the LGPL OpenOffice.org codebase from Sun.

OpenOffice.org 1.1 (and StarOffice 7) was the revision that included the official, OASIS ratified standard of OpenOffice XML (which OpenOffice 1.0 is compatible with as well with an update) and various other improvements. One improvement was the complete segmentation of the suite into individual components (reversing the design of all prior, "load everything memory hog" approaches) that now results in a much leaner suite. It also included many improvements in Microsoft Office compatibility, some as a directly result of Sun's broad cross-licensing agreement with Microsoft. Sun holds all copyright on OpenOffice.org, which allows them to license to third parties under a non-LGPL license (this is of great note). It requires all contributors to the OpenOffice.org project to sign a non-exclusive contributor's agreement. Sun pays the salaries of the majority of full-time OpenOffice.org developers.

Geek Note: For those Linux "advocates" fixated on the recent Novell-Microsoft cross-licensing agreement of 2006, it is important to note that there will be no fork of OpenOffice.org by Novell. Not only is Sun helping with the new OpenXML support, not only is all OpenOffice.org code under Sun's copyright, not only does Sun's "agreement" with Microsoft that allegedly "taints" OpenOffice.org well before Novell's, but this alleged "new issue" doesn't start with OpenXML as Sun has been working on pre-OpenXML, Microsoft Office document import/export support from Microsoft "gold books" for over 3 years now (which affects OpenOffice.org 1.1+). There is a lesser-known, well-speculated reason for this (see the next section on the history of Microsoft Office).

OpenDocument XML (OpenOffice 2.x and StarOffice 8+)

OpenDocument XML is the result of a full, year-long review by OASIS and its members (including newer sponsors like IBM) of the OpenOffice XML standard for extensibility and compatibility with many office approaches, including Microsoft Office. OpenDocument XML has about 100 changes from OpenOffice XML, and is now considered the "going forward" version that all major office suites like Corel PerfectOffice/WordPerfect, IBM Lotus SmartSuite and even Microsoft Office (despite statements to the contrary), are adopting at least full export/import support for OpenDocument XML.

OpenOffice.org 2.x and StarOffice 8+ support OpenDocument XML, and read-only support has been added in OpenOffice.org 1.1.5+. Most importantly, Sun has signed over all Intellectual Property (IP) rights to the trust of OASIS, which will hold them (as many other submissions) under a right for all to use freely.

Probably the greatest, additional change in OpenOffice 2.x is the introduction of a truly open database front-end framework. OpenOffice.org always had an open data integration support, but it lacked a true front-end that wasn't tied to the legacy Adabas D (included in all versions of StarOffice from 8 back to pre-open source). The only component not offered in the suite is a personal information manager (PIM), although it does integrate with Mozilla browser (Firefox), mail (Thunderbird), calendering (Sunbird) and other components.

No native MacOS X (Cocoa/Aqua) version is offered, but there are both X11 (UNIX X-Window, as MacOS X is a Darwin-based UNIX system and offers networking with X11 graphical compatibility) and several other options. A Cocoa/Aqua port has been a highly desired option, especially since full, cross-platform document compatibility is offered by the OpenOffice.org base (unlike Microsoft Office for Mac, see following sections).

3. A brief history of Microsoft Office
  • Microsoft Office 4.x
  • Microsoft Office 7 (95)
  • Microsoft Office 8, 9 and 10 (97, 2000 and XP, including 98, 2001 and X/2002-Mac)
  • Microsoft Office 11 (2003 and 2004-Mac)
  • OpenXML (Microsoft Office 12/2007)
Microsoft Office 4.x

After the success of Claris and AppleWorks on Mac, Microsoft actually released its first "Office Suite" on Mac in 1990. It wasn't an integrated office suite, but just a collection of existing programs for the Mac platform. ApplixWare on Solaris and Windows, and several other, emerging suites including Lotus SmartSuite 3.x, were also available for Windows. So on the Windows 3.0 front, Microsoft cobbled together its Word, Excel and PowerPoint products into Office 3.0 (aka 92). The programs were separate and did not offer OLE (Object Linking and Embedding).

It wasn't until really Office for NT 4.2 in 1994 (Word 6.0, Excel 5.0 and PowerPoint 4.0) that Microsoft offered a fully integrated office suite where different programs could link to each other (Office 4.0 was to a lesser extent using Word and its simple applets, as it had issues with the older versions of Excel 4.0 and PowerPoint 3.0), although menus, key combinations, context sensitive menus/help and other integration was lacking (and would until much later, although acquired products like Visio still don't). The "NT" name was a misnomer, as the programs weren't 32-bit (except on Alpha, although its document compatibility was another matter), and required Windows NT 3.51 "Daytona" for "Chicago," what would become Windows 95, compatibility.

Geek Note: The modern Windows application use of the registry begins largely with Office for NT 4.2.

The first, commonly used Microsoft Office version was 4.3, with the same product versions on the NT 4.2 release. Thanks to Jochaim Kempin, a brilliant strategist out of Microsoft German, Microsoft Office 4.x when from less than 10% PC OEM share to over 90% OEM share. Kempin invented "bundling" and "rebates," and turned Germany's largest PC vendor, Vobis, from a 0% Microsoft shop to a 100% Microsoft shop overnight. By not only giving away software at a substantial loss (e.g., pay $11/unit for MS-DOS and get Windows plus Office 4.3 for free), but paying vendors "rebates" of the exact licensing costs for competitors products so vendors do not ship them, within 2 years (by 1996), Microsoft gained an overwhelming share of the market. This was despite the fact that individual Lotus 1-2-3 and Corel WordPerfect outsold Microsoft Word and Office sales combined on the retail shelf several times over.

Geek Note: Although no other software (let alone hardware) company has accomplished similar, 90% of the PC market is typically driven by tier-1 and tier-2 PC OEMs. 3dfx graphics cards outsold nVidia on the consumer , retail shelf, yet nVidia infiltrated the PC OEM market and grabbed a 90% share within no time.

The answer was simple, an assumed "free lunch." Most companies were looking to upgrade their aged DOS or Windows software, typically Lotus 1-2-3 3.1 and WordPerfect 5./15.2 for Windows (or earlier, possibly still DOS) and the new cost of Lotus 1-2-3 4.0 (or SmartSuite) or WordPerfect 6.0 (or PerfectOffice) was easily $700+ per system. PCs were now costing under $1,500 new, and they came with Microsoft Office (which the company got for free). Even when some, largely tier-1 OEMs licensed Lotus SmartSuite 3.1 or 4.0, Microsoft would often pay the $70-120/license in a "rebate" back to the OEM not to ship. And if they didn't agree, such as IBM who owned Lotus, Microsoft would jack the price of DOS and Windows up over $100/system (typically 4x its $25/system

The common attitude is that Lotus and WordPerfect were "too slow" with their Windows software, and that's why Microsoft "won." That's not true at all. AmiPro (acquired by Lotus), was the first, native Windows what-you-see-is-what-you-get (WYSIWYG) documentation program (it's actually a DTP, not a word processor), and Lotus 1-2-3 3.1 and, later, 4.0 (which had some of Lotus Improv's capabilities) were available before their Excel equivalents. Corel also offered Borland's Quattro Pro in its PerfectSuite, which was considered more native to Windows (build with Borland's advanced Windows components and framework) than Microsoft Excel at the time.

It was attacking the OEM, bundling and rebates. By 1996, with over 90% of the market, Microsoft started to charge for Microsoft Office -- essentially the Office 7 version. At first it was $50/license. But within another year, it raised the cost to over $200/license for just the base version.

The MacOS 4.2.x versions had documents largely incompatible with newer Microsoft Office 4.x for Windows, as with prior releases. You could often send a document from Windows to MacOS, but not vice-versa. The deeper reasons for this is documented in a following section on cross-platform compatibility.

Microsoft Office 7 (95)

The first "Chicago" (Windows 95) 32-bit native release of Office was version 7, with all products (Excel, PowerPoint, Access, etc...) incremented in version to match Microsoft Word, now version 7. Microsoft Schedule+ was introduced as a personal information manager (PIM) to combat Novell's Groupwise offering (among others), using the legacy Microsoft Mail API (MAPI) interface in Windows NT systems, also added when installed on Windows 95.

Office 7 (95) formats were partially compatible with Office 6 (4.x) documents, to a point. Microsoft offered upward compatibility, but did not offer good backward compatibility. The technical reasons for this are largely documented in the cross-platform section.

Despite the "Designed for Windows NT" logo program, 0% of Microsoft own products -- including Microsoft Office -- passed the requirements for the logo certification. Office 95 was not multiple user aware and had had various security issues when run under Windows NT, including most things refusing to run unless the user had "Administrator Privileges" (the "Power User" group/privilege came about as a direct result of Office 95 incompatibilities). Office 95 was the first office suite to be built on Visual Studio 5.0, and required the Internet Explorer libraries (a purposeful attempt to make Internet Explorer a required portion of the operating system), and integrated at the heart of the Windows (even Windows NT, bypassing its security protections). This is where most of the security vunerabilities come from -- especially on Windows NT, which has security privilege levels that DOS-based (yes, it's still in there -- version 7.x, and most system calls are 16-bit DOS 20) Windows 95 does not.

Geek Note: Yes, MS-DOS 7.x is still the kernel of Windows 95/98/Me (95/A = MS-DOS 7.0, 95B+ is 7.1 with FAT32 support), including all major system calls (16-bit DOS 20-3Fh functions) that are "augmented" by the still "386Enhanced" memory model VXDs and other virtual drivers and libraries. Caldera successfully sued Microsoft (settled out-of-court) for illegal product bundling of MS-DOS 7 + Windows 4 (Windows 9x) in violation of the 1995 DOJ Decree, and would testify later in the 1999 trial. In fact, Windows Me attempted to remove various support of these 16-bit functions to force developers to stop using them, but even Microsoft's own products took issue, hence why Windows Me is the least compatible version as most will note.

Microsoft Office 8, 9 and 10 (97, 2000 and XP, including 98, 2001 and X/2002-Mac)

To Do

Microsoft Office 11 (2003 and 2004-Mac)

To Do

OpenXML (Microsoft Office 12/2007)

To Do

4. Rich Text Format (RTF): The useless standard

To Do: Not even used by Microsoft, let alone everyone uses a "DOC import filter" on RTF because it's always got embedded DOC from Microsoft Word. Possibly should be #2 instead of #4?

5. Intellectual Property (IP) considerations

To Do: Sun gave theirs to OASIS, Microsoft promises not to sue open source
but reserves all rights.

6. Cross-platform history

To Do: Including why Microsoft has issues (data-alignment-based) between versions, let alone MacOS X, and why they _had_to_ switch to a XML format (even if it only encapsulates binary data)

7. Document compatibility and longevity

To Do: Not only my "real world" experiences from Office 7/95 through 11/2003 (read: can I please re-format again, I love doing that over and over Microsoft! NOT!), but also my _personal_ experience coming from Lotus 1-2-3 4.0 and AmiPro 3.1 to StarOffice 3.0 on Windows in early 1995, and the fact that I can _still_ read my documents!

8. My history and preferences

To Do: I'll talk about LaTeX to OpenDocument/MathML conversion options (since I use LaTeX for professional documentation), the IEEE Article and Book templates, and the equivalent DOC 6.0a (Office 4.x) template that I've had to hack and hack and re-hack over the years, etc...

NOTE: I'll probably end up "reorg'ing" this again in the end, but this is a "good start."

2007-01-02

Entry removed ...

In the spirit of being productive, moving past my initial, largely "too open," soul-searching, I have removed this post and posted a new Mission Statement for myself going forward.

The Open Source Solution Providers' Mission Statement