Megalextoria
Retro computing and gaming, sci-fi books, tv and movies and other geeky stuff.

Home » Digital Archaeology » Computer Arcana » Computer Folklore » Compound Document Wars
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Compound Document Wars [message #426252] Sat, 04 January 2025 19:23 Go to next message
Anonymous
Karma:
Originally posted by: Lawrence D'Oliveiro

Anybody remember the rivalry between the “compound document” formats? On
the one side, we had Microsoft (and possibly some lesser satellites) with
OLE 2.0. And on the other side, we had Apple (and I think Novell and IBM)
with OpenDoc. Remember what all that was about?

The idea was that, instead of merely being able to cut/copy/paste
information between documents of different types, you could set up links
that were live -- so that any changes to the relevant parts of the source
document would automatically be reflected in other documents that had
links to those parts.

I remember seeing a demo of a prototype called “Amber”, being shown off at
a session at Apple’s 1993 World-Wide Developer Conference. It seemed to me
to be a remarkably simple and elegant concept, where you could drag
“parts” from place to another, to create your compound document.

But over the subsequent year or two, things got quite complicated. There
was an “OpenDoc User Interface Guidelines” document I read, which was
about 500 printed pages! I felt that the original simple idea had become
lost somewhere along the way.

Meanwhile, Microsoft was pushing OLE (“Object Linking and Embedding”) 2.0,
which would do the same sort of thing for Microsoft Office (and was
presumably also available to anybody else foolish enough to create
products to compete with Office). I can’t remember what OLE 1.0 was about.

I think both also required the use of standardized document formats.
Apple’s OpenDoc one was called “Bento”.

Apple made much of the fact that, while both architectures allowed
embedding document parts that had other parts recursively embedded in them
to multiple levels, in OpenDoc it took only one click to go all the way
down to the innermost part that you had clicked on, while in OLE 2 each
descent down one level took a double-click.

Whatever happened to all that? I suspect that the whole concept of live
embedding was too complex for ordinary users to grasp, so it all just
quietly went away from lack of use.
Re: Compound Document Wars [message #426255 is a reply to message #426252] Sat, 04 January 2025 21:50 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: rbowman

On Sun, 5 Jan 2025 00:23:00 -0000 (UTC), Lawrence D'Oliveiro wrote:

> Meanwhile, Microsoft was pushing OLE (“Object Linking and Embedding”)
> 2.0,
> which would do the same sort of thing for Microsoft Office (and was
> presumably also available to anybody else foolish enough to create
> products to compete with Office). I can’t remember what OLE 1.0 was
> about.

It started with DDE (Dynamic Data Exchange) which was Microsoft's shot at
IPC. It had a very slight resemblance to ONC/RPC without XDR. I don't know
if I still have the book but it was arcane. You had to build a vtable
based on the interface. It didn't help that it centered on BASIC and its
nebulous relationship to data type. OLE 1.0 was more of the same, slightly
polished. Meanwhile COM was being created from the DDE experience and is
sort of, kind of based on DCE/RPC with the usual MS tweaks. OLE 2.0 was
build on COM.

DCE was the work of the Open Software Foundation that could be loosely
defined as everybody who wasn't Sun or AT&T. ONC/RPC was Sun.

COM and DCOM live on, ugly as ever.
Re: Compound Document Wars [message #426264 is a reply to message #426252] Sun, 05 January 2025 09:07 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: Chris Ahlstrom

Lawrence D'Oliveiro wrote this post while blinking in Morse code:

> <snip>
>
> Whatever happened to all that? I suspect that the whole concept of live
> embedding was too complex for ordinary users to grasp, so it all just
> quietly went away from lack of use.

It would seem to be undesirable for a legal document to suddenly change due to
an edit "under the covers". Is the version sent to the lawyers truly the latest
version?

Anyway, I took a look at COM years ago and was like, Naaaaaah.

I did put together some code using XDR for one of our projects. But that's
about all I remember.

--
"Obviously, a major malfunction has occurred."
-- Steve Nesbitt, voice of Mission Control, January 28,
1986, as the shuttle Challenger exploded within view
of the grandstands.
Re: Compound Document Wars [message #426267 is a reply to message #426264] Sun, 05 January 2025 10:42 Go to previous messageGo to next message
jgd is currently offline  jgd
Messages: 55
Registered: May 2013
Karma: 0
Member
In article <vle3mt$126ds$2@dont-email.me>, OFeem1987@teleworm.us (Chris
Ahlstrom) wrote:

> Anyway, I took a look at COM years ago and was like, Naaaaaah.

"COM is not solely designed to force your code and data structures into a
weird and arcane model that means you will never get them to work with
any other protocol. It does that job just fine, but it has other uses."

John
Re: Compound Document Wars [message #426270 is a reply to message #426252] Sun, 05 January 2025 10:47 Go to previous messageGo to next message
Theo Markettos is currently offline  Theo Markettos
Messages: 18
Registered: April 2013
Karma: 0
Junior Member
Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
> Whatever happened to all that? I suspect that the whole concept of live
> embedding was too complex for ordinary users to grasp, so it all just
> quietly went away from lack of use.

RISC OS did something similar - for every object you had an external editor,
so there were separate programs for drawings, images, tables, equations.
'Impression' was a popular word processor/desktop publisher that made heavy
use of this paradigm.

I think there's a balance to be struck - sometimes it's useful (the drawing
tools in Word are awful compared with say Illustrator), sometimes it's
unwieldy (making a table should be easy and not need a separate program that
exports an object the word processor can't see into).

I suppose what happened was that Word got sufficiently mediocre at doing graphics,
tables, etc that it was less useful to have to switch to a different program
for that.

It would still make sense for data handling, eg accounting statements where
you really want a proper spreadsheet that adds up and not a hand cooked
table where arithmetic errors could slip in. (You could lock the data so it
couldn't be changed underneath you, although I suppose a calculation bug
in your version of Excel could change the presented numbers).

I'm not a big MS Office user (only Powerpoint and OneNote) but I think you
can still embed spreadsheets etc. Embedding Excel in OneNote is I think
possible, but it doesn't work very well - you have to fall back on OneNote's
mediocre table editor.

Theo
Re: Compound Document Wars [message #426271 is a reply to message #426252] Sun, 05 January 2025 11:40 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: Grant Taylor

On 1/4/25 18:23, Lawrence D'Oliveiro wrote:
> The idea was that, instead of merely being able to cut/copy/paste
> information between documents of different types, you could set up
> links that were live -- so that any changes to the relevant parts
> of the source document would automatically be reflected in other
> documents that had links to those parts.

I remember this being a thing, but not any details about it.

I think the idea was mostly a flash in the pan and fizzled out as normal
end users grappled with the difference between:

- a link to the /current/ data as it exists now
- a /copy/ of the data /at/ /the/ /point/ /in/ /time/ that the linking
document was written

Those are two very fundamentally different uses of once identical data.

Something like a document saying "The current weather is ..." would
prefer a link to a document that has the current weather data.
Conversely a document saying "On <date> the weather was ..." would want
a copy of the data from <date>.

I think that most end users aren't actually fully aware of the value of
the linked document when just about everything else has been a point in
time copy.

The other place that the linked version works best is when you are going
to be referencing content in a bunch of documents. As you copy the data
the disk consumption goes up with each copy. So referencing / linking
to the original saves disk space.

In many ways this harks back to "abridged" vs "unabridged" dictionaries
/ concept.



--
Grant. . . .
Re: Compound Document Wars [message #426272 is a reply to message #426264] Sun, 05 January 2025 13:24 Go to previous messageGo to next message
Charlie Gibbs is currently offline  Charlie Gibbs
Messages: 5552
Registered: January 2012
Karma: 0
Senior Member
On 2025-01-05, Chris Ahlstrom <OFeem1987@teleworm.us> wrote:

> Lawrence D'Oliveiro wrote this post while blinking in Morse code:
>
>> <snip>
>>
>> Whatever happened to all that? I suspect that the whole concept of live
>> embedding was too complex for ordinary users to grasp, so it all just
>> quietly went away from lack of use.
>
> It would seem to be undesirable for a legal document to suddenly change
> due to an edit "under the covers". Is the version sent to the lawyers
> truly the latest version?

Winston Smith would have loved it.

> Anyway, I took a look at COM years ago and was like, Naaaaaah.

I think I looked at it too - at least until my eyes glazed over.

> I did put together some code using XDR for one of our projects. But that's
> about all I remember.

I experimented with various forms of inter-program communication for a
while. Shared memory had to be polled, WM_COPYDATA had its limitations,
and DDEML sort of worked, but I wound up creating an executable that would
take down any NT box.

I finally settled on sockets - they were portable, would run across
machines, and by creating appropriate protocols I could test the
interfaces using nothing more than telnet.

--
/~\ Charlie Gibbs | Growth for the sake of
\ / <cgibbs@kltpzyxm.invalid> | growth is the ideology
X I'm really at ac.dekanfrus | of the cancer cell.
/ \ if you read it the right way. | -- Edward Abbey
Re: Compound Document Wars [message #426275 is a reply to message #426264] Sun, 05 January 2025 15:12 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: rbowman

On Sun, 5 Jan 2025 09:07:25 -0500, Chris Ahlstrom wrote:

> Anyway, I took a look at COM years ago and was like, Naaaaaah.

The worst thing about COM is it was designed around Visual Basic and uses
VARIANT, a union of everything under the sun. If you're working with C++
you need to try to get a real data type from VT_I2, VT_R4, etc. Even
worse you're neck deep in BSTRs which are a real pain in the ass.

https://learn.microsoft.com/en-us/archive/blogs/ericlippert/ erics-
complete-guide-to-bstr-semantics

I would stay far away but Esri's ArcObjects API uses COM. At one time they
tried a Linux port using Java which was even worse but they gave up on
that fast.

XDR and ONC/RPC has its moments for more complex tasks where you're
nesting objects in the .x file. There's a whole lot of recursion going on
in the rpc code unraveling them and there's a lot of empty space if you
look at what's happening with wireshark since you have to send the whole
enchilada.
Re: Compound Document Wars [message #426276 is a reply to message #426267] Sun, 05 January 2025 15:16 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: rbowman

On Sun, 5 Jan 2025 15:15 +0000 (GMT Standard Time), John Dallman wrote:

> In article <vle3mt$126ds$2@dont-email.me>, OFeem1987@teleworm.us (Chris
> Ahlstrom) wrote:
>
>> Anyway, I took a look at COM years ago and was like, Naaaaaah.
>
> "COM is not solely designed to force your code and data structures into
> a weird and arcane model that means you will never get them to work with
> any other protocol. It does that job just fine, but it has other uses."
>
> John

It's not weird and arcane -- it's Visual Basic! If only Gates knew any
language other than BASIC...
Re: Compound Document Wars [message #426278 is a reply to message #426272] Sun, 05 January 2025 19:30 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: Lawrence D'Oliveiro

On Sun, 05 Jan 2025 18:24:48 GMT, Charlie Gibbs wrote:

>> It would seem to be undesirable for a legal document to suddenly change
>> due to an edit "under the covers". Is the version sent to the lawyers
>> truly the latest version?
>
> Winston Smith would have loved it.

That was easily solved using digital signatures -- which were also
starting to enter the public consciousness around that time.
Re: Compound Document Wars [message #426292 is a reply to message #426275] Mon, 06 January 2025 16:29 Go to previous messageGo to next message
Joe Makowiec is currently offline  Joe Makowiec
Messages: 72
Registered: June 2012
Karma: 0
Member
On 05 Jan 2025 in alt.folklore.computers, rbowman wrote:

> If you're working with C++

Is C# still a thing? (Speaking of "There are standards and there are
Microsoft standards...")

--
Joe Makowiec
http://makowiec.org/
Email: http://makowiec.org/contact/?Joe
Usenet Improvement Project: http://twovoyagers.com/improve-usenet.org/
Re: Compound Document Wars [message #426296 is a reply to message #426275] Mon, 06 January 2025 19:07 Go to previous messageGo to next message
Peter Flass is currently offline  Peter Flass
Messages: 8576
Registered: December 2011
Karma: 0
Senior Member
rbowman <bowman@montana.com> wrote:
> On Sun, 5 Jan 2025 09:07:25 -0500, Chris Ahlstrom wrote:
>
>> Anyway, I took a look at COM years ago and was like, Naaaaaah.
>
> The worst thing about COM is it was designed around Visual Basic and uses
> VARIANT, a union of everything under the sun. If you're working with C++
> you need to try to get a real data type from VT_I2, VT_R4, etc. Even
> worse you're neck deep in BSTRs which are a real pain in the ass.
>
> https://learn.microsoft.com/en-us/archive/blogs/ericlippert/ erics-
> complete-guide-to-bstr-semantics
>
> I would stay far away but Esri's ArcObjects API uses COM. At one time they
> tried a Linux port using Java which was even worse but they gave up on
> that fast.
>
> XDR and ONC/RPC has its moments for more complex tasks where you're
> nesting objects in the .x file. There's a whole lot of recursion going on
> in the rpc code unraveling them and there's a lot of empty space if you
> look at what's happening with wireshark since you have to send the whole
> enchilada.
>

OS/2 used C++ for whatever it’s version was called. SOM, I think.

--
Pete
Re: Compound Document Wars [message #426300 is a reply to message #426292] Mon, 06 January 2025 20:55 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: rbowman

On Mon, 6 Jan 2025 21:29:29 -0000 (UTC), Joe Makowiec wrote:

> On 05 Jan 2025 in alt.folklore.computers, rbowman wrote:
>
>> If you're working with C++
>
> Is C# still a thing? (Speaking of "There are standards and there are
> Microsoft standards...")

Definitely. Here's where it gets confusing. In 2014 Microsoft came out
with .NET Core that would replace .NET Framework and be cross-platform. By
2019 .NET Core was up to 3.x and .NET Framework was up to 4.8. They then
dropped 'Core' so .NET 5 up to the current .NET 9 are the cross-platform
Core line. Framework is dead at 4.8.

My Linux boxes have the dotnet SDK installed. A limitation, so far, is no
real GUI library for Linux, but command line and server side applications
are fine. ASP.NET did the same thing with the original ASP,NET Core now
being just ASP.NET.

Why is that important? A Linux instance on AWS, for example, is much less
expensive than a Windows instance. Building a backend that can run on
either is useful. To really complicate things, with the appropriate flags
you can build a dotnet package for Linux on a Windows machine or vice
versa. I think you can do the same for macOS but I don't do Apple. No
religious thing but nobody ever wanted to pay me to develop for Apple
hardware.

Tiobe has a disclaimer about what their rankings mean but currently C# is
#5 behind C. Python leads, followed by C++ and Java very close together,
and then C. They do mention that C++ usage may reflect its use with
embedded software with microprocessors like the Raspberry Pi Pico family.
Python is also used for less demanding applications but afaik Java doesn't
exist in the embedded world.

I haven't kept up with C++ and understand it's improved these days but it
never was my favorite. C# seems like Java done right without all the
baggage Java carries.
Re: Compound Document Wars [message #426301 is a reply to message #426296] Mon, 06 January 2025 20:57 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: rbowman

On Mon, 6 Jan 2025 17:07:21 -0700, Peter Flass wrote:

> OS/2 used C++ for whatever it’s version was called. SOM, I think.

I never did anything with OS/2. In my world it was like a mayfly, here
today then gone.
Re: Compound Document Wars [message #426304 is a reply to message #426296] Mon, 06 January 2025 21:01 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: Lawrence D'Oliveiro

On Mon, 6 Jan 2025 17:07:21 -0700, Peter Flass wrote:

> OS/2 used C++ for whatever it’s version was called. SOM, I think.

There was another battle, can’t remember if it was directly related to
compound documents. But it was IBM’s SOM (also promoted by Apple) versus
Microsoft’s ... was it COM? It had to do with how to provide object APIs
for communication between different pieces of code, possibly written in
different languages.

SOM relied on interfaces defined in a “language-independent” language
called IDL. The theory was, you could generate interfaces for your
particular language (e.g. C++, Java) from the common IDL using a suitable
language-specific interface generator.

Whereas Microsoft’s COM explicitly based itself on the VTable structure
used for object dispatch in its C++ compiler’s ABI.

Sounds like a typical quick-and-dirty Microsoft idea, doesn’t it, versus
the more elegant and general IBM solution?

Except ... SOM depended on someone writing those language-specific
interface generators ... for every language. Which took some work to do,
and therefore were rather hard to come by. Whereas COM was actually much
easier to handle, since you could write some wrapper code, in C or other
suitable language, to interface to the publicly-documented VTable
structure. Anything that could do low-level bit/byte manipulation would
work.
Re: Compound Document Wars [message #426305 is a reply to message #426304] Mon, 06 January 2025 21:04 Go to previous messageGo to next message
ted@loft.tnolan.com ( is currently offline  ted@loft.tnolan.com (
Messages: 169
Registered: August 2012
Karma: 0
Senior Member
In article <vli1tb$1t3lt$3@dont-email.me>,
Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
> On Mon, 6 Jan 2025 17:07:21 -0700, Peter Flass wrote:
>
>> OS/2 used C++ for whatever it’s version was called. SOM, I think.
>
> There was another battle, can’t remember if it was directly related to
> compound documents. But it was IBM’s SOM (also promoted by Apple) versus
> Microsoft’s ... was it COM? It had to do with how to provide object APIs
> for communication between different pieces of code, possibly written in
> different languages.
>
> SOM relied on interfaces defined in a “language-independent” language
> called IDL. The theory was, you could generate interfaces for your
> particular language (e.g. C++, Java) from the common IDL using a suitable
> language-specific interface generator.
>

Sounds related to CORBA?

--
columbiaclosings.com
What's not in Columbia anymore..
Re: Compound Document Wars [message #426308 is a reply to message #426296] Mon, 06 January 2025 22:50 Go to previous messageGo to next message
Anonymous
Karma:
Originally posted by: Dave Yeo

Peter Flass wrote:
> rbowman <bowman@montana.com> wrote:
>> On Sun, 5 Jan 2025 09:07:25 -0500, Chris Ahlstrom wrote:
>>
>>> Anyway, I took a look at COM years ago and was like, Naaaaaah.
>>
>> The worst thing about COM is it was designed around Visual Basic and uses
>> VARIANT, a union of everything under the sun. If you're working with C++
>> you need to try to get a real data type from VT_I2, VT_R4, etc. Even
>> worse you're neck deep in BSTRs which are a real pain in the ass.
>>
>> https://learn.microsoft.com/en-us/archive/blogs/ericlippert/ erics-
>> complete-guide-to-bstr-semantics
>>
>> I would stay far away but Esri's ArcObjects API uses COM. At one time they
>> tried a Linux port using Java which was even worse but they gave up on
>> that fast.
>>
>> XDR and ONC/RPC has its moments for more complex tasks where you're
>> nesting objects in the .x file. There's a whole lot of recursion going on
>> in the rpc code unraveling them and there's a lot of empty space if you
>> look at what's happening with wireshark since you have to send the whole
>> enchilada.
>>
>
> OS/2 used C++ for whatever it’s version was called. SOM, I think.
>

Actually I believe it was all C, and yes it was called SOM. You could
actually use most any language IIRC to extend the WorkPlaceShell but the
idl stuff was tricky and few mastered it, especially since it was still
buggy when IBM dropped support for SOM.
Dave
Re: Compound Document Wars [message #426312 is a reply to message #426305] Tue, 07 January 2025 00:27 Go to previous message
Anonymous
Karma:
Originally posted by: Dave Yeo

Ted Nolan <tednolan> wrote:
> In article <vli1tb$1t3lt$3@dont-email.me>,
> Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
>> On Mon, 6 Jan 2025 17:07:21 -0700, Peter Flass wrote:
>>
>>> OS/2 used C++ for whatever it’s version was called. SOM, I think.
>>
>> There was another battle, can’t remember if it was directly related to
>> compound documents. But it was IBM’s SOM (also promoted by Apple) versus
>> Microsoft’s ... was it COM? It had to do with how to provide object APIs
>> for communication between different pieces of code, possibly written in
>> different languages.
>>
>> SOM relied on interfaces defined in a “language-independent” language
>> called IDL. The theory was, you could generate interfaces for your
>> particular language (e.g. C++, Java) from the common IDL using a suitable
>> language-specific interface generator.
>>
>
> Sounds related to CORBA?
>

Yes, closely related IIRC. There was also work started on DSOM,
distributed SOM and then IBM pulled the plug.
Dave
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Next SCCAN meeting - Jan. 11, 2025
Next Topic: Will Drew Devault Be Criminally Charged For Child Porn?
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Tue Jan 21 16:14:15 EST 2025

Total time taken to generate the page: 0.01359 seconds