Evolution of yWriter

Almost ten years after yWriter1 first saw the light of day, yWriter5 is easily the most popular app in the Spacejock Software stable.

Every version of yWriter can import files from all previous versions. The only exception is importing from yWriter1 - which was never released. Future versions will also be able to import projects from all older ones.

These images show the evolution of yWriter from version 1 to the latest version

yWriter1 was first put to work in 2000/01, and was never released to the public. It was basically a front-end for a collection of Word 'DOC' files, which allowed me to keep my scenes in a list and open them (in Word) by double-clicking.

Unfortunately Word would often remain stuck in memory with no visible interface, and it was common to see 20+ zombie copies of Word in Task Manager. Like zombies they were hard to kill.

yWriter2 was released in 2002, and I used it to write my second novel. It only supported plain text scenes, and the most common request was for RTF support.

yWriter2 project files consisted of a central project file plus a plain text file for each chapter. Scene text and all scene details were combined in these chapter files, which made adding new features all but impossible.

Enter yWriter3, which I debugged and released during the writing of my third novel. (Spot the trend here.)

This version supported RTF files and added items and locations.

The project format involved creating distinct files for every piece of text in the program, which led to thousands of individual files for complex projects.

yWriter4 marked the last version written in Visual Basic 6. It was primarily written to tidy up the yWriter3 code, adjusting the interface and file handling to make it easier to convert to Visual Basic 2005.

Version 4 introduced a new file format, with a single project file and a separate RTF file per scene.

yWriter5 was the culmination of months of intense coding and debugging. Converting 60,000+ lines of code and ensuring everything still worked was a huge task.

In version 5 the file format consists of an XML project file (plain text, with a .yw5 extension) and a separate RTF file for each scene's content. The latter are stored in an RTF5 folder in the same location as the .yw5 file.

yWriter 6 came along with a new YW6 project format, which included the scene content in the project file for the first time. This came about because of the rise of cloud storage, which had issues with all the RTF scene files in earlier formats, and also thanks to the requirements of the new Android and IOS versions.

Next came yWriter 7, which introduced the YW7 project format. This new format allowed me to simplify and tidy a lot of the program's code, and since it's been designed for future compatibility, it may be the last time I need to come up with a new data format.

There's also a new yWriterMac, which is a native application for MacOS computers. Under the hood it uses the same code as the Windows, Android and IOS variants, which means 100% compatibility for your projects.