Sunday, March 21, 2010

Realization

While mulling over some of the potential problems with the standard, particularly what to do about scene text, when I had a realization.  I'm writing a standard here, not trying to force particular softwares to get along.  It isn't my job to figure where to put scene content in StoryBook (which doesn't have scene content).  It *is* my job to make sure the standard has a way to handle scene content, as some novel software does store that, just as it is my job to have a place to put StoryBook's "strands" - but not to figure out where to put those strands in yWriter or any other software.  The standard is one big container capable of holding everything but not always holding everything.

The story changes a little bit when talking about the potential Universal Translator.  That software, when I or someone else write it, will basically be a shell with plugins.  Each novel software has a plugin, responsible for converting to ONX and from ONX.  That way, in order to convert from yWriter to StoryBook (for example), the Translator uses the yWriter plugin to translate to ONX and then the StoryBook plugin to translate from ONX - there is no direct conversion between two different softwares, that's the whole beauty of the standard.  Those plugins have a couple of different options on how to handle things.  At a minimum, when converting TO ONX they should include ALL information their software stores (assuming the ONX standard is up to snuff and has a place for all of it, which it had better); when converting FROM - at a minimum - it should grab all information it has a place for and throw out anything it doesn't.  But it can go a little further - it can do some of that hide-things-in-unlikely-places magic previously discussed, or it can do what I think is the best option.  That is, to keep the ONX file somewhere.  When converting back from their format to ONX (regardless of where the ultimate destination is), it allows the selection of creating a new ONX (if an old one doesn't exist, or the desire is to get rid of it), or it allows the selection of an EXISTING ONX file - in which case it UPDATES the ONX file with anything that has changed, and leaves everything else in place (including stuff that was never brought from the ONX file into the software, i.e. scene content in the case of StoryBook).  That way, if the ultimate goal is to then convert it to another software (where it previously was, or of a similar type to software it was previously at), information isn't lost.  Or even better, it allows for the selection of an existing project file in the destination software - only updating information there rather than creating a new project.

The best example is going back and forth between something like yWriter and StoryBook.  Say you start laying out your novel in StoryBook - define characters, locations, timelines, strands, etc.  After working on that for a while, you're ready to actually do some writing.  So you use the hopefully-someday-created Universal Translator, which operates on the ONX standard, to convert from StoryBook to yWriter.  Now you can work on writing in yWriter - actually put some words in those scenes of yours.  You have access to all your characters, locations, etc. and everything yWriter does with them - no need to re-type them (of course you won't have access to 'strands' or other StoryBook specific stuff while in yWriter).  But you come across a bit of problem and need to some more organization / re-ordering of your novel.  Open up the Universal Translator and convert back to StoryBook (selecting the existing StoryBook file) - any changes you made to characters, location, etc. are available to you here in StoryBook, and your strands are still there and everything (some work might have to be done regarding *new* chapters/scenes as far as where to put them in strands; and of course scene content would not be available to you while in StoryBook).  Make your changes, and convert back to yWriter.  Your scene re-order, any character or location changes, etc. is now present in yWriter, you still have your scene content, and you are one very happy writer.  And THAT is why I am working on this standard.

No comments:

Post a Comment