# January 2016 development updates

**URL:** https://discourse.mapeditor.org/t/january-2016-development-updates/1033
**Category:** Development
**Created:** [January 18, 2016, 9:40am UTC](https://discourse.mapeditor.org/t/january-2016-development-updates/1033 "2016-01-18T09:40:57Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![bjorn](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.mapeditor.org/bjorn/32/1599_2.png) [@bjorn](https://discourse.mapeditor.org/u/bjorn)
#### Post date: [January 18, 2016, 9:40am UTC](https://discourse.mapeditor.org/t/january-2016-development-updates/1033/1 "2016-01-18T09:40:59Z")

</div>

The first two weeks of this year are already over so it’s about time I wrote about what’s been happening!

## Week 1

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.

### Tiled Monday

This day was of course about getting [Tiled 0.15](http://forum.mapeditor.org/t/tiled-0-15-0-released/1001) out. I started with [updating the Dutch translation](https://github.com/bjorn/tiled/commit/76f4ca70ecbcae8dfee1b542c9ec1fd8a882e19c), since I hadn’t gotten around to that earlier.

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](https://hub.docker.com/r/jwilder/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](http://files.mapeditor.org/daily/). Yay!

The above took way longer than I had wanted to, so not much time was left. I made sure the [TMX Map Format](http://doc.mapeditor.org/reference/tmx-map-format/) documentation got some [needed updates](https://github.com/bjorn/tiled/commit/40abed9ed05e21401e1ac5bc984dfdee4f207616) and mentioned [relevant changes in Tiled 0.15](http://doc.mapeditor.org/reference/tmx-changelog/#tiled-015).

That evening, I tagged Tiled 0.15.0 after pulling in updated [German](https://github.com/bjorn/tiled/commit/5642660047e2760d7b00299caae3e2511c9fc294) and [Japanese](https://github.com/bjorn/tiled/commit/68262262950a7b04181acd6eed8e8985215853a0) translations. Then I made the release builds and put them up [on GitHub](https://github.com/bjorn/tiled/releases/tag/v0.15.0). Unfortunately, I had no time anymore to update the website or to write a [release post](http://forum.mapeditor.org/t/tiled-0-15-0-released/1001) about it.

### [itch.io](http://itch.io)

The next day while at work, I got an e-mail notification from [itch.io](http://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](http://thorbjorn.itch.io/tiled), my payment info (mainly letting itch take care of EU tax rules) and integrating their widget on [Tiled’s download page](http://www.mapeditor.org/download), I [announced Tiled’s itch.io launch](https://twitter.com/thorbjorn81/status/684526471692574720).

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](http://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](https://stripe.com/bitcoin) on Bitcoin transactions, and rounded down the would-be $0.0025 fee.

Any extra income generated through [itch.io](http://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.

### Closed Issues

Two bug reports came in that I have fixed immediately, to be included in Tiled 0.15.1.

- [#1166](https://github.com/bjorn/tiled/pull/1166) cygwin build workaround - **Merged**

- [Fixed a problem with ‘Execute in Terminal’ on OS X](https://github.com/bjorn/tiled/commit/2d1529a1f702677d373961868925c9ec225b3c4a)

- [Fixed image layer offset handling](https://github.com/bjorn/tiled/commit/96281c1373562ce13ac8b948eee34bdf2345101c)

## Week 2

### Tiled Monday

This time I was eager to start moving on towards Tiled 1.0 and decided to look into solutions for an [auto-update mechanism](https://github.com/bjorn/tiled/issues/1089). This also plays a role in making sure Tiled users are aware of the pace of development.

I decided to try [Sparkle](http://sparkle-project.org/) 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](http://winsparkle.org/), 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](https://github.com/bjorn/tiled/blob/gh-pages/_includes/appcast.inc) 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](https://github.com/mackuba/sparkler), but I had to give up in the end because I was [hitting problems](https://github.com/mackuba/sparkler/issues/1#issuecomment-170671443) 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](https://github.com/bjorn/tiled/commit/0afa00f11a7315ee7f763a3052a36e91f7719dc7) and enabled it in the daily bulds.

### [itch.io](http://itch.io)

Downloads through [itch.io](http://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](http://itch.io) will be a very good companion to [Patreon](https://www.patreon.com/bjorn?ty=h) and I can really look forward to spending more time on Tiled in the future.

### Closed Issues

- [#1174](https://github.com/bjorn/tiled/pull/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.

---

<div class="post-metadata">

### Author: ![bjorn](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.mapeditor.org/bjorn/32/1599_2.png) [@bjorn](https://discourse.mapeditor.org/u/bjorn)
#### Post date: [January 30, 2016, 3:13pm UTC](https://discourse.mapeditor.org/t/january-2016-development-updates/1033/2 "2016-01-30T15:13:03Z")

</div>

## Week 3

### Tiled Monday

I started the day trying to find out how to code-sign the OS X packages, but unfortunately didn’t manage. [I thought I had it working at first](https://github.com/bjorn/tiled/commit/6d2e269c22a52ef289e236ef7dbe8d9a2b83b2a9), but it turned out that this approach would not work. I’m not sure if `--deep` is doing the right thing, and another problem was that `codesign` refused to sign when running as a cron-job. It’s something I’ll have to get back to later. I did get the OS X daily builds to auto-update by using a DSA signature, which is placed into [this template file](https://github.com/bjorn/tiled/commit/61bf8513612bac3a00ac9c46acec8f4e651e51e7) before uploading it to the server after each build.

With auto-updating based on Sparkle being enabled in the Tiled daily builds, there of course needs to be a way to turn it off for those who don’t want it. So I [added an Updates tab](https://github.com/bjorn/tiled/commit/317c399b328b96437acd27ab8f21278a4ab547b0) in the preferences:

![](https://canada1.discourse-cdn.com/flex035/uploads/mapeditor/original/1X/238d54c491af3ec5c1d52d57e2d2b5f9969e07c4.png)

Currently, these options appear as disabled except for Sparkle-enabled builds on OS X, but soon they should be also enabled on Windows.

### Pull Requests

Somebody seems to be making a point of updating copyright years to 2016 in hundreds of projects. Unfortunately for Tiled he only updated the header template.

- [#1177](https://github.com/bjorn/tiled/pull/1177) fix tmx doc to no longer say width/height are ignored - **Merged**
- [#1178](https://github.com/bjorn/tiled/pull/1178) Update license year to 2016 - **Merged**
- [#1184](https://github.com/bjorn/tiled/pull/1184) Updated Czech translation - **Merged**

## Week 4

### Live Streaming

After being urged several times by my biggest patron of all time, I decided to try out live streaming my desktop while doing Tiled development. After looking at Twitch and shortly trying YouTube Gaming, my eye fell on [livecoding.tv](https://www.livecoding.tv/) which seems to specialize in exactly this kind of audience. I did a short pilot on Sunday while fixing two small bugs and I thought it was quite interesting. I will aim to live-stream at least each full Tiled development day from now on, so follow me at [https://www.livecoding.tv/bjorn/](https://www.livecoding.tv/bjorn/) if you’re interested!

### Tiled Monday

Before looking into how to integrate [WinSparkle](http://winsparkle.org/), I first wanted to improve the Windows installer situation. The NSIS based installer never really got any love, people sometimes reported crashes and for updating it would first run the uninstaller of the previous version. For a hopefully better experience, I decided to look into building an MSI installer instead, based on the [WiX toolset](http://wixtoolset.org/).

I had really expected this to take only half a day, but I ran into a lot of issues and unknowns. For good or bad, my struggles are [viewable at livecoding.tv](https://www.livecoding.tv/bjorn/videos/), though it will be incredibly boring since I have no microphone set up and unfortunately the live chat that happened during the day is for whatever reason not recorded alongside.

By the end of the day I had the installer working mostly like it should, and I had integrated it into the Qbs build system. Then I had to make adjustments to AppVeyor to have it set the right version. Late in the evening the build failed because I had tried to use the year as the major version, but the major version in an MSI installer can’t be higher than 255…

### Rest of the Week

As usual it is incredibly hard for me to get around to anything Tiled-related during the week while working full days and caring for my family. By Friday evening, I found some time to brand the installer with the Tiled logo and to fix the issues with the version number. For now, the daily builds will simply have their build number as micro version. Here’s the new installer’s start page:

![](https://canada1.discourse-cdn.com/flex035/uploads/mapeditor/original/1X/6377cf549c8515f4c39dc3f20d276c3fd1d918ef.png)

And today (Saturday) I found some time to bump the version to [0.15.1](http://forum.mapeditor.org/t/tiled-0-15-1-released/1079) and publish this release. It fixes a few smaller bugs and adds the updated Czech translation.

### Closed Issues

- [#612](https://github.com/bjorn/tiled/issues/612) Lua export in Linux not working - **Fixed (in 0.15)**
- [#1171](https://github.com/bjorn/tiled/issues/1171) Deleting an object leaves label on screen - **Fixed**
- [#1180](https://github.com/bjorn/tiled/issues/1180) Comodo antivirus picks up tmxviewer as malware on windows. - **False positive reported**
- [#1183](https://github.com/bjorn/tiled/issues/1183) Wont stop crashing. (Locking up) - **Possible duplicate**
- [#1185](https://github.com/bjorn/tiled/issues/1185) Issues with Image Layer in 0.15 - **Fixed**

### [itch.io](http://itch.io)

In January Tiled sold 60 copies for about $250 total after fees, so it looks like offering Tiled [for free on itch.io](http://thorbjorn.itch.io/tiled) was a good move. This extra income will certainly make it easier for me to reach my next goal of spending two days/week on Tiled. In the meantime, patrons and sponsors still provide most of the needed support, for which I am very grateful!

### Looking Ahead

Starting in February, I’ll shift my entire week schedule by one day, so that I will work each full Sunday on Tiled. Also, I’ll keep [live-streaming Tiled development](https://www.livecoding.tv/bjorn/) for those who are interested.

The first goal is of course to get auto-updates working for the daily builds for Windows. After that, I will be working on [other features for Tiled 1.0](https://github.com/bjorn/tiled/milestones/Tiled%201.0), until it is done!
