TileMill Coming to Windows


2 min read

We’re now only weeks away from launching version 0.9.0 of MapBox’s open source map design studio TileMill, which will run natively on Windows for the first time. This means that TileMill will now be a one-click install on three major computing platforms: Windows, Mac OS X, and Ubuntu Linux.

89d5233ea6a4  0zo9BsYpGARmVhp9I

TileMill running natively in Windows 7.

The goal here is top notch performance. With a native port to Windows nothing can stand in the way of the blazing rendering speeds that TileMill is capable of when given full reign of the hardware. Watch the preview video of TileMill 0.9.0 on mapbox.com/windows and sign up to be notified when it’s ready for download.

Based on operating system usage data, the TileMill community will be growing very soon:

89d5233ea6a4  0gET7RtBNl6PIRisn

*Windows User Base (Oct. 2011), Source: Wikimedia (Oct. 2011)*

Node gains Windows support

TileMill is written in pure javascript using Node.js. Node has been cross-platform from the start, supporting a range of open source and commercial operating systems. But Windows was not originally on the list because the asynchronous networking at the core of Node (libev/libeio) only worked on UNIX systems. This meant TileMill could never support Windows natively.

But six months ago, the Node team announced that they would begin work on a Windows port with Microsoft’s direct help with the explicit target of easy installation and high performance. The first stable release of Node that included Windows support landed in November. I’ll be talking more about this at Monday’s Node.js meetup in Washington, DC.

TileMill ported to Windows

There were four main tasks on the road to a Windows version of TileMill:

  1. Porting custom node C++ modules we’ve written for TileMill like node-sqlite3, node-zipfile, and node-mapnik to leverage the new Node cross-platform asynchronous networking library, libuv.
  2. Building the latest Mapnik 2 development code and all its dependencies on Windows using a toolchain compatible with what the Node team is using (Visual Studio 2010).
  3. Enhancing TileMill to use fully cross platform approaches to filesystem handling.
  4. Designing a build system that can be semi-automated to make frequent releases sustainable.

We are excited that since late November, with the expert help from lead Mapnik developer Artem Pavlenko, we have achieved these tasks. Sign up for updates on our progress and to be one of the first users of TileMill on Windows.

What we're doing.