[Home]OpenDoc

MeatballWiki | RecentChanges | Random Page | Indices | Categories

OpenDoc was a valiant effort by Apple to create a unified standard of a CollaborativeHypermedium. It was really a competitor and response to Microsoft's ActiveX platform, which also failed.

Steve Jobs famously killed it and dealt with angry developers at Apple

Why did it fail?

For an engineer's analysis, here's [Geoffrey Litt's] analysis of 7 key reasons:

  1. UX quality. If every component is developed by an independent company, who is responsible for unifying it into a nice holistic experience rather than a mishmash?
  2. Modality. Different parts of your document operate with different behaviors.
  3. Performance. Huge memory overhead from the complexity
  4. Exporting. Hard to export a "whole document" into a different format if it's made of a bunch of different parts.
  5. Lack of broad utility. How common are "compound documents" really? Beyond the classic example of "word doc with images and videos embedded"
  6. Data format compatibility. If two components both edit spreadsheets but use different data formats, what do you do?
  7. Historical accident. Turf wars between Microsoft and everyone else, Steve Jobs ruthlessly prioritizing at Apple, execution failures, etc.

However, any analysis focusing on lack of platform capability, or hardware capacity, or management confusion misses the point. The project was never focused on CustomerDemand?. What problem were they really solving? For whom? And was there a simpler, more expedient way to solve it?

They had an army of engineers coding without a customer focusing action. That can only create complexity at great cost, and should be killed.

The fundamental idea hasn't gone away. Certainly embeddable HyperDocument?s now exist, like spreadsheets in word processing documents (MicrosoftOffice?, GoogleDocs?). Web pages are made of WebComponent?s and other widgets.

Yet each component in these regimes is fighting its way into the market from CustomerDemand?. A grand unified Xanadu is a constant AntiPattern.


Discussion

MeatballWiki | RecentChanges | Random Page | Indices | Categories
Edit text of this page | View other revisions
Search: