Download Choosatron Write


Since I managed to actually build the Choosatron Write app for Chrome, I thought I’d offer it here.
Extract the archive to a directory on your hard drive, and as noted in the build instructions:

Open Chrome and go to your Chrome extensions
Ensure that “Developer mode” is checked.
Click “Load unpacked extension…” and select the build directory.


Edit: Here is the latest Developer Build. This includes fixes for Twine Import (doesn’t work properly for me yet), HTML export (works fine on the one file I tested).

Edit: Export now works on the developer build. You can export files to the Choosatron and they will play, even with appended passages. Download the latest April 10th build.

Edit: Master build updated 15th June 2015. There were hundreds of source code changes. Most of which updated dependencies (the core libraries the Write depends upon to function). One of the bigger updates is that Twine import should now be fixed, although this doesn’t support ‘in line’ links.

For example: This text is a passage in a Twine story. You have the option of providing links throughout the passage to go (North) or (South), which may lead you to wondrous places.

If North and South are links, the import isn’t going to work properly. I haven’t tested this to confirm it, but that’s my understanding.

As such, I’ve left it in the ‘still broken’ section, until such time as it can be tested properly.

What’s still broken:

  • Twine Import (Passages with ‘in line’ links may fail to import properly)
  • Account Login / Creation
  • Add Choosatron (due to the difference in the way Mac and Windows PC’s see the device I believe)
  • Popup messages don’t fade out

These have all been reported and are being worked on. I’ll update the builds every few days as issues are reported and fixed.

Write Develop - 10th Ap 2015
Write - Master 15th June 2015
Write - Develop 15th June 2015


I have a story in Twine 2 but Twine only lets me export/archive it as a html file, yet Write is looking for a .tw file. What am I doing wrong? (I realise that you said Twine import is not working for you, but I wanted to try anyway).

If Twine import is not working, how are you creating DAM files? Are you creating them directly in Write?


Judging from other posts, I think I need Jerry’s “gross” python scripts to compile the Twine story. Are these available anywhere?


Yes, I’ve been using Write to write a story. Twine import does work now on the Developer build. So if you download and install that version in Chrome you should be able to import a Twine story.

If you’re using Twine for Windows, you’ll need to update to the latest version and go File -> Export -> Twee Source Code.
That should export a .tw file. The latest Windows version is 1.4.2. You can download it via

I’ve updated the first post to show that Twine import is working.


Thanks Rodney. I managed to write a few passages of my story directly into Write, save the DAM file onto an SD card and load it into the Choosatron - success!

My existing Twine story is 31 passages, so I’m trying to import it rather than copy and paste it into Write. First thing I realised is that I was using Twine 2 which is why there was no option to save as twee source code. I went back to Twine 1.4.2, found the option and exported as a .tw file. However when I try to import it into Write, I can see the .tw file in the file browser when importing, but Write doesn’t actually import it. Not sure if this is because my original story references image files, or that my story from Twine doesn’t have the 1, 2, 3, 4 options as per the Choosatron.


Try importing this file.

It’s my Cinderella story in .tw format. If it works, then there’s an issue with the formatting of your story. If you have inline links that may well cause an issue. It’s something I tried to avoid where possible. I don’t know how Write would handle images, I’ve never played around with them. I can only suggest you remove them in an alternative version of the file and see if importing that works.


I do have inline links in my story, and I suspected this might be a problem. Having said that, I tried to import your Cinderalla file and that also did not import. I can choose to import it into Write but nothing happens, it simply doesn’t show up in the “Stories Menu”.

I think I will continue copy and pasting into Write. I was only put off doing this because of the slowdown in Write, but I have turned off autosaving and will see if that helps.


Are you using the 10th April Developer build ? That one should work. If not, you can import multiple versions. I’m running the latest build and that one works fine for me.


Thanks, that was it. I was using the older version of Write.


@jerrytron I tried updating to the latest commits to the source, but I can’t get it to build. There seems to have been a massive update to the source, but each time I compile, I get the same error.

Running "wiredep:target" (wiredep) task
Warning: Error: jquery is not installed. Try running `bower install`. Use --force to continue.
Aborted due to warnings.

I have tried using bower install, but it does nothing. I’ve also tried reinstalling most of the components

C:\Users\Slade\Documents\GitHub\choosatron-write>npm install -g --force
npm WARN using --force I sure hope you know what you are doing.
ChoosatronWrite@0.1.0 C:\Users\Slade\AppData\Roaming\npm\node_modules\Choosatron
└── time-grunt@1.2.1 (date-time@1.0.0, figures@1.3.5, number-is-nan@1.0.0, text-
table@0.2.0, hooker@0.2.3, pretty-ms@1.1.0, chalk@1.0.0)

Do you have any suggestions ?


I believe you just need to run the install with --force.

bower install --force

Let me know if that successfully upgrades all the packages! That is the reason for the issue.


I’ve tried that. More than once. Just to be sure, I tried it again. No dice.

Here’s part of the install log.

Resort to using angular# which resolved to angular#1.4.0
Code incompatibilities may occur.

bower resolution    Saved angular#>=1 as resolution
bower install       angular-ui-utils#0.1.1
bower install       angular-mocks#1.3.16
bower install       ngDialog#0.3.12
bower install       angular-bootstrap#0.10.0
bower install       angular-route#1.3.16
bower install       jquery#2.1.4 **<- Definitely there**
bower install       angular#1.4.0
bower install       angular-animate#1.3.16
bower install       bootstrap#3.3.4
bower install       font-awesome#4.2.0


Ah! I don’t know how I pseudo fixed it in my personal repository before, but it was not really fixed.

Looks like a dependency version issue. I reverted the version requirement for the dependency in question. You should be able to update your repo (master or dev branches), and then just run:

npm install

Then build! Let me know right away if you have issues!


That fixed it !
I also noticed a number of changes in Chrome, with less warnings in this new build. That’s a good thing.

I’ll update both the Dev and Master branch links in the first post.


Thanks Rodney! Yes, I’m finally in a place where I’m able to put some real time back into this (and ignore the guilt that it has taken this long, because that doesn’t make me more productive). The two big fixes are Twine story imports, and a bit for Choosatron binary exports.

I’m now in the middle of a major refactor of the story structure code. This is to simplify the existing code, as well as suss out performance issues / leakage. Hopefully I’ll have this major restructure in by the end of the week so people like you can bash on it a bit! Debugging javascript is still weird and a pain for me, but a deep re-education into the codebase means I’ll be able to fix things much more quickly. Onward!


Thanks Jerry, this will be a good thing.

In Dungeon Run, I used a reference code at the beginning of each passage, so I could work out where I was going, and didn’t get lost writing passages. but it would have been too painful to edit them out using Write. So I did a search / replace in Notepad++. The one thing I noticed is that the “source code” for the story (for lack of a better word) is a right mess. Most of the passages are copied at least 4-5 times in various parts of the story.

The first passage had to have been in the file at least 6 times. I get the impression that passages are duplicated each time they’re referenced from any point in the story. It seems like overkill and unnecessary.

I’m happy to supply you with the file so you can see how it’s structured on a large story.

On a side note, I managed to kill the firmware on my Spark somehow. I had to reflash it to get it working all over again. No idea what happened, it just refused to boot. All fixed now.


Haha, yeah, the serializing was getting a bit too recursive! I’ve already fixed the nastiest of that stuff. Now I’m working on understanding the serialization and loading better so it isn’t doing way more work than it needs to. Once story files are as slim as they should be, and saving / loading isn’t bloated, we should be in a good place for the final pieces to get done! Serial transfer code to the Choosatron is very close to done already. Woo!


Hey there, great tool, glad to see things are progressing. I was wondering if it’s possible to use this to load new stories to your choosatron or is that still not possible? I tried connecting my choosatron (on Windows) via USB and had no luck. Is there an ETA on development of this feature?

Edit: I couldn’t import any .tw exports from Twine (1.4.2) into Write. If I click import and choose the file in the browser, the file doesn’t show in Write. If I try it again it will eventually say the file already exists but it’s nowhere to be found. I somehow did managed to get Rodneyn’s Cindarell Story to import (can’t tell you how, at first it wouldn’t import either, then it just appeared while trying to import another file).

When running the story though there are no choices as ever Passage is “set as ending” and options are displayed in the passage text as “1/ [[Reading a Book]]”. Is this how stories need to be written?
I tried this with both the Developer and Master Version 15th June.

Help and tips would be greatly appreciated! :+1:


The development branch is the most up to date and has new stuff pushed online latest August 31st. It should import twine files (with .tws extension). It SHOULD be able to export binary stories as well, which you can put on a micro-sd card and into the Choosatron. At the moment you need to hold down ‘2’ while powering to switch to SD card.

Many of the problems you experienced should be gone.

I’ve been updating the firmware to prepare for sending stories over USB and provide the writing app information about the stories on the Choosatron.

I’m working on scheduling / blocking out time for a final big push just to get a release out, even if it isn’t perfect, so people can setup easily and get writing.