XYZZY Awards 2022, first round

It’s been so long, but I’d like to present two of my projects for consideration for the Best Technical Development category. These were both created and published in 2022, and of course have had some updates since.

The IF Archive Unboxing Service

The Unboxer allows you to easily open any zip file on the IF Archive to access individual files (helpful for the really big IFComp zips), as well as to play HTML files from those zips. IFDB now frequently links to the Unboxer, including for Play Online links (for both direct HTML files like for Twine, as well as to give a storyfile to Parchment), so you may have been benefiting from the Unboxer without realising it.

The Unboxer was my concept and I wrote most of it, though Zarf made some significant contributions too.

AsyncGlk

After several years of making small changes to GlkOte, I decided it would be best to actually make my own version. So I rewrote it in Typescript, organising the code in a way that works better for me. For example, the Gargoyle Glk extensions (for per-character colours), which I had managed to hack into GlkOte, are also supported, in a more consistent and stable way, from the perspective of the code. Using Typescript means that the GlkOte JSON protocol can be specified as a interface, so that I can ensure my code always produces valid protocol responses. The name comes from my plans for a future iteration that will be asynchronous, allowing more filesystem options than are presently possible (such as linking to Dropbox), though that part isn’t ready yet.

But the main significance of AsyncGlk isn’t that it’s easier for me to hack on, but that many long time issues have been resolved now. I had two main areas of focus for improvement: mobile browsers, and accessibility (mainly screen readers). Now that Parchment is using AsyncGlk these previous pain points are much improved.

15 Likes