Wednesday, April 17, 2013

Symantec Protection Center Mobile

Sometimes big companies pick up on WhirlyGlobe-Maply.  And sometimes I can actually talk about it.  This is one of those times.

Things are calm now, but an eruption of orange pins can happen at ANY TIME.

What It Is

I'll just borrow their text to describe it.

Symantec Protection Center Mobile 1.0 provides you a view of live security threats across the globe as well as executive summary of your organization’s security posture.

Only, ya know, with a spinny globe!  It's quite fun to play with.  I sometimes use it at trade shows because it has a self actuating mode.  It will spin from threat to threat on its own if you let it.

How It Uses the Globe

In many ways, this is the quintessential WhirlyGlobe app.  It makes good use of pre-2.0 features like the static blue marble texture set and lots of vectors.  They use markers for points and labels too.  And hey, they made a video.

The absolute best part of the app is that I didn't write a single line of it.  They did ask a few questions and did some careful due diligence on the open source libraries I use, but otherwise it was a delightful surprise when it came out.  In November.... yeah, I don't know why I'm just getting around to writing about it.

More Apps Like This

I don't know why there aren't more apps like this one.  This is pretty much what I designed WhirlyGlobe version 1 to do.  What WhirlyGlobe 1.x really did was attract the high performance iPad melting map display crowd.... which resulted in WhirlyGlobe-Maply 2.x, so no complaints, but I was expecting to see more of this sort of app.

If you're looking to make a fairly straightforward spinny globe app that integrates well with your own business logic, I'd check this one out.  They did a very nice job.

Monday, April 15, 2013

Android Port

I'm exploring an Android port of WhirlyGlobe-Maply.  With the recent release of Maply, I'm getting a lot of inquiries about Android support.

Like this, but more Android-y
These are fairly serious companies asking about it.  If I had some way of simply dividing the cost among them, I suspect we'd already be there.  But that's not how consulting works or how corporations think, so we get to do this the hard way.

How Would it Work?

The low level rendering engine in WhirlyGlobe-Maply is C++.  I didn't plan it that way, I just like C++ for tossing data around and it meshes nicely with OpenGL.  All the higher level interaction code is Objective-C as you'd hope.

On Android, they provide the NDK, an interface for writing native C/C++ and running it on Android devices.  It looks pretty good and the OpenGL ES support looks solid.  The Java Native Interface is an exercise in pain, but it seems dependable.

The plan would be to port the low level rendering engine after a little restructuring on the iOS side.  Then we'd rewrite the Component level for Android, basically all the UI and object manipulation.

Android users would only see the nice, friendly thread-safe higher level interface and we'd hide all the crazy stuff only I understand.  Just like on iOS.

About the Money

I'm a consultant and I give WhirlyGlobe-Maply away for free, so I'm not going to do this for the heck of it.  It needs to be paid for.

A local mapping company, Gaia GPS, is interested.  They only need Maply, logically enough, so we'd just port the pieces to support that.  Full WhirlyGlobe-Maply support would have to follow based on other clients.

Their support, assuming the numbers work, would get the core toolkit ported, but it wouldn't be enough for a full Android release.  I need other clients to step up.

Update (5/14/2013)

The first try fell through, as deals do.  Now I'm shopping it around.  If you've got a lot of money burning a whole in your pocket, let me know.

Saturday, April 6, 2013

TransitVis - Urban Data Challenge

TransitVis is live on the Apple app store for iPad.  It's a free download.  Watch the video to learn how to use it.

Don't forget to go get some data.  That's sold separately (also free).

The Urban Data Challenge awards were today and we took 3rd.  Thanks to everyone involved in that.  Lots of great projects.

What's next for TransitVis, you might ask?  All the interesting technology is in WhirlyGlobe-Maply so that'll be popping up in client projects.  For the app itself... we'll wait to see if anyone uses TransitVis for anything and go from there.

Thursday, April 4, 2013

WhirlyGlobe-Maply 2.1 Announcement

The 2.1 release is now official.  Come, let us celebrate with an overly cluttered screen shot.

Now with 0.1 more functionality

What's In 2.1

Some of the less exciting changes are covered in various blog posts.  The good stuff is as follows.

  • Lofted Polygons.  They're pretty.
  • Auto-layout for makers and labels.  Now you can display lots of labels.
  • More shapes, like great circles and such.  
  • Now based on OpenGL ES 2.0 which allows for stuff like shaders.
  • Continuous zoom mode for getting really, really close to the ground.
  • The git project uses submodules for dependencies and data.  Easier to build.
  • Many bug fixes and performance improvements.

The high level Component is now functional enough to do just about anything you can do with the low level API.  The WhirlyGlobe-Maply Component interface is pure Objective-C, making it easier on developers.

As always, the WhirlyGlobe-Maply page is your main source of download instructions.

What's Next

Shockingly, WhirlyGlobe-Maply 2.2 is next.  It's already underway in the develop branch.  At this point it's looking like a performance release.  Crazy good performance.

TransitVis - How to Load Data

This post is about loading data into TransitVis.  I cover this in the announcement post for TransitVis, but it can't hurt to be even more explicit.  Plus I need something to link to from the app.

What does it mean?  Dunno.  Pretty!

How to Get Some Data

Once you've got the app, you'll need to load some data.  We processed all three of the data sets for use.  A data set consists of two geojson files and a sqlite database for each data set.  Be sure to download all three files and then upload them to the app via iTunes.

Getting Data Into TransitVis

Getting data into an app once you've installed is actually pretty easy.  Install the app first and then follow Apple's instructions for file sharing via iTunes.  Look for the app "TransitVis" in that window.

Here's what that looks like on my MacBook Pro.  Bring up iTunes.

Next page is all Hello Kitty apps

Select your iPad, like mine in the upper right there.  That should look like so.

That's right, rename your iPad 'mousebird'. [Don't do that]

Select the Apps tab up there along the top.  Then you should see something like this.

Only you're not trying to hide the name of client apps.

Select TransitVis and upload those files.

If you already ran the app, you'll need to kill it and rerun it as TransitVis looks for its data files on startup.  It should load the first data set it finds and make the others available for selection.

Tuesday, April 2, 2013

San Francisco GeoMeetup

I'm speaking at the Bay Area April GeoMeetup tonight.  I'll be talking a little bit about WhirlyGlobe-Maply and how my users consume OpenStreetMap data.

As promised (at the talk) here are my slides.