I think the big reason OpenDoc failed is because it was completely steamrolled by Microsoft OLE 2.<p>These are complicated enough APIs that a developer is typically going to only implement one.<p>To better understand, it helps to go back in time when this was going on.<p>This was the early 90's, and Microsoft Windows was the dominant OS. In addition, Microsoft Office was also becoming the dominant office software.<p>Microsoft put a lot of it's energy behind OLE 2. Office supported it. If you wanted your application to be certified for Windows 95, you needed to support OLE 2. OLE 2 was pushed at all the Microsoft Developer conferences. Every book and magazine about Windows development pushed OLE 2. Microsoft's Visual C++ MFC framework supported OLE 2, and in fact, their Scribble tutorial included a section on implementing OLE 2. Visual Basic supported OLE 2, and in fact their custom controls were OLE 2 objects.<p>Thus if you supported OLE 2, you had a ton of documentation, tooling, libraries, dev environments that supported it. You could get Windows 95 application certification. You would be able to embed Office documents in your application, or have Office embed your documents in Office. IIRC, Visio started out as an independent application that had great OLE 2 support and was eventually acquired by Microsoft. And you could tell that OLE 2 was a huge priority for Microsoft. In fact, the rumored next generation successor to Windows 95 and Windows NT, Cairo was supposed to be built on OLE 2 from the ground up. (Cairo never materialized).<p>On the other hand you had OpenDoc, which did not have nearly as big of a market. It was not the priority for any of the companies pushing it. Unlike with Microsoft Office and OLE 2, there wasn't a halo product that showed off the user benefits of OpenDoc. There wasn't nearly the documentation and tooling and libraries for OpenDoc.<p>Given all that, I don't consider it surprising that OpenDoc failed.
Steve Jobs' take at the time:<p><a href="https://www.youtube.com/watch?v=oeqPrUmVz-o" rel="nofollow">https://www.youtube.com/watch?v=oeqPrUmVz-o</a><p>"You've gotta start with the customer experience and work backwards to the technology."<p>Couldn't agree more. And I'm guilty of doing the opposite.
As someone who worked on the predecessor to OpenDoc (Apple Document Framework) I think a key issue was that the HyperMedia underpinnings that motivated our work took<p><pre><code> too long to happen and
depended on structured media less than we anticipated.
</code></pre>
A world in a which a sea of interlinked richly structured documents existed would have likely been a world where the advantages of OpenDoc-like architectures would have mattered. As it was the WWW (when it happened some years after ADF and AppleScript were conceived) turned out to do just fine with loosely structured text and bitmap images.<p>Within the business app world (as other folks have noted) the incumbent players pretty much stuck with their monolithic architectures (to this day embedding structured media within web pages isn't well supported - how would you stick an Excel or Numbers spreadsheet in a page today?).<p>A more alarming trend has been the growing disinterest among the major players toward advancing the cause of end user authoring of structured media (e.g. anything besides video and throwaway picture taking). Perhaps the success of the computer as consumption enabler makes progress in this area uninteresting from a commercial perspective.<p>While I do industrial stuff now, I miss the days when authoring tools were seen as arenas for innovation - heaven knows there's a lot of room to make the likes of Word, OneNote, Visio etc more powerful and usable.
> The hardware wasn't there:<p>...<p>> The average Mac had about 2 megabytes of memory. OpenDoc wouldn’t run on a machine with less than 4 megs, and realistically, 8 megs was probably what you wanted.<p>Maybe I'm misreading this but this feels like a focus on the neat technology rather than what the user gets out of the technology. Sure, OpenDoc was cool component-based stuff, but if someone's 2MB Mac runs Word or MacWrite or whatever just fine, they aren't going to upgrade their hardware to run your OpenDoc-based word processor. Oh, but I could embed a QuickTime component in my text document? What does that even mean? When I print my document, I get to see a blurry postage-stamp sized video thumbnail in my document? Hoo boy!
It's been decades since I looked at it, but I remember Andrew User Interface System being another attempt at this.<p><a href="https://www.cs.cmu.edu/~AUIS/" rel="nofollow">https://www.cs.cmu.edu/~AUIS/</a>
Arguably the Web does everything OpenDoc was designed to do. And better. The idea wasn't necessarily horrible (rich documents filled with disparate components.), but the technology was a bad idea (C++ish sort of OOP stuff... dynamic languages like javascript are just way more natural for this sort of thing).
OpenDoc was never going to get widespread adoption, there's little attraction for developers.<p>MacOS Services offers a more lightweight means of adding capabilities across applications.<p>The LinkBack project <a href="http://linkbackproject.org" rel="nofollow">http://linkbackproject.org</a> is/was a better way for developers to integrate content from other applications into their own. A user can paste content from any LinkBack-enabled application into another and reopen that content later for editing with just a double-click. Changes will automatically appear in the original document again when you save.<p>I think a lot of applications that once supported it no longer do, as Apple's security enhancements have required some big changes in the implementation.
It doesn't help that the exact purpose of OpenDoc can't be explained. There's no clear killer app or purpose of it. It's a a platform for combining things on documents. For god knows what reason.<p>You might say "it's not for documents you fool". That's what THEY called it. It's in the name. So add that to the list of reasons.
Would really like to know what's your theory on why component based software failed in those cases and if Web Components learned/solved those problems.
Is it fair to compare OpenDoc with something like Notion? It has the same concept of being able to construct documents from many smaller relatively independent parts, except of course that the parts are all created by the same company.
Dunno why the author didn't just listen to the man himself on why OpenDOC failed: <a href="https://www.youtube.com/watch?v=FF-tKLISfPE" rel="nofollow">https://www.youtube.com/watch?v=FF-tKLISfPE</a>
Essentially every attempt to provide a viable mainstream alternative to Word for Windows failed (to a first approximation) until online office suites became viable. [ADDED: I understand this wasn't intended to be directly a Word competitor but it was part of a general industry interest in Microsoft competition.]<p>You can critique individual efforts but there wasn't really a big appetite for Word competitors and there was a lot of inertia among mainstream office workers.