The first two weeks of this year are already over so it’s about time I wrote about what’s been happening!
Late in my Christmas holiday, I’ve started dreaming about updating the Tiled website to make it more modern, but also to simplify its navigation. The first will take time and it’s a project I’ve actually yet to start, but in the meantime I already did some long due improvement to the navigation.
So since 2nd January the Tiled forum finally has a navigation bar that allows you to visit the main website, documentation, donation page, etc. And on 3rd of January I got the same navigation bar to work on the documentation pages. All this took me many hours since I’m really rusty on web development (and I hate it). but I think it had to be done.
Next I wanted to improve the hosting of the Windows daily builds. They had been hosted on a minimum Rackspace VPS, which was slow, didn’t have much disk space and it was somewhat unreliable. I already had a DigitalOcean droplet hosting a few other things in Docker containers and wanted to move them there. What followed was unfortunately quite a nightmare. I updated the system, which pulled in a new version of Docker that broke the Nginx proxy configuration I was using. Being quite an amateur with these things, I went through several attempts to find a new approach, but eventually found a nice auto-configuring nginx-proxy container. Then, I wanted a secure way to upload daily builds from AppVeyor and tried to set up a Docker container for this as well, but eventually I aborted this and just set up a direct SCP to the host. The end result, at least, is more reliable and much faster access to daily builds for Windows. Yay!
That evening, I tagged Tiled 0.15.0 after pulling in updated German and Japanese translations. Then I made the release builds and put them up on GitHub. Unfortunately, I had no time anymore to update the website or to write a release post about it.
The next day while at work, I got an e-mail notification from itch.io notifying me that somebody had bought Tiled for $5. It had been my first sale through that site, which I had almost forgotten about after putting up a Tiled page there many months ago. I checked it out again as well as its options to integrate with external websites, and decided to give it another try. After updating the Tiled page, my payment info (mainly letting itch take care of EU tax rules) and integrating their widget on Tiled’s download page, I announced Tiled’s itch.io launch.
I think it became my most seen tweet ever since many have reshared it and the feedback has been very positive. In the first week, Tiled 0.15 was downloaded over 3000 times through itch.io, and sold 8 copies for an average of about $5.
Maybe interesting to note, but one person bought Tiled for $0.50. From this, Stripe collects a $0.31 fee and $0.05 goes to itch (I set up their default 10% share), leaving me with $0.14. While I appreciate every donation, this is of course a bit sad. I wondered whether the Bitcoin payment method had lower fees, but since nobody used Bitcoin yet I decided to buy Tiled myself for $0.50 in Bitcoin. And you know what? There was no fee at all, leaving me with $0.45! Maybe it’s worth pointing this out somewhere. The no fee was because Stripe charges only a 0.5% fee on Bitcoin transactions, and rounded down the would-be $0.0025 fee.
Any extra income generated through itch.io obviously adds up to the support I receive from patrons and will allow me to spend more time on Tiled in the future.
Two bug reports came in that I have fixed immediately, to be included in Tiled 0.15.1.
#1166 cygwin build workaround - Merged
This time I was eager to start moving on towards Tiled 1.0 and decided to look into solutions for an auto-update mechanism. This also plays a role in making sure Tiled users are aware of the pace of development.
I decided to try Sparkle first. It’s a very complete solution that not only checks for updates in the background, but can also automatically download, install and start a new version. It only works for OS X, but it shares part of the mechanism, the appcast feed, with WinSparkle, so I won’t need to set that up twice once I get to that.
I spent some time finding a good way of setting up the appcast feed. In the end, I decided to rely on the GitHub pages API to automatically generate the feed from the releases. Later on I found out that the disadvantage of this is that you can’t easily add a DSA signature to the releases, but I will instead try to codesign the Tiled.app.
Actually integrating Sparkle and getting it to work was not too hard, though it took a long time since I was struggling with build system issues (Sparkle framework headers not found, linker couldn’t find Sparkle, Info.plist file not copied over when changed, etc.) and all this on my really slow Mac Mini (2009).
I also would like to use this update mechanism to get an idea about how many people are using Tiled, and which version on which OS. For this I tried settling up Sparkler, but I had to give up in the end because I was hitting problems that I do not have the expertise to solve myself.
In the end, I almost finished this but it wasn’t until two days later that I pushed initial auto-update support for OS X and enabled it in the daily bulds.
Downloads through itch.io are quite stable at around 400/day. It’s quite nice to have this statistic back, since it’s one of the things I had to give up when moving the files from SourceForge to GitHub (which I did because of the aggressive advertising on SourceForge, which included malware).
In the second week, Tiled sold 24 copies! This was a nice increase over the first week, and I think it may be from people who returned to pay after having clicked through to try Tiled for free the first time. The most common payment remains at about $5, but it’s really nice to see several people increasing it to $10. If this level of support remains, itch.io will be a very good companion to Patreon and I can really look forward to spending more time on Tiled in the future.
- #1174 Consider the RPATH variable while building the terraingenerator - Merged
A Look Ahead
First off I want to finish the auto-update mechanism. I think it’s urgent that I also add an option to turn it off in the Preferences, and I’d like to have the daily builds check for a new daily build rather than a new release. Next I will look into getting it to work on Windows as well.