Hacker News new | past | comments | ask | show | jobs | submit login
Tilemill: Maps done right (tilemill.com)
323 points by will2live on Sept 1, 2011 | hide | past | favorite | 42 comments



I've used TileMill pretty extensively, and while TileMill is great for generating static maps (PNGs) for infographics, it won't replace Google Maps any time soon for serving dynamic maps.

For example, you can serve a dynamic map of Washington DC on a website using TileStream and TileMap, but if you wanted to also view Fairfax, VA or Baltimore, MD, you're out of luck unless the tileset includes those tiles. With Google Maps, you always have access to all the tiles.

That's not to say that TileMill isn't a great product. The choice to use CSS is brilliant. Plus they're based in Washington DC, where I'm currently living! Nice to see tech outside of the Bay Area, NYC and Boston.


You're right by definition - TileMill doesn't serve maps. Right now it generates them, and TileStream serves generated maps. It's extremely fast and stable, but inherently limiting.

That's not to say this won't change in the future :)


Thanks for releasing a "native" app for OSX! This makes it much easier to use TileMill. The previous installation method was not the most user friendly--this coming from a Node.js developer.


Glad you like the Mac app. We're definitely shooting for a first class OS X app experience. Feedback on ways to improve it further are welcome, too.


Did you package it yourself or used some package/library?


We packaged it ourselves. It's open source, too. Check out https://github.com/mapbox/tilemill/tree/master/platforms/osx


Amazing, thanks!


Is the server open sourced?


Yep, https://github.com/mapbox/tilestream

There is a TileStream Hosting service that has integration with a CDN & DropBox, stats, etc. It uses the open version and just adds glue code to services.


Cool. Definitely looking into this then!

Thank you.


One tradeoff here, though, is offline use. Ever try to use Google Maps offline on a mobile device? :-)


Yes, I have and it worked great! You have to enable the labs feature called "Pre-Cache Map Area" and it's a bit annoying that it will only let you grab a few (10) chunks at a time, but I used it last month while traveling 100 miles from "civilization" and it worked great.


TileMill doesn't seem particularly well suited for that either. I did a rough calculation and it looks like getting a usable map of Washington D.C. would run several hundred gigabytes. I'm wondering if the only way to do something like this realistically on a mobile device is to move the rendering to the client.


Maybe your definition of usable is a bit different than mine, but we've done two maps of DC:

http://tiles.mapbox.com/mapbox#!/map/dc-bright http://tiles.mapbox.com/mapbox#!/map/dc-nightvision

The first is 17MB, the second is 57MB. One could probably get to sidewalk-level without cracking 1GB here. Where did hundreds of gigabytes come from?

That said - we'd like to start doing rendering on-client, and it would be great - the question is how to slice and dice data so that the data itself isn't gigantic and rendering it isn't slow.


I probably made a mistake when estimating this. I exported 21 tiles to MBTiles at 429KB, and extrapolated based on the 5.7 billion tiles it would take to do D.C. at 13-16.

I'm still waiting for a larger job to complete, so I don't have a sense of the file size there.

Edit: Got it. The default export is the entire world. Whoops.


Though perhaps not optimized for an urban solution like DC, we have done work around tile de-duping and tile data compression to combat things like this.


I've been using TileMill recently and their focus is mainly web/html. The static maps (PNGs) are pretty, but there is also some frustrating aspects. For example, PNG/PDF exports don't include legends and they don't have plans to implement that feature presently.


Carto (the CSS inspired syntax) kicks the crap out of SLD (the XML standard that makes absolutely no sense)


Yeah, SLD is no fun. Check out the CSS extension for geoserver -- it's a great replacement for SLD. http://docs.geoserver.org/2.0.x/en/user/community/css/index....


This looks really, really slick. Next time I'm creating a map-based site I'm going to have a play around and see what customisations I can do. It's very difficult to match the default Google Maps style for clarity, but sometimes it would be good to have more options than their styles permit.


Indeed. That css-clone looks like what SLD styling should have been.


BTW, geoserver (which uses SLD) has a CSS-styling extension which is much easier to use.


I never thought I would see the day where there is OS X and Linux downloads, but only a VM image for Windows. Very cool.


I've started saying that the only way for windows to continue to be successful is for windows 9 to be written on top of a common unix.

They have lost the hackers completely, but if they can make windows 9 a platform that will autospin up a vm of the windows platform for things like Office, etc. They might have a chance.

My house mate is a civil construction engineer. He is so envious of my Ubuntu setup.

"Wow, that looks as cool as Android"

"Android is actually the same thing only differently packaged"

"Really! Can I try out your computer?"

"Sure, let me make you an account and show you some hotkeys!"

After some time passes

"Wow! This is awesome! Can you install it on my laptop?"

"Since you use AutoCAD and MS Office I'm afraid it would be too much of a hassle for you, but if you are willing to learn I can."

Never thought I'd have someone ask me to install linux because they find it more usable and attractive.


That's the problem I have. I used to primarily use Ubuntu, but as an aerospace engineering student I often need use Solidworks or other CAD applications. Linux/Mac? Out of luck. Maybe that'll change one day (Dassault have released their free 2D CAD application DraftSight on linux, and they develop Solidworks), but we're probably at least 5 years off a decent linux/mac CAD application for designers.


That's because Tilemill is a Node.js app. Node.js 0.5 with Windows support is in the kitchen, however.


I'm consistently impressed by the work DevSeed puts out with such a small team. What's the secret? :-)


I couldn't have said it better myself. Hands-down, they're one of the most impressive organizations I've come across on the web both in the products they create and the contribution to society their creations address.


I think the screenshot should use a bit higher-contrast color scheme for the map. I was slouching in my chair a bit and couldn't really see what it was at first :)


Was just about to download and start using this. No Windows version though. Maybe the start of a weekend project for me.


There's a VirtualBox image as well. I wouldn't recommend cygwin unless you want a weekend of hell.


Use cygwin. ;-)


The main MapBox site (http://mapbox.com/) is definitely worth checking out as well. They have a pretty cool iPad app and a nice ~6 minute video demoing everything (http://vimeo.com/20006926)


The Google Maps API lets you style maps too [1]. You can change colors and show/hide different map features. There's also a wizard [2] to make styling easier. You can get some very interesting effects [3].

[1] http://googlegeodevelopers.blogspot.com/2010/05/add-touch-of...

[2] http://gmaps-samples-v3.googlecode.com/svn/trunk/styledmaps/...

[3] http://googlegeodevelopers.blogspot.com/2010/10/five-great-s...


The ruleset screenshot reminds me of http://www.maperitive.net/ which is an excellent tool too (not web-based).


In case anyone is wondering about the shell script for Ubuntu install it checks for maverick or natty and then installs like so:

    apt-add-repository ppa:developmentseed/mapbox
    apt-add-repository ppa:chris-lea/node.js
    apt-get update
    apt-get install tilemill


Love TileMill, love TileStream, love the tilesets. One day I'll move to DC...


Really incredible work. Is there anything we can do to speed up exporting, short of manually parallelizing across multiple computers? Distributed export might be a nice feature.


Recent updates (if you haven't updated since 0.3.0 or so) have doubled & tripled export speed by a bunch of optimizations, especially metatiling.

If you really want to parallelize, you can run the ./index.js command in the source version of TileMill to do exports programmatically.


When I first started using tilemill, I missed that you can create indexes for shapefiles. This turned a 12 hour render into a 15 minute render for my particular use case. The devseed guys show how to do it here : http://developmentseed.org/blog/2011/mar/29/speed-optimizati...


I have started to play around with this foR custom OpenStreetMap rendering. Carto, the css format, seems a bit easier to play with than the raw mapnik xml.


This looks great, thank you.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: