Friday, March 21, 2014

WhirlyViz 1.2 - Update

The latest WhirlyViz is on the app store.  It's a bit faster, more reliable and has better navigation, particularly for the phone.  But most importantly, there's new functionality.

San Francisco is very brown today
If you're just tuning in, WhirlyViz is a geospatial display app for iOS which I've discussed before.  It's based on client projects and a few of my own.  One of those was.....


The TransitVis app was an experiment and an entry for a hackathon.  It was a great way to work through some data viz issues without a client breathing down my neck.  We can now duplicate the TransitVis app with a configuration file.

Like many of the other examples, I'm using CartoDB on the back end.  When the user changes parameters or taps on a data value it's sending off a SQL query.

The 14 isn't transit, it's dinner and a show.

Election Map

Everyone needs an election map!  With the 2014 midterms coming up, I'd love to see some WhirlyViz based election maps in prominent apps.  And if not, there's always 2016...

The only time Ross Perot is described as "pretty".

I put this one together from county census voting data from 1980 to 2008 and used the Purple America algorithm to get some nice blended colors.  The 1992 election is interesting since there was a third party candidate and you get some green.

Next for WhirlyViz

Demos, demos, demos.  More demos is the main thing.  I'm lining up a few with collaborators rather than writing any more of my own.

I've also been experimenting with Javascript in the configuration files.  I like it!  There will be more of that.


  1. Full vector support and an Android port in progress. Really cool. I'm a big fan of your work, sir. Have been for almost 2 years. I've been following your project(s) very closely and I've enjoyed witnessing the growth of your fantastic "WhirlyGlobe-Maply" iOS library.

    I was keen to use it in one of my own projects, but there was a big change in requirements from iOS => HTML5/JavaScript/CSS3, so unfortunately, no dice here for me. But as a lover of GIS software and challenges, I see your blog as a rich resource as well as an inspiration.

    Thank you, Steve Gifford.

    1. Thanks for the note. I'm happy to hear you've been following my work.

      Interestingly, I've been making some moves to accommodate the HTML5 crowd of late.

      WhirlyViz 1.3 uses Javascript rather than a configuration file. With ios7 Apple added JavaScriptCore and I'm finding it rather useful for building fancy data visualizations.

      I can't say whether that might make a difference for your particular project, but it's worth a look.

    2. I'll be sure to take a look at it.

      Currently, I've switched to using Netbeans 8 IDE to employ HTML5/JS/CSS3 & Leaflet with heavy use of websockets and I'm looking into 3d.

      At the moment, I'm very intrigued with the 3d visualization of OSM data. My eyes are on ViziCities, which recently went Open & is hosted on GitHub.

      robhawkes/vizicities · GitHub‎

      ViziCities - Bringing Cities to Life

      ViziCities (ViziCities) on Twitter‎

      ViziCities development diary #1: One month in | Rawkes‎

      Lessons learnt building ViziCities Mozilla Hacks – the Web ...

      ViziCities: Data Visualizations and 3D Cityscapes - The Next Web

      They are achieving this via OSM's Overpass API + WebGL.

      Because your featureset is richer and you have a thorough understanding of the efficient rendering & data manipulation techniques necessary to produce a solid implementation, I'd love to see an HTML5/WebGL version of your library in the future, possibly augmenting/extending Leaflet's existing capabilities. It would also extend the appeal of your framework and broaden the scope of your potential clients, of course.

      Still, you seem to have no shortage in those departments! Simply throwing it out there.


    3. Huh, looks like the blogging system ate my reply.

      That's an interesting project, thanks for the pointers.

      Short term, you're right, I probably won't port to WebGL. Long term, I like to keep my options open. Mobile devices will get better and more efficient, so it's possible. A big client might need it, though the space is a bit crowded already.

      My inclination is to continue on the native side for the moment. I just can't get the performance I like without it. That limits me to clients who want that performance, but there are enough of those for the moment.

      Thanks for the feedback, though. I'll keep an open mind about WebGL on mobile.