Creating your own Assets in Quoll Writer

Version 2.6 of Quoll Writer introduces the ability to create your own Assets.  An Asset is any type of thing that may relate to your story that you want to keep track of.  For example I am currently writing a science fiction story set in spaaaaace and I want to keep track of the planets I’m creating, now I can.  Additionally I can record as many fields or bits of information about my new type of Asset as I need.

Note, these new “user customizable fields” as I call them also apply to the standard, existing Quoll Writer Asset types of Characters, Locations, Research Items and Items.  Everything that applies to new types of Assets also applies to them.

Any new types of Asset you create will be available in all of your projects.

Creating a new type of Asset

To add a new type of Asset right click on an existing section in the Project sidebar (or right click on the background of the sidebar) and select Add new type of Object.  You’ll see the following popup.


As should be clear this first step sets up some basic things about your object.  Things are pre-filled in to get you started.

Clicking Next > takes you to the next step where you can add fields.

Adding fields to the Asset


A couple of “standard” fields will be automatically setup for you, this is to allow you to quickly get going by clicking Next a few times.

There are a number of different types of field you can add.  To add a new field click on the + icon above the fields.  A few of the field types are described below.

You’ll notice I named my new type of object “Planet”.

Adding a single line text field

To add a single line text field to the object, click on the add field button then select Text from the drop down list (it’s the default).  You need to give the field a name, remember I’ve already got a “Name” field which would be for the name of the planet.  In this case I want to record what the main spaceport is for the planet is so I call my field “Major Spaceport”.  You can change the name later.  Click on Save to add the field.

Note: if you want to have aliases or other names for the object check the Is other names/aliases for the planet, any values you enter in the field will be assumed to be an alias for the object and thus identify the object.  You can have as many fields marked as aliases as you want.


Adding a multi-line text field

To add a multi-line text field (think more than one line) select Multi-line text from the drop down list on the add field form.  Here you have the option to display the text entered as bullet points and it can also be aliases/other names.

In this case, I want to record the main imports/exports for the planet and have them displayed as bullet points.


Adding a number field

Finally I add a number field and you guessed it I need to select Number from the drop down list.

In this case I want to record the population of the planet, you can specify a maximum and minimum value for the field (this can be useful if you want to record a value that usually has well known limits, for example the age of a human).  The maximum/minimum are optional to complete though so you can ignore them if they don’t interest you.


Other types of fields

The fields above are just some examples to get you going, but you can also add:

  • Web links
  • Lists of things
  • Images
  • Dates

A future version will also add the ability to link different objects together, so I might create a “Spaceport” object and then have a field in the “Planet” object to directly refer to the specific Spaceport object.  Other improvements will be to have an image “gallery” that allows you to have one field for multiple images.  I also have plans to move the existing “Documents” section to be just another field.  I wanted to do all these things in version 2.6 but I just ran out of time.  If you would really like to have these things added, or have ideas for other fields then let me know.

Moving fields around

Some of the field layouts, which are discussed in the next section, take the order of the fields into account.  You can move the fields up and down in the list by using drag-n-drop.

Selecting how the information is displayed

So you’ve selected the name of your object and added some fields about it.  Now it’s time to decide how the fields/information should be displayed.

Shown below is the layout selector.  By default the fields will just be shown in a single column.  Once created you can change the layout as much as you like and the display of the object will be updated.


The layout you choose will affect how the fields are displayed and how they are shown when you are adding new instances of the object or editing them.  Some examples of layouts are shown below.


A layout with the description on the left hand side, other fields on the right



The same layout as the previous example but this time for editing the Planet.



In this layout no field is given any special prominence and they are displayed in two equal columns



Same layout as above but you’ll notice that the name field is given special prominence.  This is because you don’t want to have to try and find the name at the bottom of a column

Changing the layout is easy and I would encourage you to experiment to find the layout that suits your needs the best.  In general the name of the object, the description and its image are all classed as special fields for the layouts and are treated in special ways.  For example, the layouts that give the object description special relevance will try and make that field as big as possible, the object image is also shown in a specific place.

Changing things around

Once you’ve saved the information about your new object, you can easily change things around to fit what you need.  Just right click on the type of object in the sidebar or right click on an instance of the object when viewing it (in its own tab) and select Edit the Object information/fields.  Any changes you make will be immediately reflected in the object tab.  You can change the icons, the name of the Asset, add new fields, remove fields, change them, move them around, go wild 🙂

However, I recommend creating your own type of Asset first and learning how to add fields/move them around and so on before changing any of the standard QW Asset types (i.e. Characters, Locations and so on).  Bear in mind that if you remove any fields from those standard objects you may lose information, so take care!


Using Tags to group things together in Quoll Writer

Another of the new features added in the 2.6 update is the ability to “tag” objects to bring them together in a single group.

So let’s say you are writing a story about The Red Hand Gang, you’ve added all your characters but want to group the core characters together under one section.  It’s now easy just add a new tag called “The Red Hand Gang” (or whatever name you want to give it) and then either drag-n-drop the characters onto the section, or right click on the character and select the tag from the “Tags” menu.

Here’s what it looks like:


(Anyone else remember The Red Hand Gang or am I just old… actually don’t answer that!)

Any tags you add will be available to all of your projects.  I’m still on the fence about per-project tags, but if you have a strong view on it, let me know.

So let’s go through the management/adding of tags in detail.

Adding a new tag from an object

First off we need to add a new tag.  Probably the easiest way is to add the tag from the object.  In this case we are talking about characters so right click on the character in the characters list in the sidebar and from the Tags menu select Add New Tag(s).  You’ll be shown the following popup:


You can add as many tags as you like, just separate each with commas (,) and semi-colons (;).

The tags will be added/applied to character Lil’ Bill immediately.  Note however that the sections associated with each of the tags won’t be added to the sidebar.  To make the tags available you need to add them individually, right click on a current section and select Add section below or right click on the background of the sidebar and select Add section.  Then select the tag you want to add.

Adding/managing tags in general

If you want to manage the tags in general, i.e. all at once.  Then either right click on the background of the sidebar and select Add/Manage the Tag(s) or, in the Options panel, go to section Assets & Tags and click the Manage the Tags button.

Whichever you choose you’ll see the following popup:


An important thing to note here is that if you remove any tags using this popup then they will be removed from all of your projects.

While you can rename a tag from this popup by double clicking on the item and changing it you can also rename a tag from the tag section in the sidebar, right click on the tag name and select Rename.

Remove a tag from the current project

To remove a tag from just the current project, right click on the tag section in the sidebar and select Delete this Tag, you’ll then be shown the following popup:


As you can see this gives you the choice of removing the tag from all projects or just the current project.

Removing tags/adding existing tags to an object

To quickly remove tags or add existing tags to an object just right click on the object in the sidebar and in the Tags menu check/uncheck the tags that you want to apply/remove.


Please note I am aware of the annoying bug that makes the highlighted text in the menu white.  This is an “other people’s software problem” (which is the bane of my life btw).  I have contacted the developer responsible for this issue a couple of times and he has ignored me.  QW3 will remove the need for his software altogether thus solving the issue.

Version 2.6 – nearly here

Good news everyone!  I’ve now finished testing and bug fixing of QW and have moved into the final phase before release.  This period can take anything from a couple of days to a week depending on whether I find any issues.  During this time I actually use QW for writing (it will be nice to get back to that) and try and flush out anything that wasn’t detected during testing.  Think of it as general purpose beta testing.

Also during this time I’ll be preparing the install file, the documentation for the website and the update information that QW itself contains.

I’ll be honest, I’ll be glad to be rid of this release, but more on that in a later post.

Version 2.6 – an update

Just a quick note about version 2.6.  I am still testing at the moment but the good news is that said testing is now approaching completion.  There are nearly 500 formal tests for QW and there are probably that many informal tests again that I run to check other things.  Most tests are an aide-memoire for a specific feature which gives you an idea of the size that QW has grown to.

I’ll be honest, development and testing of version 2.6 has been a long and complicated affair and it hasn’t helped that the changes for assets has impinged on every functional area (for example I am currently testing Editor Mode and sending an update to a project was broken because of the new user configurable fields).

On the upside, I have nearly finished testing Editor Mode and there are only a few minor areas left to test after that.  So I’m hoping (oh god I’m hoping) that testing will be complete by 7th May and then I can release maybe a week later.

What’s coming up in version 2.6

I haven’t done one of these for a while but to be honest there wasn’t much to talk about.  There have been a few “point” releases of QW since version 2.5 but nothing major to discuss.

However in version 2.6 some big changes are coming.

The two most requested features I get asked for nowadays are:

  1. More configuration, i.e. customizable fields, for assets (characters, locations etc).
  2. A dark theme for nighttime usage.

Item 2 won’t be happening (probably) until I can do version 3 of QW.  Version 3 will be built on a completely new technology called JavaFX and will support a slew of new features.  It will also be a very big change that is going to take some time and certain other things need to be in place before I can even think about moving, but it is coming.  As a side note native Linux and Mac versions will be possible when I move to JavaFX.

Version 2.6 will deal solely with item 1.  At first glance it seems like an easy thing to do, just allow users to add new fields, but the implications of doing so are huge.  I would add that an ancillary feature request often tacked onto the request for new fields is the ability to arbitrarily group and order items.

With the preamble over, here’s the 10,000ft view of what will be new in version 2.6.

Drag-n-drop of sections in the project sidebar

Currently the sections in the project sidebar (the panel that shows the chapters and characters and so on) can’t be customized very much.  You can either open or close a section and that’s your lot.

Version 2.6 will allow you to drag and drop the sections around, reordering things to how you would like them to be displayed, so if characters are the most important to you then drag them to the top, or if you are in the middle of getting feedback from your editors, drag those to the top.  The choice will be yours.

Adding/removing sections in the project sidebar

So you can drag-n-drop sections but what about if you never use a section and don’t care about it?  Well in version 2.6 you’ll be able to hide sections (and reshow them) whenever you like.  If you are not using “Research Items”, then why not hide it and save some space.

New object types

You’ve now removed all the things you don’t need in the project sidebar, you’ve moved things around to fit how you like them, but what about if you have something that isn’t an “Item” or a “Location” or a “Character”?  What about if you want to be specific and have a list of Cheeses or Spaceports or Books or Candlesticks?  In 2.6 you’ll be able to create new types of objects and each type will become its own section in the project sidebar, which you can hide or show as you wish.

Customizable object fields

So you’ve created your “Cheeses” object type, now you want to record some information about them, maybe stuff like “Smell” or “Color” or “Consistency”.  In 2.6 you’ll be able to add as many new fields as you’d like and record as much information as you like.  Here’s a list of the types of fields you’ll be able to add:

  • Text – a line of text
  • Multi-line text – err, multiple lines of text
  • Files
  • Select an item from a list of possibilities (think drop down list)
  • Number
  • Date
  • Web link
  • Another object – for example you might want to associate a character with their favorite cheese


Your object is created, your fields added but now you have a different problem, how should the information be laid out and displayed?  A number of possible layouts will be available.  Some possibilities are shown below.

BTW, if you eat cheese that has pickled onions in it (yeah I’m looking at you Mersey Valley) then there is something wrong with you.  Seriously go see your Doctor, you are either pregnant or mad.

object-layout-1 object-layout-2 object-layout-3Tagging

But wait!  There’s more.  I’ve sometimes been asked to allow sub-groups or sub-types of objects to be created, or to allow arbitrary groupings of objects together that have some sort of commonality.  If we stretch our cheese example a little more, how would we group together characters, locations, chapters, notes and whatever-else-you-can-dream-up into a single easily identifiable group?  The answer I propose is tagging, that is you apply the same tag or label to each of the relevant objects.

So if you have a character that is obsessed with Wensleydale (let’s call him “Wallace”) and his location may be “62 West Wallaby Street” and you’ve created a new type of object called “Dogs” and you have a dog called “Gromit” and you have chapters called “A Grand Day Out”, “The Wrong Trousers” and “A Close Shave”.  You might give each of these objects the tag of “Where’s the Wensleydale Gromit?” to group them all together.  You’ll then be able to see the tagged objects in their own section in the project sidebar.

It will look something like this.

Cheeeeese Gromit!

Cheeeeese Gromit!

The advantage here is that you can group items together without having to nestle them within a sub-branch of a tree, they remain accessible at the top level and can be dragged and dropped around like any other section.

To add new items to the group you just drag them from another section… which leads me to…

Drag-n-drop items within a section

The final new feature deals with moving items of a particular type around in their section.  You can already drag-n-drop chapters around to order them, so why not characters or locations?

When will it all arrive?

Not sure yet.  I’ve already done the drag-n-drop and hiding of sections and I’ve started on the customizable fields and layouts, but I won’t deny, it’s a huge piece of work that impinges on a large number of areas and that means time.  Christmas is also in the way as is the unforgiving Brisbane summer, where you often feel like mother nature is lurking behind every ominous looking cloud with a piece of 2 by 4, just waiting for you to drop your guard so she can smash your head in with it.

Sometime in February 2017 is a realistic date but it could take longer.  My wife starts a new job (and career) in February and my son starts a new school then too so it will be hectic time and little may get done.  Life finds a way of getting in the way.

Moving your Quoll Writer projects to a new computer

One question I’m frequently asked is “I’ve had to change computer, how do I move my projects to my computer?”  Variations also include, “I’ve a new hard drive” and “I’ve had to restore my computer”.

Quoll Writer stores your projects on your local hard drive.  I have been asked about providing an online “cloud-like” service where your projects are stored in the ether somewhere but I’ve never gone that route for a few reasons, mostly because it’s very difficult to do technically and more importantly I would have to charge users for the service.

I do recommend you use some sort of back-up service for your projects however.  There are a multitude of these around, many of them free, some examples include:

There are many more, just do a Google search for “free online backups” or “free file syncing” or similar.  For file syncing apps you can usually just move your QW projects to their syncing folder and then you’re done.  If you have a hard drive failure or have to restore your computer you then just re-download the projects.  If you aren’t using a backups service of some kind go now and set one up, I can wait, this is a blog post I’m not really here.

All done?  Good, now you have some protection from hard drive failures, Cthulhu, Mothra and so on.

But what about if you move to a new computer?  In that case all you need to do is tell QW where your projects are now and it will do the rest.  It’s easy to do, just follow the steps below.

Step 1: Open the Projects window

The Projects window lists all your projects.  If you are currently in a project window just press “Ctrl+O” or go to the Project menu (the cog in the top right hand corner) and select “Open Project”.

Step 2: Open the “Find your Projects” popup

In the Projects window open the menu (again the cog in the top right hand corner) and select “Find your Projects”.  You’ll see the following popup.


Use this popup to find your projects


Step 3: Find the folder where your projects are now

Find the folder where your projects are now, then click “Find”.  QW will scan the folder and sub-folders looking for projects, if it finds any it will add them to the Projects window.

Repeat steps 2 & 3 until you have all your projects.

The same process can be used if you just transfer the projects via a USB stick or direct transfer between the old and new machines.


Some changes to QW, but you will barely notice

Changing the way that QW is installed, upgraded and runs has been on my to do list for a while now.  Specifically the following issues have been cropping up and it’s time they were fixed (spoiler warning, they are in version 2.5.3):

  • Having users download and maintain their Java installation.  I’m a strong proponent of “your machine, your choice” but with 20/20 hindsight it’s clear that my desire for the end user to manage their own Java installation was a mistake.  It causes a number of issues, not least sometimes preventing QW from running because the version is out to date.  Future versions of QW will have its own version of Java embedded in it cutting out a plethora of issues.
  • Installation permissions, sometimes Windows gets finicky about permissions and install locations.  Future versions shouldn’t have this problem, although I can’t guarantee it.
  • Upgrades will be simpler.  Future versions will use a single installer for initial installations and for the upgrades.  This ensures that the Java version QW is using is always correct and that the files QW needs are always present and not in conflict with one another.  At the moment the upgrade process has to keep track of what files are no longer needed and remove them when it upgrades.  It’s all very messy and painful.  The new installer will remove the old installation first to ensure that things are in sync.
  • Anti-virus false positives.  Every time I release a new version of QW I have to spend a substantial amount of time contacting anti-virus companies to get them to remove the false positive malware mark they impose on the QW installer.  This is, I believe, because the current installer contains a .exe file that will download Java for you.  The new installer doesn’t have the .exe file so hopefully it won’t be marked as malware.

Now these benefits aren’t without a cost, which is that the size of the install/upgrade file will grow substantially due to the inclusion of Java.  The current new file is about 63MB in size which is about 25MB bigger than the current installer and about 45MB bigger than the upgrade file.  There are also a couple of extra clicks required from you to complete the upgrade.  So there is a cost for you the end user (probably in time more than bandwidth) but the bigger cost is for me, I’m not entirely sure how much more this will cost in download allowance from Amazon, time will tell.

My thanks also go out to EJ Technologies who have very kindly given me a free license (since QW is open source) for their excellent install4j multi-platform installer builder which I’m now using to create the installers.  As the name says they also support Linux and Mac so once I’m happy that QW runs on those platforms I should be able to create native installers for them as well.