All posts by Kurt Menke

Nyall Dawson: “QGIS 3.0…it’s the magic unicorn fairy land of open source GIS™!”

Nyall Dawson
Nyall Dawson
Nyall has been a core developer with the QGIS project since 2013. During this time he has contributed over 5,000 commits to the project, and today is one of the most active developers on the project. Nyall’s contributions to QGIS cover a wide range of areas – from improvements to the map rendering and symbology engines, enhancements to labeling and print layout functionality, right through to optimisations of the underlying spatial processing algorithms utilised by QGIS.

Nyall is the proprietor and lead developer at North Road Consulting, an Australian spatial development consultancy which predominantly utilises international co-funding and crowd-funding campaigns to finance development into open source GIS applications.

You can follow Nyall’s work at https://github.com/nyalldawson and https://twitter.com/nyalldawson

Nyall was interviewed for GeoHipster by Kurt Menke.

Q: Nyall Dawson, where are you located and what do you do?

A: I’m a geospatial developer, analyst, and (I’d like to think) a cartographer, and the director of North Road. I’m heavily involved in the QGIS project and am one of its current core developers, however, in practice my time is generally split about 60/40 between making software and making actual maps (i.e. being a GIS “user”). I also teach crime mapping and spatial analysis at Charles Sturt University. Geographically, I’m based on the Sunshine Coast in Eastern Australia (and yes, the name does describe it perfectly!). It’s as close as Australia gets to perfection – people  only leave here if work forces them to.

Q: You seem to be equally talented in programming and graphic design. What’s your background?

A: I’ve bounced between these two disciplines since high school, and it turns out that spatial analysis is a great mix of the two. While I originally studied mathematics at university, my first job after graduating was as a designer in the marketing department for an IT wholesaler. I was a horrible fit. This pushed me back towards the IT side of things, and I spent a number of years working on corporate networks. I stuck it out long enough to realise that while I enjoy working with software, I wanted to use it to actually make something  (instead of just making it work for someone else).

At the time my wife Maryanne and I decided that we needed a change, so we sold up everything we had, quit our jobs and spent 12 months backpacking around Latin America and Europe. I started collecting maps of places we’d visited, obsessively geotagging every photo we took, and filling in gaps in OpenStreetMap so that I could accurately track where we’d been. It was while hanging out in a bar in Argentina called “The Map Room” that Maryanne suggested I should look into studying maps when we got back to Australia. It’s a perfect profession for me – map making strikes a great balance between that desire to create something useful and pretty, while still being driven by mathematical algorithms and code.

Q: Maryanne is wise! Connect the dots for us. After returning from that year long adventure how did you learn about GIS and cartography, and when did you discover open source GIS and QGIS specifically?

A: So, back in Australia, I enrolled in a masters in “Geomatics”, which was a bit of a mix between every spatial discipline. A couple of early pracs involving surveying sites using steel tapes(!) quickly lead to me dropping every subject that wasn’t pure GIS or cartography. Towards the end of my masters I started working for Victoria Police, as a spatial analyst in their intelligence division. I loved the work – it involved a great variety of tricky spatial and statistical problems with the occasional need to make a pretty map. This is how I got started with QGIS — the commercial GIS package they used just had no capacity for making pretty maps, no matter what tricks you tried. I got sick of creating maps that I was embarrassed to show off so went hunting for alternatives which we could use (in other words… free alternatives. They had no software budget at all). This hunt lead to QGIS, and it wasn’t long before I was totally converted.

I’ve always been a bit of an open-source zealot anyway, so QGIS was a natural fit for me. To me open source just makes sense. I hate the feeling of being at the mercy of some distant software vendor to fix bugs and improve my daily workflow, so I’d much rather just have the ability to dig in and fix things myself. It’s a great model all round – even end users with no coding knowledge can still directly influence an open source project through sponsored features or fixes, and in the end everyone benefits from this.

Q: When I first met you, you were working for the Victoria Police. Why did you decide to launch North Road?

A: Well, as I started using QGIS at Victoria Police more and more, I started hacking away in my spare time to add improvements and fix any little bugs I’d hit during my day job. Doing this for an open-source project was one of the best learning experiences I’ve had. There’s always motivation to improve your work and make sure it’s in top form before opening up a pull request and knowing that it’s going to be visible to everyone and reviewed in public! Plus, you can always watch the changes which are flowing in from other developers and learning from their experience too. Luckily I had some great mentors early on (including fellow Australian geohipster Nathan Woodrow!) who always made themselves available for my constant questions and to refine my rough ideas. Over time the contributions I made became more ambitious as my confidence (and skills) grew, and I started getting queries from users who’d benefited from these contributions. I remember receiving my first email from a user asking “I saw you made this change recently to QGIS, how much would it cost to extend it a bit further and make it cover my requirements too?” – I had no idea what people would usually charge for work on open source, or indeed whether it was even considered “bad form” to charge for working on an open source project (Hint for all open source contributors: it’s not! Your time is valuable and you have no obligation to work for anyone for free!).

Things grew from there until I hit a critical point (when we had our second child), where I had to either make a decision to make this a full-time thing and quit the police work, or scale back the after hours work. I opted for the self-employment option since it meant I could wear teeshirts instead of a suit, listen to any music I wanted to all day, and stay up all night wondering if I’d made a terrible decision and would be broke and homeless in a month. And so North Road was launched.

Q: Walk us through a typical day being a QGIS developer and committer?

A: Well, right now we’re leading up to the launch of the next major version, QGIS 3.0. It’s going to be huge – there’s tons of new features and optimisations, and we’ve totally ripped out and rebuilt some of the older code areas and replaced them with brand new backends (composer, server, and processing). It also brings the change to Python 3 and Qt 5. So currently most of my daily development time is focused on getting 3.0 into top shape and squashing regressions before the final release. It’s a little stressful! Fortunately, the QGIS project enjoys the backing of numerous generous sponsors, which allows the QGIS organisation to directly employ developers to work on the trickier bugs in the lead up to a release. This allows me (among others) to focus our time on these fixes, and as a direct result the final release will be much more stable. (Hint for QGIS users – if you’ve ever wanted to see stabler releases, this is one way you can directly influence the quality of the final release… those sponsorship dollars and donations have a direct effect on the stability of QGIS!).

Following the release I’ll switch back to focusing on feature development – which means my days are filled with fundraising, writing proposals, and, when I’m lucky, coding new features.

Q: What are your favorite new features of QGIS 3?

A: That’s a huge question! The thing to keep in mind here is that QGIS 3.0 has been actively developed in parallel to the stable QGIS 2 releases for the last 2 years. So while the changelogs for the last couple of releases were substantial on their own, those were just for releases with the normal 4 month release cycle. You can start to extrapolate here and get an idea how long the changelog for 3.0 will be! I don’t think there’s any part of the code or interface which hasn’t been refined and improved in some way.

But in short, the features which make it difficult for me to go back to QGIS 2.18 are:

  • The improved label tools which allow you to just pick up and modify any label in your project, without needing to alter your layers in any way.
  • The reworked processing analysis framework and all the new and improved algorithms available in 3.0
  • and surprisingly, all the refinements to Geopackage handling which make them easy and convenient to work with. It’s actually enough to convert me from team shapefile!

 

Q: What is a QGIS feature you’d love to have time to work on but haven’t gotten to yet? What’s your wishlist?

A: Great question! My wishlist is HUGE, and grows every time I make a map. There’s two items which I’d say are top of my personal cartographic hit list right now:

  • Adding “distribute spacing” tools to the print layout designer. 3.0 adds a bunch of new “distribute item” actions which allow items themselves to be evenly spaced within a layout, but I want to be able to distribute the gaps between items instead. It’s a common functionality in desktop publishing and illustration applications which hasn’t yet found its way to QGIS.
  • Adding more automatic label placement options and refining the logic we already have. It’s good, but there’s always more we could do and finding ways to improve the automated placement benefits everyone – even if all you use QGIS for is visualising a bunch of shapefiles.

Fortunately, the QGIS user community has adopted a great attitude toward crowd-funding of features, and there’s been many funding campaigns which have allowed tweaks like these to happen in the past. I’ve already got a few campaigns lined up and ready to go for similar improvements following the release of 3.0!

Q: You mentioned that your time is generally split about 60/40 between making software and making actual maps. What types of projects do you work on when you’re not developing?

A: It’s a mix – these days it’s a whole range of analytical maps showing various statistical outputs right through to “simple” maps of various reference layers for government reports. Fortunately at the moment I’ve got a number of clients for whom high-quality visualisations are essential, so I get to spend time polishing maps and making outputs which I’m proud of. Surprisingly, they’re also almost exclusively print and static maps too. (On a slightly different topic, I personally suspect we’re going to see a swing back toward valuing static, non-interactive maps and data visualisations sometime. Everybody’s just so busy that maps and visualisations which can effectively and instantly communicate their message to a reader, without any data exploration, are likely to see a resurgence for projects where interactivity isn’t a key requirement!).

Q: I know you are a tabletop gamer. What are your favorite games these days? What else do you do for fun?

A: I’m all for co-operative, story-based games at the moment. The Arkham Horror Living Card Game is getting a lot of play (and accordingly, inspired the “Exploring the Depths of Madness Through QGIS symbology” talk I gave at the recent QGIS Australia meetup). TIME Stories and the Pandemic Legacy series are recent favorites too!

Incidentally, I love seeing board games with great cartography. There’s been quite a few games which have inspired me to try different mapping techniques. One personal favorite is the map for the GMT “Liberty or Death” game… that’s a beautiful map, which perfectly balances cartographic attention to detail with usability as a game set piece. It’s gorgeous (and incidentally, inspired a few QGIS symbology tweaks!), and I love that I can learn better map making just from gaming.

Apart from gaming, something I’ve recently rediscovered is how relaxing it is to just put on headphones and listen to an album without doing ANYTHING else. No dual-screening, no checking emails, no fixing QGIS bugs — just tuning out and listening!

Q: Do you consider yourself a geohipster? Why or why not?

A: Well, for a long time I was a holdout flag-carrying member of team shapefile, yet I’ve recently been won over by GeoPackage. I’m not sure if that makes me a geohipster or the opposite! (Shapefiles are retro-cool now, aren’t they?)

I *did* just move out to the country and to a place with our own vegetables and chickens, a farmer’s market next door, and an old avocado farm I can raid if I jump the back fence. I guess that makes me either a hipster or a hippy.

Q: Any words of wisdom or final thoughts you’d like to share with the GeoHipster community?

A: If I’m speaking philosophically, I think it’s crucial these days to have something “unique” you can bring to the profession. I don’t believe it’s enough to just be a “GIS specialist who knows XXX desktop GIS platform”. You’ve got to have something extra which differentiates you and helps you stand out from all the other GIS professionals. For example, you want to be “the GIS specialist who is a statistical wiz” or “the GIS specialist who can code and automate all those boring processes” or “the GIS specialist who can craft effective story-telling maps and visualisations”.

But if I’m speaking as a QGIS developer I’d say: mark down February 23rd in your diary,  download QGIS 3.0 and enjoy. It’s the magic unicorn fairy land of open source GIS™!