Sunday, 20 January 2008

OS X Packages and Version Control

Chris's blog about ClearType fonts in OS X got me thinking about other issues with Microsoft Office and iWork.

One 'good' thing about Office is that the documents it creates are truly single files, as opposed to iWork where it's documents are OS X packages, or bundles, in particular document bundles.

A bundle is simply a folder with sub-folders and files. OS X and the application that created it knows it's to be treated as a single entity.

This is important when considering a version control tool for OS X. Most (if not all?) version control tools work at the file level, they don't know how about bundles. I would love to use iWork for our documentation, but see here how it can go wrong (some comments offer solutions).

It seems to be an issue with version control tools that want to litter your working copy with a hidden file or directory per directory (CVS, Subverison). On the other hand, more modern version control tools like git or Mercurial don't seem to suffer from the same issues and CVS and Subversion.

We deliver documents to our clients as PDF, so it shouldn't matter what tool we use to generate them. On the other hand, clients may well be Microsoft-bound, and may still send us Word documents.

But how do you send a cross-platform spreadsheet, or PowerPoint presentation?

I suspect we may be stuck with Office for a while yet...

3 comments:

Chris said...

Such a shame about iWork docs and subversion, etc. It is really a problem with iWork, that when you save a document it chooses to mess with the hidden files that are nothing to do with it. There are workarounds to reinstate the subversion files following a save, but it is all a bit of a nightmare. Apple should fix it.

In the meantime... consider git, etc, but how many times are you prepared to change you config control system?

The only positive that can be taken from this (I think) is that it might make you reconsider creating yet another document. Aren't there enough effing documents in the world? What's it for? What does it say? Does it have any point? Wouldn't it be better expressed in another form, e.g. a Wiki?

Steve said...

@Chris: That's a very good point you make in your last paragraph: why do we need the document in the first place? Well - requirements capture and testing spring to mind. Surely even you can't deny these processes are necessary to some degree?!

However, I guess your point is - why must we use iWork or Office to document these processes? The tool - whether it be Word, Pages, Acrobat, whatever, is only the means of documenting those processes. Are we using the right tool?

And, yes, perhaps the holy grail of requirements-capture-tools-with-built-in-test–script-generation which uses an underlying database, separate to the version control mechanism may be a better way to express those processes. But that only solves the problem for some documents.

Can you do a Keynote/PowerPoint presentation on a wiki? :-)

JoJo said...

Look, not all documentation is bad, remember - no quality process, no ISO certification, no business. If it adds something to the process, it is good, if not, it is bad. This judgement should be made on a word by word basis though!

Open Office can be used instead of Microsoft Office for some tasks (not sure about powerpoint compatibility). Being bound by the way you customer works is not just limited to Word though, see Visual Studio for examples.

Post a Comment