Monthly Archives: June 2019

John Gravois to GeoHipster: “Lift while you climb.”

John Gravois is a developer at https://showrunner.io. Previously, as a Product Engineer at Esri he helped build ArcGIS Hub, maintained a handful of Leaflet plugins and coordinated with developers across the company to steer Open Source strategy. He has a tattoo of a California Raisin and when he's not in front of a computer you can often find him tangled up in poison oak somewhere near his mountain bike.

Q. You’re the OGG (original geogangster ). How did you get into mapping/coding at Esri?

I was pretty much computer illiterate when I started college. GIS pricked my ear because it would force me to wrestle the dragon and allow me to procrastinate a few more years before picking an actual ‘specific’ career track. The more data I wrangled, the more maps I made and the more analysis I organized the more interested I became in writing code to automate the boring stuff and share my work with folks who had other jobs to do than cracking open ArcGIS Desktop.

I worked for an environmental consultant before i started in tech support. Being ‘the’ GIS guy was okay, but the pace of my learning skyrocketed when i started in Esri tech support in 2009. It was also just a lot more fun working with so many talented, non-territorial, strong communicators in my own discipline.

When I told them I wanted to spend more time programming, it was a trial by fire, but the lessons I had already learned about troubleshooting and isolating reproducible test cases are just as relevant when you’re writing code. Sometimes I handed my simple apps over to our developers to demonstrate bugs in our APIs, sometimes they went back to customers to show them where they made a mistake.

Q. Several years ago I attended an Esri Leaflet talk you gave. Toward the end you shared some thoughtful points from your experience as a maintainer of Esri-Leaflet about creating documentation, usable examples, most importantly the “You’re part of the team“ mentality. Can you share some of your experience and philosophy on cultivating new coders?

Of course! The gist of it is that there are way too many a&*#hole open source maintainers out there making other folks feel small on purpose.

I had the luxury of working on open source at my day job, so it was easier for me to make a conscious decision to set aside time to be welcoming to new contributors, to try and lead by example and to be gracious and patient.

I learned so many crucial lessons from this:

  1. Its not hard!
  2. It pays dividends. When someone asks a question or fixes a typo and is treated with basic courtesy its really encouraging to them! Often it leads to them increasing the scope and frequency of their participation. I know this because I’ve been on both sides of the fence.
  3. Being patient and kind != agreeing to do someone else’s work for them or allowing random people on the internet to hijack your project and take it in a direction of their own.

This isn’t just an open source thing. Its relevant to all online (and IRL) communities. I’ve been pleased to see The Spatial Community bloom over the last few years. Esri employees have definitely chipped in, but often customer colleagues have even more insight to share.

To put it another way, I’ve always made it a point to share my knowledge with others to pay forward a favor to my own mentors and because I know that it’s what keeps the virtuous cycle turning. I don’t know where it is now, but I read an article once that listed this as a key ingredient to being fulfilled in your career. I can certainly attest that it has worked for me!

Q. Is tag-team wrestling more fun than singles competition? Explain!

If you’re asking whether “Open Source + ArcGIS” is more fun than “Open Source vs. Esri”, of course!

Q. You recently said that 95% of the code you wrote at Esri is on GitHub – tell us about your favorite projects.

I found out the other day that I’ve contributed to almost 100 different Esri open source projects. Some of those were typo fixes, other times I was dogfooding to explain to the core team whether their work made any sense to someone making a quick flyby.

I learned a ton maintaining Esri Leaflet, but over the last couple years after that project matured I had a lot of fun getting my feet wet with TypeScript maintaining a new project called ArcGIS REST JS.

The core library is ~10x smaller than Leaflet and its sole purpose is to make it easy to talk to ArcGIS Online and Enterprise from Node.js and the browser.

We’ve had customers use it to create Chrome Extensions, browser apps, Lambda Functions and a bunch of other cool stuff, but I was particularly gratified to see contributions come in from lots of different dev teams within Esri who previously rolled implementation after implementation of their own.

The library is downloaded ~1000 times a week and is used to make literally millions of requests to ArcGIS Online each month from ArcGIS Hub, https://developers.arcgis.com, Storymaps and other Esri offerings.

Q. You love OpenStreetMap! Hey, I love OpenStreetMap!! Tell us a cool OpenStreetMap story.

The single most gratifying experience of my professional career was working on the technical implementation to grant the OSM community access to Esri’s World Imagery service.

Other folks at Esri did the hard work of getting legal sign off with half a dozen commercial imagery providers and a lot of customers in our Community Maps program.

All I had to do was write ~100 lines of JSON and a blog post.

The impact really hit home when Tyler Radford shared the Humanitarian OpenStreetMap statistics with me a year later. IIRC, they now recommend ArcGIS World Imagery in ~half of their projects!

Q. One of the first things I remember about you was your love of bikes and your work at the Redlands BikeBBQ. What’s the Redlands bike scene like?

There are a lot more weekend warriors here than commuters, but its a bike friendly town with wide streets and lots of accessible trails. Years ago we opened up a volunteer DIY repair shop to share tools and teach folks how to maintain their bicycles. As far as community outreach/activism goes, it’s a lot more fun and effective than standing on a corner holding a sign.
Besides the Redlands Classic, the other high holiday in town for cyclists is Strada Rossa . Its a fun, friendly mixed surface fundraiser for charity that has concluded with an afterparty in my backyard more than once. This year the course went up and over Seven Oaks Dam and It’s been really fun to see gravel get more and more popular over the last couple years.

Q. You’re moving on from Esri after 10 years, what’s your greatest memory of your time there and tell us about what’s next.

We already shared one tweet earlier, but folks can find the whole love letter here:

I’m only two days in at Showrunner (link: https://showrunner.io) but I’m already having a ton of fun and learning a lot working with a few dear old friends. It’s bittersweet to take a break from geo though. I’m happy to be staying in Redlands. It means I can still keep up with folks online and pedal to grab lunch with my old coworkers.

Q. Finally, what does “geohipster” mean to you?

The point (I hope anyway) is to poke fun at folks for wanting to be different for the sake of being different and simultaneously to preach that “geo” is bigger than ArcGIS.

Learning how to make computers do what you (and your boss) want them to do is hard enough without someone else telling you that the tools you’re using aren’t cool. Whether you can step through the raw source or not, there are plenty of opportunities for learning, being inclusive, and mentoring others.

If there are two suggestions I can pass along in the age of social media outrage, they would be:


Maps and Mappers of the 2019 GeoHipster calendar — Pete King, June

Q: Tell us about yourself.

A: I work in Wellington, New Zealand, as a GIS analyst/ spatial developer at Land Information New Zealand (LINZ) in the Topography team. Day to day, I mostly work in a small team developing inhouse QGIS plugins or processing data using open source tools, but I try to find opportunities to create maps, icons or posters whenever I can. Sometimes its communist style posters about hot desking or Map Man (my coworker who gets called on to save the day with map emergencies), other times it’s more serious, like the Matariki Map.

Q: Tell us the story behind your map (what inspired you to make it, what did you learn while making it, or any other aspects of the map or its creation you would like people to know).

A: The Matariki map came from some really nice constellation design I had come across, which just sat in the back of my head for a while until I finally put two and two together as Matariki was getting closer last year. Matariki is becoming more and more popular in New Zealand, and I live in a small seaside town just out of Wellington that hosts amazing Matariki celebrations with great stories for the kids and walks to find the glow worms, but I still hadn’t delved too deeply into the history of Matariki. I am lucky enough to have amazing tikanga (customs) advisors at LINZ who were able to help me to understand its importance and give the design I had some real depth and background. For me personally the most interesting part of the journey was learning about Matariki’s shifts through history: once, it was a significant celebration, then it was almost entirely forgotten, and now it’s experiencing this amazing revival (including its widespread embrace by Pākehā [settler] culture) due to the emergence of tikanga and Te Reo Māori (Māori language) initiatives.

Q: Tell us about the tools, data, etc., you used to make the map.

A: This map was made using QGIS, Inkscape and open data from LINZ (data.linz.govt.nz) so I’m gonna use this to tell you about how much I love open source, and throw in a shameless plug for FOSS4G SotM Oceania! I was lucky enough to get my first GIS job after uni at LINZ, where there were already strong champions of open source and open data. Even though my job was a lot different to what it is now, I was still using QGIS and plugins we had developed in house. My passion for open source started properly two years ago, when I was able to go to FOSS4G Boston and more importantly the amazing QGIS users conference in Nødebo, Denmark. I’ve always been an empathetic person (one of my first jobs was a veterinary nurse), and more of a sharer than a hoarder, so it’s no surprise that the incredible community and ideas behind open source made a real impression on me at these conferences. I also love great food and Nødebo was up there with the best I’ve had, which would definitely have helped win me over. Since these conferences I have been tinkering more and more with creating maps in QGIS and using my inkscape poster design skills to add those finishing touches. As well as getting deeper and deeper into plugin development at work, don’t get me started on how amazing automatic testing is. But there is one thing I love more than open source and that’s having a FOSS4G in our own backyard, and this year it is in Wellington and LINZ is helping to organise it! I missed out going to last year’s conference in Melbourne and everyone keeps going and on about how amazing it was so I won’t be missing out on this year’s. Though I did get to go to Boston and Denmark, and a tea towel with my map and logo design was brought back for me, so I probably shouldn’t complain. So if you want to see some of the amazing open source work going on in Oceania, or drag along coworkers to expose them to open source, you should definitely come along on the 12-15 November. https://foss4g-oceania.org/ Shameless plug over.

For the map itself I used a combination of populated places data from Koordinates, as well as highways and elevation data from LINZ. I styled the populated places so that larger cities appeared as brighter stars, and joined them using the major highways as a guide. To create the milkyway like cloud in the background I played with different elevations till I found a coverage I liked the look of. Once the map had been designed I exported to svg and loaded in inkscape. I used inkscape to create the custom font for the title by turning the text to a path (treating it like vector data) and adding in the koru like circle at the end of some letters. I also used it for placing and aligning the text on the side, I personally find aligning easier in inkscape.

(Not my tea towel, mines is locked inside a vault for safe keeping.)