Posted in: Outliner Software by Edwin on November 16, 2011
This decision was hard to make, but I’m going to significantly change the design of Writing Outliner, with the intention to completely fix the problems Writing Outliner currently have.
The current problems
# 1 – Instability and low performance
Writing Outliner hacks MS Word too much – the major problem is that during a session (during the time you open a project file and until closing it) Writing Outliner uses only one actual Word document to do all the editing, that means when “switching” documents it will have to delete the old content in the current document window then load new the content from the new file (I know, this is dangerous, but Word’s API is too limited).
This cases noticeable slow speed, and most importantly, in rare cases, causes data loss (several users lost several hours of work, and they are angry, I’m sorry) .
And this problem is very serious, and I’ve spent a lot of time trying to fix it, however, with the design describe above, there is no reliable way that I could find to fix it with the current implementation, thus the proposal to make a big change which will complete solve the problem (I’ll explain why below).
# 2- The None-human-readable file format.
Currently all files in a project are stored in a single Sqlite database, the Sqlite file format itself is open, however, it’s not human readable.
The big changes to be made
1 – Open each document in separate Word document window, thus switching documents will not require Writing Outliner to delete old document contents (described above).
In other words, no data loss will happen caused by Writing Outliner itself, because Writing Outliner will not modify your original documents except during a text replace operation.
2 – Use folders in your computer as project storages, instead of the .woprj (Sqlite) files. All your data will be stored in your folders and can be edited without Writing Outliner.
The benefits we’ll gain
A - More stable, as explained above. This is the most important thing.
B - Faster document loading – because the documents will be stored in the physical computer folders, no more intermediate layers.
C – Fully open and human-readable data formats – because the documents themselves will be stored in your disk as they are, and the document properties will be stored in plain text (JSON format).
A side effect to note
When Writing Outliner is enabled (it can be disabled on the fly), you’ll work in a single Word window, switching projects and documents will be done via the outline sidebar and tabs (which I believe will be more handy than switching documents using the Windows taskbar).
This is because the “show all windows in the taskbar”" Word option will be disabled.
At this point, you might ask how about the ordinary Word documents that are not part of any Writing Outliner project? They’ll be organized in a virtual project called “Other Documents” (Feel free to suggest a better name).
This will be a big change to Writing Outliner and all questions, comments and suggestions are welcomed.
Blog Update 1: It’s not a complete rewrite, so most of the UI will remain the same.
Blog Update 2: Support for 64 bit version of MS Word 2010 will not be possible yet.
Blog Update 3: I presume the change will allow Writing Outliner work with other Word add-ins that are currently conflict with it.
Blog Update 4: Your existing Writing Outliner projects will be able to migrate to the new format. For now, please do data backup frequently – use the ‘Export all files to folder’ function.