Friday, March 30, 2012

Where Conference 2012

Looks like I'll be at the Where 2012 Conference this year.  If any of my users are going, drop me a line.

Thursday, March 29, 2012

MapBox Tiles - The paging version

MBTiles databases are deceptively simple.  They're just a database with a little metadata, right?

Yes, and that's what makes them tricky.  From an implementation perspective, here are some of the problems:

  • They can be sparse.  Just because there's a level 7 tile at (40,41) doesn't mean there's one at (20,18).
  • They can be empty up top.  A user might neglect to include levels 0-5 because they don't need them.
  • They don't cover the whole earth.  Usually.
There are good reasons for all of those, mostly having to do with 2D map display.  In 3D this gets interesting.  

To do this right I have to map a 2D quad tree onto a sphere for proper data paging.  You have to either hack it or work in screen space.  I'm doing the latter and it means projecting representative pixels to the screen and deciding how important their associated tiles are.  It's a nice general solution and should work well for other data types too.

The point to all of this is that MapBox Tile paging support is underway.  That will open up a host of other interesting areas too.

Tuesday, March 27, 2012

github has won the internet and I'm a joiner

I've got a whole bunch of stuff coming up and rather than announce it all at once, I'll dribble it out bit by bit.  Let's start with github.

Don't Make This Harder Than it Has to Be

Hey, google code.  It's not you, it's me.  Honestly, I just think github will make me more popular.  There. I said it.

Yes, yes.  I know you do git now and I appreciate that.  Really, I do.  But let's face it, we both know you don't really want to.  And you've really let your social features go.  I mean, that's just sad.

So I'm going to leave my old repository there for a while if you don't mind?  Yeah, I know that's a bit rude... but it's more convenient for me.

WhirlyGlobe 2.0

The next major version will go up on github.  In fact, it is already.  You just can't see it.  Trust me, you don't want it yet.  I'm messing with the namespaces and generally causing havoc.  Why put up with that until you have to?

I'm also contemplating a smaller 1.3 release to round out the Mapbox Tiles functionality.  That'll stay on google code.

Thursday, March 1, 2012

Live Globe

I'm pleased to announce the release of Live Globe 1.0 on the app store.  This app really pushes WhirlyGlobe to its limits in some interesting ways.

Live Globe is actually the original WhirlyGlobe app and the publisher, Hyperwords, is my first WhirlyGlobe client.  There's some interesting history there, but first a video.


In early 2011 I was contemplating writing a toolkit.  I was thinking of doing either a 3D interactive globe or a 2D interactive map, but I needed a client.  I've learned that I don't get anything done without deadlines or outside observers.  Quantum effects may be at play.

So there I was trolling the job boards, looking for someone who needed one or the other.  Hyperwords turned up first with a list of requirements for a 3D globe.  I sorted those into toolkit vs. app piles, made an initial schedule and off we went.

The WhirlyGlobe toolkit is all mine, distributed under an open source license.  So most of that development was just me doing my thing.  As soon as the toolkit was working, we negotiated for development of Live Globe specific features.  I'm a consultant, that's what I do.

After another interlude, I ended up writing the non-globe features as well.  And here we are.


If you're at all interested in this stuff, you should just go buy the thing and check it out.  No whining about the $3.99 price tag.  Nice things cost a little bit of money.

There are a few unique things in Live Globe.

  • The imagery data set is tweaked a bit and higher resolution than normal.
  • Two data sets are provided for different hardware.
  • Some of the vector data is new and a good bit of the rest is modified.
  • The interaction model is a bit smoother and better integrated.
  • Overall, the app more gracefully handles memory usage.
Those first three are the most interesting.  A lot of app developers don't want to deal with manipulating the data sets.  For good reason too, it's a weird set of skills and it can be time consuming and expensive.

The rest of the development was details, details, details.

Full Disclosure

I'm not an independent app developer.  I only do apps for other people.  I'm not a partner in Live Globe or any other app.  I'm just a consultant with a toolkit.

Live Globe is cool and I wish Hyperwords the best, but I don't have a stake in its financial success.

So Buy it Already

Hyperwords has a long list of features planned for future versions.  But someone has to, you know, buy the thing.  This was the app I used to develop WhirlyGlobe and it was invaluable to me for that.  If you're using WhirlyGlobe or even think it's cool, you should go buy this app.