Bonum Certa Men Certa

OOXML 'Extension' Tricks Have Roots in the Past

After about a week of silence, Rob Weir is back and he's already swinging. You'll find Rob's letter with OOXML objection arguments and you'll also find this elaborate view on properietary 'extensions' in OOXML. This isn't exactly new information, but it's worth discussing further.

In previous posts I have pointed out numerous "features" in OOXML which cannot be implemented by anyone else but Microsoft. These stem from a variety of causes, including elements lacking definition ("lineWrapLikeWord6") to features that are tied to Windows or Office (e.g., Windows Metafiles) to items that are "merely referenced (OLE, digital ink) to items that although featured prominently in Office marketing materials, are curiously not mentioned at all in the OOXML text (scripts, macros, DRM, SharePoint, etc.). When these issues are raised, the typical response from Microsoft has been along the lines of, "Don't worry, these features are optional. You don't need to implement them. They are there for implementations that know what they mean. If you don't understand them, you can ignore them."


Something in this strategy rang a bell, so dumpster-diving for some antitrust exhibits seemed like a fun idea.

Evidence that this is a recurring strategy is presented below. Highlighted using bold face are bits of particular interest.

Watch how Microsoft used OLE in the past.

Exhibit #1 [PDF]:

From: Bill Gates Sent Sunday, October 06, 1996 11:54 AM To: Bob Muglia Cc: Aaron Contorer; Richard Fade; Steven Sinofsky; Paul Maritz; Nathan Myhrvold; Brad Silverberg; Adam Bosworth Subject: Access, Internet studio, VB and other overlapping products

..

Why is the difference between Internet studio and Access? I can't detect any reasonable difference. Internet studio has taken an approach of putting onto HTML pages the most ugly Microsoft garbage ever seen since COM/OLE programming in C++ was declared a success in order to block language invocation. i am still blown away by seeing all those ugly PARAM statements in the HTML totally confusing anyone who tries to do anything. If something isn't part of the WYSIWYG output then it should be succinct and understandable. This was the opposite of that.


Behold the "black project".

Exhibit #2 [PDF]:

From: John Shewchuk Sent: Thursday, October 05, 1995 2:46 PM To: bens; bradsi; chrisjo; craigm; donbrad; jallard; jimall; johnlu; mikecon; paulma; rict; thomasre To: thomasre Cc: patler Subject: RE: Webmaster/Server ISV event - day one

When I got Gosling and Naughton started on the Java OLE control for Blackbird, it was a sensitive issue at Sun - Gosling was getting it done as a "black project". So please don't raisepublic awareness of the project without checking with Naughtion.

Regarding Java vs OLE controls

Both Gosling and Naughton will admit that java is a programming language and that without APIs to call, Java is kind of stupid. There is a growing consensus among developers that tried HotJava that it has major limitations.

The lack of APIs is the reason StarWave is doing the Java OLE control - so they can get access to OLE automation especially automation of Blackbird objects. Gosling admits that once someone does this it is no longer cross platform and it is hard to be safe.

Finally: OLE and Java go together nicely. You don't need to position them as competitive. Java goes up against VB. We need to get the VB team to respond to Java. Maybe VB should be cross-platform and safe. See the Blackbird rude Q&A.

Regarding overall messages

I think the whole cross-platform issue is going to die down once we start getting cool OLE controls (or Netscape add-ons) that take advantage of DirectX and other Windows 95 APIs. Cross platform is an important customer message but in the long run it a bad technical goal because it means lowest common denominator. So talk the talk, but show customers and publishers what they are missing. Leverage our strength in great Windows 95 capabilities.

Netscape add-ins ONLY RUN IN A NETSCAPE BROWSER. You can't use them in IE, Word, PowerPoint, VB, Delphi, VC++, Blackbird or anything else. You can't even use them inside each other. OLE is OPEN, Netscape add-ins lock you into a Netscape only strategy. This is lame. Java is probably not much better.

Finally, both Java and Netscape add-ins fail to address design-time operation. This is a huge leverage point for Microsoft. Senior people that are fillly in the Netscape camp think twice when they see the Macromedia Director editor come up inside the Blackbird design environment. They think about what it will take to get this done in Netscape and it is a pain.

Why does this matter? Because it represents a radically different model of content creation than Java or Netscape add-ins suggest. CPs don't want to write code!!! They want to focus on creating cool content. They want simple, simple, simple. Programming is hard. OLE controls are PACKAGED bundles of capability. OLE makes it easy for hot software developers to package up a lot of code that the creatives can use. LibD from CRG can attest to the fact that Bud and they could provide their cool runtime to lots of non-programmers. (it turns out that many Macromedia users hate the fact that they have to learn Lingo to do anything cool.)

So let's make sure we explain that OLE controls are more than JUST an add-in strategy. OLE Controls are the start of a COMPLETE strategy. Add an open message, VB Blackbird, IE with OLE control support, open scripting, and so on, and then you have your story. Lets fight on our own turf - in other words, focus on content providers and ISVs (they are the enablers for the content providers) and give them what they want. And let the great applications win over the viewers.

FROM: Brad Silverberg


Infamous Microsoft documentation (if any is made available at all).

Exhibit #3 [PDF]:

To: Douglas Wilson @ Lotus, Scott Kliger @ Lotus, Phil Stanhope @ Lotus, Alex Morrow @ Lotus, Joe Gulhridge @ Lotus, Jack Ozzie @ IRIS, Barry Brfggs @ Lotus, Aswan Dev, Ailen Olsen @ Lotus, Aswan Clients, Jeffrey R Beir @ Lotus, Michael Welles @ Lotus, Steve Manousos @ Lotus, Mike Vassilopoulos @ Lotus

cc: John Landrt @ Lotus, Ilene Lang @ Lotus From: Noah Mendelsohn Date: 02/03/95 03:54:31 PM

Subject: Meeting with Sara Williams Regarding OCX Status and Support

Sara Williams, an OLE/OCX/Cairo evangelist in Microsoft DRG visited with a group of Lotus developers at Rogers Steel on Tuesday afternoon, January 31. Here are minutes of our meeting. The purpose of the meeting was to review Lotus’ concerns regarding Microsoft’s fairness in supporting OCX development, and to answer other questions regarding OCX and OLE.

Unless otherwise indicated, all questions are from Lotus personnel and all answers are from Sara. Sara has promised to respond by email on all the unresolved points listed below. I’ve rearranged the order of discussion to put the most useful new information near the top.

Lotus Attendees: Noah Mendebohn, Scott Kliger, Phil Stanhope, Edward Ogu~ofor, Jeff Buxton

Primary topic:

Lack of appropriate support and documentation for OCX. Microsoft applications and tools seem to have an unfair advantage using OCX-how did Microsoft release container apps when nobody is supposed to have sample code yet?

The most important issue we discussed, and the one we spent the most time on, is Lotus’ concern that OCX support for ISV’s is inadequate, that sample code for containers is not available, that the only server samples are part of MFC and carry restrictive licenses, and that Microsoft has somehow managed to ship products using OCX in spite of these limitations. Speaking only for herself, Sara indicated that she shares many of these concerns. She also said that Microsoft as a whole does recognize that there is a problem regarding support for ISV’s using OCX.

We emphasized the degree to which we view this as a serious threat to our ability to compete. While there were also problems when OLE 2.0 itself was released, the OCX situation is far worse. For OLE 2.0, Microsoft provided comprehensive published documentation, an extensive support infrastructure, and sample implementations which were of moderately good quality and no more restrictively licensed than the Windows operating system itself.

The current situation with OCX is inappropriate. Sara reiterated that she understood our concerns, but said she had not realized the seriousness with which we viewed these problem. She asked what could be cone to resolve the problems. Among the possibilities that we suggested were:

(1) provide freely licensed production quality sample implementations of container and server immediately ... if other samples cannot be provided, remove the licensing restrictions on the relevant parts of the MFC controls implementation and the CDK.

(2) publicly acknowledge that OCX is an operating system API, to be supported with at least the same degree of open process as is applied to the windows API and OLE 2.0.

(3) Provide open support and immediately redress any advantages which may currently be given to Microsoft applications or tools products in using OCX

(4) Lotus believes that support could be improved and integration with OLE technology streamlined if Microsoft were to transfer OCX development responsibility to their systems organization, but that is ultimately an internal concern of Microsoft.

Sara acknowledged that the problems we highlighted are real, and that many of them do trace to the fact that OCX development is done in the tools group. She promised to promptly review our concerns with Doug Heinrich and other senior managers at Microsoft.

OTHER

Q. What OCX containers are available tor testing. For which ones is source available?

A. CPatron (source available, but not a production quality sample), Access (no source), VB.4.0 (Beta-no source), Visual FoxPro (no source). Doesn’t know whether Eforms has OCX container. Cairo shell will.

Q. What about Mike Blaszczack’s sample container?

A. Right, that’s coming when the MSJ article is published, but it’s based on MFC OLE support, so you probably have licensing problems with it. Also Kraig Brockschmidt is writing some new white papers on creating an OLE controls container.

Q. We’ve heard that Microsoft is contemplating support for 32 bit VBX’s after all.

A. I’ve heard nothing about it and I can't imagine why we would do that.

Lotus: Because VBX vendors are telling you that OCXs are too hard to build and that they have too much overhead.

A. I haven’t heard that and I think I would know about any change in strategy. It’s still: VBX is 16 bit only, OCX is preferred, and on 32 bit, it’s the only option.

Q. Is OCX on the Mac? Will it be? What about other Wise platforms?

A. Don’t know...will check. At best, Wise platforms would lag significantly.

Q. Will the OLE documents extensions previewed last week apply to OLE Controls.

A. I would think so. (BTW, I’m not sure she’s right about that. Some of the OLE documents extensions are implemented in the OLE default handler, which is not normally used by OLE controls.)

Q. Tell us about OCX futures.

A. There is an improved CDK in the new Visual C-+, just out. Beyond that, can’t say much. A strange situation has arisen within Microsoft according to Sara. Although the Developer Relations Group (DRG) of which she is a part is organizationally affiliated with the Tools Group (i.e. languages, data bases, etc.), DRG actually has a much closer working relationship with the sysems organization See discussion above.

Q. Can we get the VB 4.0 beta? It’s the only useful example of a production quality OCX container wilh scripling.

A. Will check.

The lack of clear OCX documentation is aggravating a problem we’ve had with OLE 2.0 since the beginning: everybody’s doing it differently.

A. Microsoft is working on a validation suite for OLE 2.0 to test interoperability. First wave may see this in the next couple of months. Not clear whether this applies to OCX - I suspect not (NRM).

Lotus: Great, something like this is needed, but please make sure that ISV’s get to comment before the validation suite is frozen. Compatibility checking is important, but let’s make sure you’re not preventing our apps from doing what they need to do.

Q. Do you have more information on apartment model threading in OLE?

A. Apartment model threading will be supported in Win95 and NT 3.5.1. Should be in current win95 builds on ISDN. Fundamentally, each COM object does its work on a single thread. Sara is currently writing a white paper, with sample code. It will (probably) be available within the next 2 weeks or so on the ISDN server.

Q. When will a common .EXE be usable with the OLE .DLLs on NT and Win95

A. Don’t know. Will check.

What are the details of OLE support in the Chicago shell? Why was Lotus told that the shell would not be OLE enabled when In fact it is? Why was Lotus not given earlier warning if there was a change of plan? We’re still lacking useful documentation on OLE in the shell-is there any?

A. Sara didn’t seem to be familiar with the history of this problem, or with any of the details of OLE enabling in the shell.

Q. .DLLs have advantages over .EXE’s in terms of performance and flexibility, but doesn’t the OCX architecture take us back to where we were with Win16 in terms of programs (in this case components) impacting each others’ integrity? Also: isn’t this an incredibly powerful opportunity for those writing Trojan horses, viruses, etc?

All: This question generated quite a length discussion, but Sara didn’t seem to know whether anyone at Microsoft had given this serious consideration, whether there is an official corporate position on the problem, or whether there are any specific efforts planned to minimize the impact. The Lotus attendees expressed a strong concern that these were serious problems. It’s ironic that we’ve waited for robust, secure, 32 bit operating systems as the appropriate environment for OLE, and now we’re tooking at running multiple components within the same process space. (Noah’s observation, not expressed at the meeting: this is why the research community is looking at special purpose operating systems and special purpose hardware to support component based architectures, it’s difficult to get good pertormance with good isolation using convention processors and OS’s.) Noah


More information will be posted if any more is found.

Comments

Recent Techrights' Posts

IBM Falls Below $200, Expect $199 or Less Today (Panic Threshold)
Will this be enough to topple the managers?
Links 23/07/2026: RIP John C. Dvorak, Organisation Weaponised Against J.K. Rowling
Links for the day
IBM's Press Release About Results Mentions "AI" 10 Times, "Quantum" 4 Times
Blah blah blah AI"
 
Links 23/07/2026: Science, Censorship, and Territorial Overreach by China
Links for the day
The State of Google Security: Blocking competition
GMail is the best!
What Happens When Windows Becomes as 'Niche' as GNU/Linux on Desktops and Laptops
Android enjoys a near-monopoly and GNU/Linux isn't far behind Windows.
IBM Cash "Down $6.3 Billion From Year-end 2025." Total Debt/Equity 188.97%. (Debt Can Exceed the Company's Real Value)
the CEO alone can make well over $0.7 billion in 5 years of salaries and bonuses
Wave of PIPs Allegedly Coming to Microsoft, Managers Trained to Terminate Employees Without Paying Severance (and Without Calling it Layoffs)
They count and cut the losses
This Looks Like the End of XBox, the Console
Sharma has become the "fall man" of Microsoft
European Patent Office (EPO) Series: A Consummate Master of the "Rigged Game"
"single-candidate shortlist"
Attempts to Change Focus and Change the Subject as IBM Shares Dwindle. Buying Revenue to Mask the Rapid Decline One More Time.
IBM used to be good at engineering, not financial engineering
Down 848% Year-on-year, Negative Cash Flow, Growing Debt (Richest Man on the Planet or Shrewd Scammer?)
The latest for Tesla is more of the same
Gemini Links 23/07/2026: SharePoint Rants and “Junk DNA” in Commented-Out Code
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Wednesday, July 22, 2026
IRC logs for Wednesday, July 22, 2026
Freexian & Debian: antitrust, unfair competition against joint authors and volunteers
Reprinted with permission from Daniel Pocock
IBM in the Red After Bad Results (Shares Down in After Hours)
Will the CEO step down, retire, of what else?
Gemini Links 22/07/2026: Fault Lines, the Dark Web and Beyond, and Why Substack is Awful
Links for the day
Insult and Injury: Getting Banned, Not Just Sacked, by Microsoft
A former insider spoke about this in public 5 hours ago
Links 22/07/2026: "Dumb Phones" Not Enough to Tackle Harmful Addition, "MPEG-4 Visual's Road to Being [Software] Patent-Free"
Links for the day
Top secret: Cults inquiry submission concealed from public
Reprinted with permission from Daniel Pocock
An Hour Ahead of Alleged 'Results' (Amid Investigation Into Fraud) IBM Falls Back to New Lows
Only cents away from a 52-week low
IBM Headed for Lowest "Value" in 2 Years
In a nutshell, Krishna "can't keep it up" and IBM is now investigated for fraud
Investigation Progressing
There is nothing "funny" about receiving mortal threats for merely reporting information in a civilised country
Things We Could Do More Than Half a Century Ago But Can No Longer Accomplish
Newer is not always better
Anupa Ann Joseph & Debian defamation gang
Reprinted with permission from Daniel Pocock
State of the Invidious Project
Never forget how hostile Google can be towards freedom
Prioritising the Safety of Women is the Best Approach to Foster Diversity in Technical Communities
Debian was never "normative", but that does not mean Debian should have such low standards
IBM Will Report 'Results' Tonight (CET), It's Already Investigated for Securities Fraud
"Five of the biggest US tech giants are carrying $1.65 trillion in debt that does not show up on their balance sheets"
Hardware Has Gotten a Lot Worse, Not Just Far More Expensive
prices go up fast
Amid Claims of Microsoft Bing Layoffs It Seems Like Bing Cannot Even Hold on to Second Place
Yandex is sometimes bigger than Bing
Wikileaks Does Not Publish New Material Anymore, But Wikileaks Still Changes the World
Wikileaks has a legacy that will soon turn 20
Links 22/07/2026: Postal IRCs, PlayStation Kills Discs, Union Action Against Microsoft, "Judge Considers Tossing Databricks Patent Suit Under California anti-SLAPP Law"
Links for the day
Same 'Journalists' Who Published Fake News for IBM (Pump and Dump) Now Write Puff Pieces About the Stock Falling
the media is so compromised
They Called It "Social" and "Media", But It Turned Out to be Slop and Child Porn
Why do any sane people still use social control media?
Age of consent: DebConf26 registered sex offender in Argentina?
Reprinted with permission from Daniel Pocock
European Patent Office (EPO) Series: In the Pole Position Despite a Dismal Track Record
António Campinos is an old hand when it comes to such high-level institutional intrigue
Site a Bit Slower Due to Visitors' Load
We'll try to work out better speeds
Gemini Links 22/07/2026: Emacs, Astrology Clock, Arduino, and Rogallo v1.0.0
Links for the day
After Involvement by the Free Software Foundation (FSF) LibreTech and Quibble Gain More Participants
RMS expressed gratitude for people who worked on Quibble and improved LibreJS after many years of inactivity
The Lessons From the Assange Saga
This will not end well
Linux Foundation an Enemy of the Planet, Proponent of Pollution and Global Heating
"could the "polluters pay" model be extended to the computing environment and used to take on Microsoft and Microsofters?"
Apple Will Increase Surveillance of Customers, Record Verbal Communications Under the Guise of "Hey Hi"
Apple now drinks that same Kool-Aid
Dave Winer, Blogging Pioneer, Sells Out, Spews Out LLM Slop to Readers
Another one bites the dust [...] Now it's a slopfarm of sorts
Not Everything Can be Automated
not a new thing
GNU/Linux OS in ComorOS
Now, as in recent years or the last year, the GNU/Linux "signal" is growing significantly
Microsoft Redefines "Layoffs" to Give Smaller Tallies
It's not just calling them "buyouts" or saying people are merely "leaving" or "retiring"
IBM is Not Done Destroying Red Hat, Wait Till October 1st 2026 (More Layoffs and Bluewashing)
It's not bluewashing 'til it's 100% done
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Tuesday, July 21, 2026
IRC logs for Tuesday, July 21, 2026
"LF Sex", Nothing to Do With Linux
a lot of explaining to do this week
Gemini Links 21/07/2026: Nostalgia, Shogi, and New Gemlog System
Links for the day
Guyana: GNU/Linux Rises to New High, 7%
Guyana is part of the trend
Oman: GNU/Linux Up to 7%
It was 5% last year
The Solution is Never 'Free Hosting' in Proprietary GitHub (Microsoft), the Solution is Self-Hosting
Third parties never care about your projects as much as you (yourself) care about them
Only a Matter of Time Before IBM Drops to $199 or a Lot Lower Than That
How long can IBM overload empty shells?
From GAFAM's Perspective, Jeremy Bicha Did Nothing Wrong
All is OK as long as he does not criticise monopolists and billionaires
Bluesky Was Such an Utter Failure That After 18 Months Mozilla Goes Hug a Nazi Platform That Produces Child Porn
What compels Mozilla to come back there? The child pornography scandal? The adorable leader?
GNU/Linux at Grenada Measured at 14% This Month
GNU/Linux was stuck at 0% for a long time
In WordPress, Newer is Not Better (Maybe Better Off With No WordPress at All)
To Hell with bloat and feature churn
As Slop Bubble Implodes (Inevitable), the Dishonest, Corrupt, Compromised Media Tries to Blame "China" Again (Like it Did With "DeepSeek" in Past Years)
Here we go again. We've been there before. Same spin, this time not "DeepSeek" though.
Lots of Microsoft Just Loses Money, Not Earning Money
Due to profitability challenges it's hard to believe Microsoft will ever find a buyer for XBox
Red Hat (IBM) Has Long 'Reassigned' (Bluewashed) Red Hat Staff to Ruin Fedora, Now It Does the Same to GNOME
What next from IBM's Krishna?
Links 21/07/2026: Google Stagnating, Slop 'Apps' Are "Flooding Apple’s App Store"
Links for the day
Gemini Links 21/07/2026: OPNSense Upgrade Problems, Zilog Z80 at 50, and Lessons From Terminator
Links for the day
IBM Lawsuits Over Alleged Fraud Are Piling Up
We'll keep an eye on the lawsuits
Arianna Taite on Odds of Australian (Daniel Pocock) Winning Clacton By-Election
His detractors somehow try to twist or frame him (Pocock) as an impediment to women while the exact opposite is true
This Coming Weekend Marks 4 Years Since We Dumped Content Management Systems (CMSs) in Favour of Static Site Generators (SSGs)
the first page dated July 25
Slop's Latest Casualty: The Credibility of Linus Torvalds
If you care about millionaires and billionaires, follow Torvalds (he is already in that "club")
Techrights Will Become More Productive (More Output) Over Time
Big stories about to land
Touch Grass
Happiness involves what humans have evolved to appreciate, not what humans create to sedate the mind (like skinnerboxes)
The Cyber Show on Technology Having Become a Tool of Mass Psychosis, Not Enablement or Emancipation
Technology as mass psychosis
The Rumour Said That a Second Wave of Microsoft Layoffs Would Come This Week (Ahead of Fake 'Results'), Maybe Tomorrow
Let's wait and see how "MSM" unfold
To Wikipedia, "Notability" is Just an Excuse to Hail People Who Serve Billionaires While Marginalising or Defaming the Rest
Wikipedia is an advertising space
Our Series About Solicitors Regulation Authority (SRA) and SLAPPs Will Resume Soon
Originally, in 2025, we gave ourselves 6 years (until 2031) to cover these issues, but we've seen since extended that to 10 years (until 2036) because of the amount of material we have
European Patent Office (EPO) Series: The EPO Transparency Gap
Despite the "European" tag in the organisation's name, the European Union has no jurisdiction over the European Patent Organisation
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Monday, July 20, 2026
IRC logs for Monday, July 20, 2026
Links 20/07/2026: Lashes for Songs in Iran, Kurdish Language at Risk
Links for the day
Gemini Links 21/07/2026: The Boss Baby (2017) and 2026 Old Computer Challenge Epilogue
Links for the day