Friday, June 08, 2007

Adding Keynote and Pages files to Idea Pages

We just found out about a new problem: if you add Keynote or Pages documents to Idea Pages, you cannot open them from within Kerika by double-clicking on them, in the way you can open other files (e.g. Excel spreadsheets). In fact, Kerika cannot handle Keynote (.key) or Pages (.pages) files very well, and unfortunately this is not a problem that we can't fix in the short-term. (This problem was reported by one of our users, who therefore qualifies for the bug bounty.)

Here are the gory details for those who might be interested:

Kerika's document management system was designed only to handle files. Some fileson a Mac, e.g. Keynote pages, are actually folders. When you add these to an Idea Page, you cannot open them by double-clicking them – as you could with other files, e.g. Excel spreadsheets.

We don't allow file folders to be added to Idea Pages because we don't have any good way of knowing when a "file" that's actually a folder has been updated. (We need to know that a file has been updated so that we can automatically send the new version to the rest of the team.)

You might think that knowing when a file has been updated is a simple matter: just take a look at the timestamp or the size of the file and see if it has changed. That's true in most cases, but not all, and the problem gets particularly difficult when you are trying to create a true cross-platform application like Kerika that provides the same level of functionality on Windows, Macs and Linux.

The problem is actually with Microsoft Office files on Windows, at least with Office XP (and possibly later editions). Microsoft Word, for example, uses a bit of padding when it saves your document. So if you make just a minor change to a document, e.g. add a word or two, the size of the file – as it shows up on disk – may not change at all because the extra words you added were accommodated within the extra padding that Word used the last time it saved the file.

With Microsoft Excel, on the other hand, there is a different problem: as soon as you open a spreadsheet using Excel, the timestamp on the file immediately changes – even if you haven't made any changes to the file. So if you open a spreadsheet and keep it open for a long time, during this time the file will appear to have been modified – at least from the viewpoint of the timestamp – even though you haven't made any changes yet.

As a result, you cannot rely upon either the timestamp or the size of the file to be sure that it has really changed since the last time you took a look at it – at least for Office XP documents, which are a big chunk of all the documents that our users deal with on a daily basis.

So Kerika does some more complicated stuff with digital signatures to figure out whether a file really has been modified, but this method would not apply very well to folders. Hence, the decision to not allow users to add folders to Idea Pages.

Fixing this problem is possible no doubt, but not something we can do in the short-term, which is why this has been added to the list of Known Problems. (And our intrepid bug finder gets the bug bounty!)

0 Comments:

Post a Comment

<< Home