Tim Bray on Microsoft Office
jgeelan writes "The co-inventor of XML, Tim Bray, has been talking about the newly XML-enabled version of Microsoft Office, code-named 'Office 11' and tells XML-Journal that 'when the huge universe of MS Office documents becomes available for processing by any programmer with a Perl script and a bit of intelligence, all sorts of wonderful new things can be invented that you and I can't imagine.'"
.... I guess it's just MSXML rather than THE standard XML. But we can figure it out with some "intelligent guesswork" now because the file would be human-readable.
--
Error 500: Internal sig error
The most important question, besides if the MS Word XML format will be well-documented enough, is if it will be the default saving format. Most MS Office users simply don't care enough to save MS Word documents in RTF, for example, even if it's more than good enough for the vast majority of the documents.
Not the main issue on the article, but it is unfair to single someone as the inventor of XML, which is just a streamlined version of SGML which is an evolution from IBM's GML.
Leandro Guimarães Faria Corcete DUTRA
DA, DBA, SysAdmin, Data Modeller
GNU Project, Debian GNU/Lin
I really have my doubts about wether Microsoft will allow "any programmer with a Perl script and a bit of intelligence" to muck around with Office documents.
I'm guessing their XML document format will be just as hard to decyper and the current office formats.
Life is too short to proofread.
MS is trying to time this right.
Right now they are seeing diminishing sales, possible shrinking market share. Most of the danish public sector is looking to save money using OpenOffice/StarOffice.
MS needs to increase their compatibility with other options, as they would otherwise force customers to convert every single user away from MS at once, instead of OpenOffice coming in slowly.
They can also hope, that their format is setting the standard, and the other companies will have to play catch-up rather than the other way around.
Wow, I was way off when I predicted that Microsoft would further obfuscate their Word format.
They won't have to. Since they are going the SQL server way for their filesystem, they can happily give away the hold they have on file formats, since they are going to have a stranglehold on accessing those files. You want an open file system? Here you go (and MS has a lot to gain by doing this - they instantly give Word access to most other data formats) - but don't think anything other than a microsoft OS will actually be able to access the files - thanks to our new deliciously obfuscated method of storing data on a disk. Reverse engineering kernel level SQL data (how a bit of crypto, for DRM of course, thrown in) will probably be even harder than reverse engineering file formats was. And impossible to do legally (say hi to all those DMCA guys out there.)
Try NetBSD... safe,straightforward,useful.
Have you ever seen some complex XML file? Without documentation it could be as difficult as binary to reverse-engineer!
I'll do it for cheesy poofs.
Just because the file format, instead of binary, is "human readable", does not make it more open.
For "any programmer with a Perl script and a bit of intelligence" it doesn't make a difference if you read bytes (binary) or XML structures.
As long as you don't get a DTD with extensive comments on how to interpret the elements, along with some promise/guarantee that the DTD won't change every minor release, there is no real improvement at all.
The fact that XML is human readable is irrelevant, since no human shall read the files, but programs such as perl scripts shall. For them it makes hardly any difference; it is only marginally easier since you can use an existent XML parser instead of rolling your own (which is no big deal using the right tools such as YACC).
This 'openness' comes at a good time for Microsoft. They suggest openness in a time that they are criticized and attacked because of file-format lock in. Many 'advisors' shall be mislead, blinded by buzzwords such as XML as they are, and actually believe that this solves the issue.
Because it doesn't matter if everyone is able to read, modify and generate Office-compatible files. People will us Office products in future. Opening the file formats doesn't change anything.
XML makes it easy to create programs that will depend on MS Office. So this only makes it easier to create programs which depend on Microsoft products.
You'll be DMCA'd out of the loop for trying, and the format will validate itself with 'Palladium' features in software, or some such.
However, the mind reels at the idea of managing PowerPoint and Excel files from emacs!
"Flyin' in just a sweet place,
Never been known to fail..."
It seems M$ has done their best over the years to protect their file formats... The implication now is Ballmer's enemy #1 (open office, ximian, koffice, star office, joe's office, etc) will be able to interchange documents seamlessly with M$ Office.
I don't know about anyone else, but the reason companies hold onto M$ (like grim death) is they receive documents via email in M$ format - defacto proprietary format.
There has to be an angle here. This can't be construed as a tactic to hold market share.
Perhaps these announcements of XML compatible office file formats are just stalling tactics? MS has done it before.
MS now has a serious competitor in StarOffice/OpenOffice.org. And that competitor has two compelling advantages - it's cheaper/free, and open XML file formats. So when clued-up IT people say to their Pointy-Haired Bosses that they should use StarOffice/OpenOffice.org, PHBs can respond "but MS is doing that next year. We can avoid all the disruption of changing office suites just by waiting a bit and upgrading to the next version of MS Office. Besides, we're already paying for it." Then when MS actually releases Office 11, they will have used all sorts of devious and subtle devices to keep their lock-in of the file format, and MS and PHBs will be happy.
That really depends on your definition of XML and human readable.
<?xml version="1.0">
<document>
jMyB38QAAMETWFjs7IQAAQEVkJBNq0jEAAW
RvbGWTYBAADARUaGlzRG9jdW1lbnQ8nhAAC
udGrTEAAC8BATwAAADMAv8AAgEABABIAAAA
</document>
is valid xml, just like a uuencoded file is valid ASCII and human readable.
But if other M$ products are any indication it won't be that bad. I parsed some Visio stuff and the data was more or less readable. The drawing data (or previews, didn't care) was still encoded though. I expect it to go a little like M$ html did.
Yes, the point of XML files is that their _syntax_ is simple and easily parseable by computers. But that doesn't tell you anything about the _semantics_ of a document. And as long as there is no proper documentation on what the mess of tags in your XML file means, there's hardly any way for you to hack together a Perl script to, say, extract plain text, or convert the Word XML file to an OpenOffice.org XML file, or whatever else comes to mind.
Other MS products that use XML (Visual Studio.net, for example) actaully do it quite well. The VS.net generated XML, including project files, is clean and very readable.
Office's MS-XML will be even less compatible with sthe spec than MS-Kerberos or MS-Java/J++. Office is their cash cow. It brings in 30-40% of their revenues all by itself.
If you think there is even a remote chance in he-double L that MS will loosen their grip on this revenue stream, I have a bridge to sell you.
You can call this flamebait if you want, but what in MS's history would lead me to believe they are suddenly going to change their historic behavior pattern AND risk a huge amount of revenue at the same time?
I doubt it. XML is specifically designed around interoperability, and I don't think MS can charge for use of a standard they don't own. That's why I think that they will break standards compatibility somehow.
XML is a format with nearly infinite possibilities for obfuscation, convolutedness and poorly defined standards. The most we can expect is the possibility to validate a file to absolutely certainly determine if it is compliant with the new Word format or not.
Contrary to the popular belief, there indeed is no God.
I'm working with that weedy Word 2k at the office. And we use Outlook as a standard communication Platform. Believe me, that their Software often is such a pain isn't that much of a greater plan to rule the world, but more the flat-out ineptitude of delivering products with a conceptual consitency.
Looking at Frontpain and Word HTML and extrapolating XML from that, tells me they're gonna do just a crappy job as usual and really think they've done a great thing.
Just like the people sending me source code additions and DB content as Wordfiles. Nothing but simple inemptitude, I say.
Not that my System of choice, Linux, is that much more consistent. Mind you. With a bazillion Font methods, every single one of them looking crappier than the next and QT, GTK+, Motif, Lesstif, Inbetweentif, Swing, TK and whatnot and none of them following the same Clipboard behaviour it's just as weedy. Only it is under *my* control to change it.
That way, the bottom line is: With OSS if it doesn't work, there's another way. With M$ it's 'Game Over' with the first "Error in module [fill in random hexcode here]".
That's the simple difference.
We suffer more in our imagination than in reality. - Seneca
Just look at an HTML file exported form Word2k.
An excellent point sir. That's a great illustration of how Microsoft approaches 'open' file formats.
People that think that MS Office is going to move to open, well documented file formats are just plain nuts. But look at many of the comments in this forum - it seems MS has even managed to persuade many Slashdotters that they are going to use open formats. Poor fools.
Don't laugh yet. That's exactly what'd be happening.
The new document just needs to have their meta-tags comply with XML, the rest could still be obscure junky as show above.
So, what happens when somone want's to email an XML enabled Word document...... Does it somhow become encrypted on its way out of the database, remains scrambled on it's way over the internet, and reassembles itself into nice XML once it arrives on the recepients computer?.... Doesn't sound like XML to me?!
Here's my pet rant:
I would say that XML isn't a markup language - a markup language would allow the "bad nesting", since a markup language should be "layers of virtual highlighter pen" applied to an underlying data stream. XML, since it requires "proper nesting", is just Lisp sexps reimplemented, but with terrible syntax. It's yet-another-tree-structured-data-format. Big Wow. A true markup language environment would facilitate part-structured data, like HTML used to be, rather than shoehorning everything into trees.
Lisp sexps would just say (stuff (things "text"))
In fact, that's pretty much all there is to lisp syntax right there. The above is (a) a potentially valid lisp program and (b) a valid lisp data structure.
XML is a data format designed mainly to allow C and Java programmers to use vaguely Lisp-like processing techniques without realising it and/or admitting it to themselves.
Choice of masters is not freedom.
Have you seen the HTML produced by the current "Save as webpage .." options in Word? shudder. The vast majority of semantics are actually embedded in XML islands hidden inside HTML comments. I see no reason why Microsoft would change their tune now (they'll simply change the DTD from one inappropriate document model to another one IMHO).
<wordDocument><!-- (document content here) -->
<nonMicrosoftElement>I'm sorry, you don't appear to have a StandardsEnhanced(tm) word processor.</nonMicrosoftElement>
</wordDocument> --
Yes so its portable. Yes so its (mostly) human readable. So what? So is GWBASIC. XML is just a data description format (I wont grace it by calling it a language , its not) and there have been plenty of portable DDFs in the past. Pdf , postscript (though the latter is actually a language). So why all the hoo-ha about XML? Seems to me that various marketing types have jumped on the bandwagon with this one and are going to ride it till the wheels fall off and take all the suckers along with them.
Look at the bigger picture of where Microsoft is heading. They're diversifying their line of business.
In the past, MS Office was the cash cow at Microsoft, but the market for office packages is rather
saturated... companies and governments are looking for cheaper alternatives etc. Not much room to
grow. Now they can afford playing the good guys by opening up their file formats, since they got
new markets to capture... mobile phones, handheld computers, home entertainment etc.
The article give Tim Bray XML "co-inventor" status. Come on. Ever since HTML was around people have been extending it with fake tags like , , etc. Sure XML is useful but hardly an invention.
Okay, so it'll be harder to mount a windows partition effectively, but this doesn't affect transmission of documents, especially if they're stored in an XML format. As for me, I think it's more valuable to have files that I can read outside of their native filesystem rather than have a readable filesystem filled with unreadable files.
Of course, this will never happen. Instead, MS will continue to push their own "open" XML based file formats. Microsoft Kerberos, anyone?
People who think they know everything are a great annoyance to those of us who do.
With XML Schema and DTD's, you can validate various aspects of the data without writing a custome validator.
With XPath and XPointer you can refer to parts of an XML document without needing to understand what the document contains.
With XSL you can translate all or parts of the document from one format to the other without your application needing to know the structure, and without needing to understand more of the format than the parts you are extracting.
With SAX and the DOM you can programmatically traverse and extract information from an XML file without having to write a custom parser.
With CSS an editor or viewer for instance can use a standard mechanism of applying styles to elements without hardcoding the style attributes for elements anywhere.
With XML namespaces, you can intersperse data in various formats in the same file, and the components handling each of the vocabularies need not know anything about the other components - an example would be embedding SVG in HTML: The HTML renderer doesn't need to understand any of the SVG tags, only that it should delegate contents with other namespaces to another component. And the SVG renderer couldn't care less about the HTML.
And this doesn't even touch on the benefits of all the various interchange formats that have been specified on top of these base technologies.
The importance of XML is that it opens up the doors for building interchangable components that operate on data without needing any hardcoded application specific knowledge of the data.
Most of the time, you still have to write some code to tie it all together, but you don't have to build your own parsers, your own document object model, your own styling system, your own way of handling contained data of other types, your own way of transforming data between formats, etc.
For me as a software developer XML delivered years ago. I use XML technologies daily, and it saves me work.
Except I will look to xml.openoffice.org to write some xslt transformations to take Microsoft office documents and liberate them once and for all.
Once I can move my team of 20 people to open office with no real worries or complaints about 'interchanging' files with lusers still using Microsoft, I will.
BUT, have you ever looked at an HTML file generated by Microsoft word? It is a GREAT example of how they can pollute a standard into something unreadable.
I suspect that they will copyright or otherwise lock up their DTD/Schema, and try to lash out at anyone that uses them in other than 'approved' ways.
Looks like M$ has found a way to placate those various governments that are beginning to insist on open file formats for data storage.
Uhm, it is also the point of source files in the programming language of your choice, I'd say... and still, you need good comments.
XML is like Lisp, but with sharp parenthesis.
No, and 8bit binary files .DOC files don't just become scrambled either.
XML don't make things easier to parse, you still have to figure out what means, just as you would have to figure out 04 07 in a binary file.
it doesn't matter if everyone is able to read, modify and generate Office-compatible files.
For many businesses, the ONLY thing keeping them using MS is file compatability. They can't change because it's industry standard, and they need to be able to share docs with their suppliers and customers.
The ISO tried it. It was called ODA
and was a complete failure.
So? Formats come and go all the time. Just because the ISO failed in the early nineties doesn't mean someone else would fail today.
Microsoft is switching from a proprietary file format, to XML, and the first 100 comments are all flaming MS. WTF does it take to make you people happy?
.NET that they can make an entire programming framework (and at least 3 assocated languages) into an open standard and even have them ratified by the ECMA and maybe even ISO. Because of this people have already managed to port Perl, Python and many other languages to this framework before it even came out of beta! The guys at Ximian have even managed to port quite a bit of the framework itself as part of the Mono Project.
They've already shown with
So perhaps instead of perpetually slating Microsoft, you could get off your arse and do something useful instead.
Nick...
As he is one of the people responsible for XML and Office 11 is going to be using XML as its native file format have you spotted the link (hint think of three letters...)
That aside, if MS do adopt XML as their file format AND they don't screw the way the HTML formatted output did then it is about time, and I would imagine that the people who came with XML are going to be happy to see their work being put to good use.
--- Users are like bacteria -> Each one causing a thousand tiny crises until the host finally gives up and dies.
...to see where they're going with this. Word has been exporting to HTML, which is really some funky XML/XHTML with stylesheets that IE can read and display, for a while.
"Doesn't sound like XML to me?!"
Sure it is! It's XML with Microsoft Security Extensions!
Sure, IBM lost control of the PC market...but is that better than what's happened to Apple?
Let's go back in time to 1985 and you can choose which company to invest in...IBM or Apple. Hmmm...tough choice isn't it? Their stocks have both appreciated almost the same amount since then! Shocking isn't it.
Why not a tag like
Interesting point...when people start buying Office 11 and sending you those XML-saved Word documents, you will have no option but to go out and fork over some cash for an upgrade.
Unlike now, I can send an Office XP formatted Word document and older versions can still open it. Of course...older versions can't open newer databases, that's been a wonderful source of headaches.
Anyone looked at the HTML output from an office program? It's terrrible. Do you think their xml will look any better?
love is just extroverted narcissism
I have a feeling that Microsoft "XML" will use Microsoft "Unicode." That is, any character in the range of 0x82 to 0x95, which Unicode reserves for extra control characters, will be littered with "smart" quotes, emdashes, and other proprietary extensions to Unicode that ensure that nothing works with it. I ran into this problem when I tried converting FrontPage generated HTML into XHTML so I could do conversions with XSLT. Needless to say, it took a lot of effort, even with HTML Tidy, to get Microsoft's generated HTML to get converted into XHTML! HTML Tidy constantly complained about the HTML, and looking at what FrontPage generates, it's not hard to see why it complained.
I ran across the demoroniser, which fixes Microsoft Unicode problems, but it still doesn't fix the invalid HTML that FrontPage generates.
Microsoft XML? Hah! I'll believe it when I see it.
MS Office saving its data in XML format is a great start.
But will this really be enough?
Previous complaints about how versions of Office didn't disclose the format were often referred to a specification that Microsoft made available to describe what was in a Word document.
The key problem, IIRC, was the the description was not sufficient for one to predict how the Word document was actually formatted and rendered on the page.
Because XML is very much like SGML or TeX, it has the potential for much more exhaustively describing document structure. But whether the new Word XML format (or OpenOffice format, for that matter) contains sufficient information for developers to reproduce the "right" format is a different issue.
I hope I'm wrong and that the format is specified comparably to the level you'd find in say PostScript or PDF.
Maybe MS is willing to let rendered Office douments change, just as HTML rendered documents change whenever one resizes the browser window.
But I doubt it.
"Provided by the management for your protection."
First of all, why would Microsoft bother creating an XML file format if it was just an "encapsulation of binary, proprietary, encrypted file formats"? What would be the point? A PR move to say that they use XML? Having not seen what Office 2002 generates in the way of XML, I can't really say how obfuscated it is or isn't; however, I can't think of any reason to adopt an XML format if it wasn't at least a little more open then the binary file formats they've been using.
.NET? Wouldn't Microsoft want the content of a document to be open enough so that it could be read and processed by applications using .NET's XML libraries? If they're going to sell the whole .NET XML concept, it would be a big advantage to say that you can process documents generated by the Office suite.
Also, how would a "binary, proprietary, encrypted file format" fit into everything else Microsoft is doing with
Explain to me why Microsoft would want to prevent you from sending your self-generated Word documents to another computer? What possible sense does this make? Is it because they hate their customers and want to piss them off so they won't use Microsoft products any more? Has RedHat paid Microsoft to include technology that will piss off all Windows users?
The whole point of Palladium is that the content provider chooses how the content can be distributed. Microsoft has no interest in protecting documents you've generated yourself. Palladium in and of itself doesn't do anything; it's the content providers (audio, video, software, and hardware providers) that will make the thing fail if they make the content controls too restrictive. I don't have a problem with the content industry trying it out as long as they're up front about any restrictions on the content itself. However, I do have a problem with making it illegal to reverse engineer and break encryption, but that's a different story.
They've got their faults, but in the end both the content companies and Microsoft are businesses. They've got to respond to their customers (us), otherwise we'll go elsewhere. It's free as in country.
Not that I totally disagree with your point, but with ".Net" people will be discouraged, or it will be far more difficult to send the actual document. My guess is that some future version of Office will default to "Send the shortcut".
Now they of course will change Office for the Mac to read from those servers... The data WILL be stored in XML on those servers, so coders will have an easy time with it.
You bring up an interesting point about paranoid people and Microsoft. I have followed Microsoft fairly closely over the last ~18 years and feel comfortable saying that they have never worked with any "standard" out there. They have ALLWAYS developed their own. Can you name an example of any "standard" software technology they have adopted and not changed? A perfect example of this would be ZIP. Why doesn't Microsoft use it instead of CAB files? There are many many more I could use as examples if you would like.
Microsoft has an internal saying "If it is not ours destroy it".
My point is this. A company that has for 18 years been trying to lock people in to their technology, will cause some people to be a bit paranoid.
The more I learn about science, the more my faith in God increases.
That reminds me of something that MS has been doing for quite a while now: the file type reported for any HTML files is "Microsoft HTML file" (your system may vary). Will XML become Microsoft XML? I hope not.
If everything about this really is kosher, though, then everybody give a great big "Thank You!" to MS!
file formats"? What would be the point? A PR move to say that they use XML?
YES! Now you are starting to get it!
I can't think of any reason to adopt an XML format if it wasn't at
least a little more open then the binary file formats they've been using.
How about for a "PR move to say they use XML". In addition it is obvious how to make an XML that is exactly as obscure, by putting the entire contents of the old format into a binary block.
Also, how would a "binary, proprietary, encrypted file format" fit into everything else Microsoft is doing with .NET? Wouldn't Microsoft .NET's XML libraries?
want the content of a document to be open enough so that it could be read and processed by applications using
No, of course not. You would only read Word documents with the special "read a Word document" interface. It might use the XML libraries underneath, but big deal. Be assurred you will be unable to reconstruct all the contents of the document by any kind of perverted arrangement of calls to the "read a Word document interface". (though not just a complaint abount MicroSoft, I think .NET, DCOM, CORBA, KCOP, etc all pervert the idea of "object orientation" by making elaborate communcation protocols which are only "object oriented" because they call some part of the protocol an "object". Real object-orientation means there is some commonality of functionality, and the only instances I can think of that really work are the original Unix where everything known then (terminals, printers, tapes, disks) used the same read/write/seek calls, and Plan9 which tries to extend this to networks and file systems).
Explain to me why Microsoft would want to prevent you from sending your self-generated Word documents to another computer? What possible sense does this make? Is it because they hate their customers and want to piss them off so they won't use Microsoft products any more? Has RedHat paid Microsoft to include technology that will piss off all Windows users?
Ha ha, very funny. Of course you will be able to send a Word document to another computer. It will still be an unreadable Word document. If they can obfuscate things so that the destination computer also has to be running Windows, all the better. You seem to be under the weird delusion that "other computer" meant "other computer running Windows" when in fact I'm sure every other poster here knew it meant the exact opposite, ie "other computer not controlled by MicroSoft".
No, of course not. You would only read Word documents with the special "read a Word document" interface. It might use the XML libraries underneath, but big deal. Be assurred you will be unable to reconstruct all the contents of the document by any kind of perverted arrangement of calls to the "read a Word document interface".
I think you are getting near the point.
A big problem with MS Office right now is that the file formats are such a mess that Nobody can parse the documents without MS Office, and that includes Microsoft.
If MS wants to get into the content/groupware market, they NEED server-side processing that doesn't rely on running a single-threaded 15MB WINWORD.EXE process.
Using an XML format allows Microsoft to build a clean C# component implementation of "Read a Word Document", or a "Save SQL Server Data As Excel" without being fucked by their own file formats.
Yeah, couldn't be that some people actually BELIEVE WHAT THEY WROTE, right??
Why is it that every OSS zealot has to insist that any point of view contrary to their own is the result of a derranged mind?
You want to try and convince me that Microsoft is evil and that I should shun absolutely anything coming out of Redmond and that I should embrace the OSS world? Fine, try and convince me. Do it logically and without insulting me. You'll find it's not that hard because I hate Microsoft anyway, but I don't hate every product they produce, in fact I very much like some of them (Win2K, Office in general as two examples).
BUT DON'T FUCKING DO IT BY TELLING ME I'M A NUTCASE OR A PAID LACKEY OF SOME CORPORORATE ENTITY BECUASE I DON'T CURRENTLY AGREE WITH YOUR WORLD-VIEW!!
Another group of people acted the way some of you people act... we fought a world war against them...
If a pion (n-) collides with a proton in the woods & noone is there to hear it, does lamdba decay into the source pa
XML can be whatever you want it to. XML does have standarads, but just standards for wrapping data with control codes, not what the control codes mean.
While StarOffice may use an XML word processing format, it won't be what MSFT will use.
-twb
Which then by virtue of market share becomes standard. It is actually in their best interest to publish it clearly. Then the other potential competitors will feel strong pressure to fit their software to match MS and have no real excuse why they can't. If MS waited there would be some other standard emerging and MS would be pressured by customers to adopt it. Then it would be MS having to shoehorn its document logic into some other form and not the other way around.
While other potential competitors are playing catch-up with making their documents fit into the MS schema MS can be busy thinking about the next thing to do.
So frankly I expect the word document xml (and excel and the rest) to actually be quite clear and documented but very aligned to how MS Word sees a document, which will likely impress others as obtuse.