Perhaps you have noticed, perhaps not, it looks like something called Open Document Format was approved (see link below). What it is? Well, a description of standard objects and their representation that can be present in an office
document.

Yes -- I saw that this was announced on Slashdot today, and was going to actually post here about it... you beat me to it though, Stefan. :)

I've started to read the specs just to see what it is and get some background in case we decide to move forward with using this in Etoile at all. Here's what I've discovered (keep in mind that the spec is almost 700 pages long and I've just started reading it; some of my interpretations may be incorrect):

What it is? Simply: gooid idea, but...

As you might think, it is XML based file format.

There are two types of file formats in the OpenDocument spec: XML single file and XML-based ZIP Package.

The XML-based package bears a striking resemblance to OS X's bundles and the following description on the Etoile Components page < http://dromasoftware.com/etoile/mediawiki/index.php?title=Components >:

"...a bundle which includes each component as a standalone document and an extra xml file describing/encoding the composite structure of the document..."

The biggest differences are the structure of the XML used in the spec, the separation of content and presentation, and the fact that the package's directory hierarchy is represented as a single ZIP-archived file.

Some of the other nice things I've found are detailed in chapter 17 of the spec, such as support for: - metadata within the package itself (inherent, custom per app, and user-definable) - thumbnails, including details such as where it should be stored, what it's file type should be, what size it is, what it's name should be
 - encryption

The specification contains information about different document variants, such
as:
* word-processor document
* spreadsheet
* presentation
* drawing
* math
* ...
It contains description of objects and their properties that build those
documents.

Yes -- it seems to be very component-based. It is also very application-centric. I think that can be overcome with some creative ideas, though.

Very positive is, that it describes well known concepts from existing office
applications and puts them into a single place.

See Appendix D of the spec -- very nice overview of what should be supported per each application. If we shift our interpretation of the columns they use to represent apps to instead be viewed as the actual components (Text, Spreadsheet/Table, Drawing/Vector, Image/Raster, etc), I think we have a good idea of what types of palettes or services we would need to provide for each component type. Very good info.

What I do not like the most is,
that the document, perhaps not intentionaly, defines boundaries of another closed monster environment called "office desktop". The structure puts limits
to the application behaviour.

With due reason, it's application centric. I think that it's flexible enough that that can be avoided however, while still generating files that conformed to the format. Once thing I don't like it is that it's very MIME-centric as well. Perhaps we can also incorporate the UTI system into this format for our own environment?

How it is related to Etoile?

The office desktop is a collection of tools - office components, that work
together on a single document. Which is, in its nature, not bad and it
resembles subset of what Etoile wants to do. Correct me if I am wrong.

You will have an office sub-environment which will work on a object repository called office document. Objects are defined by the specification. Etoile is
more than that.

The OpenDocument spec is not limited to the office formats they describe. It was designed to be useful for other document formats -- but it's up to the developers creating the new format to determine the details. It does (as far as I can tell) describe a "generic" document -- that could be used as the basis for our documents while still allowing us the freedom to add the other components that we desire. Because this was developed with an Office workflow in mind, the various parts (text, table, etc) were designed to interoperate. This is exactly what we need as a stepping stone for building a flexible format that incorporates many types of media.

Anyway, I think, that as this standard looks like it is going to be adopted by major office applications, Etoile should not ignore it and keep it in mind.

It already is the native format for OpenOffice, and KOffice as well IIRC.

I do not say, that we should implement it, but at least have interfaces that can be made compatible with the specification. As Etoile project based environment
is object based, I think that creating Open Document exporter would be
something like creating Open Document NSArchiver subclass.

Based on my initial readings of the spec, it seems like a great starting point for our document format. It may be more complex than what we initially intended, but it provides some awesome benefits:

 - Compatibility (which leads to a lower entry barrier)
 - Foundation for component based desktops
 - Approved, well defined specification to work from
 - Prior work to pull from (OpenOffice, KOffice)
- Document format (package-based) that fits what was initially conceived for Etoile

Summary:

* open document format was accepted and it is going to be used by major office
apps
* file is XML based
* specification defines office objects observed from current office apps
* specification defines office sub-environment
* Etoile should be able to cooperate

Reference: http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office

My opinion, if someone is interested, is: I like the initiative. I do not like the trend of office spearation from other desktop objects, however this is
another long story...

From what I've read, it seems like all of an environment's file formats could theoretically be integrated into one system -- this simply focuses on office formats because, well, it's an initiative by OpenOffice :)

What do you think? How do you see it and how we should stand to it?

I like it. I think using this as the basis of Etoile will provide exactly what we originally conceived and more in terms of a document format, and it will make Etoile stand out as a desktop environment by integrating the spec so thoroughly into the environment.

I will continue to read up on it and see if all of this hype I'm giving it is actually well founded :)


J.


Reply via email to