Nathan Woodrow: “Having non-programming hobbies is super important to your health”

Nathan Woodrow
Nathan Woodrow

Nathan Woodrow is a QGIS developer, blogger, father, and reborn Warhammer 40K lover. He has been an active developer and member of the QGIS project for the last five years. His QGIS/GIS blog at nathanw.net showcases some of the upcoming features in QGIS, as well as offers tips and tricks for developers and users. Previous to moving into the private sector, he worked as a GIS officer in local government for seven years. His bio pic is also a lie, as he has cut off all of his hair but has no good photos. 🙂

Nathan was interviewed for GeoHipster by Randal Hale.

Q: Nathan, how is life in the Land Down Under? I believe you are on the Gold Coast, Australia?

A: Good, thanks, and no shortage of Vegemite that is for sure; so delicious! — but let’s not talk about the current government, OK?  Yes, I currently live on the Gold Coast. I have been living here with my wife and two children for almost three years. I was born and raised in Warwick, a town about 150km south-west of Brisbane, where it gets nice and cold in winter and bloody hot in summer — mind you I have become a bit softer in my tolerance of the cold since moving to the coast.

My GIS career started in the local council in Warwick fresh out of high school, not even knowing what GIS was, and after starting with Digital Mapping Solutions (DMS) I moved to the Gold Coast to be closer to the airports for travel accessibility. Also so we’d have family around, as that’s where my wife is from originally.

Q: You are one of the developers on QGIS. How many of you are there out there working on this project?

Lots. Spread all around the world. There are 32 developers with direct commit rights to the code base, including myself. However, if you don’t just count core contributors, which you shouldn’t because that is what open source is all about, we have a large number of other contributors. “Contributors” includes people who just commit fixes and/or features but never come back, it also includes people who hang around the project regularly but just don’t have direct commit rights.

There are also people working on the docs, website, managing the tickets that come in, all jobs that make the cogs in the wheel that is QGIS turn. It’s a very friendly project to work on, which I think has helped in our success in being a large community of project maintainers and users.

Q: I ran into you on Twitter several years ago (@madmanwoo) with some wayward question on how QGIS works. How did you get involved in the QGIS project? Was the local council in Warwick using it?

A: In fact if my Twitter search didn’t fail me, it was Bill Dollins (@billdollins) who introduced you to me in a tweet when talking about me moving from MapInfo to QGIS.  (https://twitter.com/madmanwoo/status/135338467524743168)

My first involvement with the project, from a contribution point of view, was when I added expression-based labels (http://nathanw.net/2011/10/27/expression-based-labeling/). I had started to use QGIS at council for data entry, but expression labels were something that MapInfo had that I really missed in QGIS; without it I was never going to be able to use QGIS more in my day job.  After opening a ticket and sitting on it for a while, I sat down over a weekend, hacked in an expression-based label to see how it would work, and was pretty impressed at the speed and how easy it was to get going. It still took me about two months to add the UI and finally get it added to the core project. After that I was added as a core contributor and here we are now.

I was the first one at council to use QGIS in a full production setup. The first version I used was 1.7, but at that stage it just wasn’t ready for full time usage. After 1.8 I pretty much stopped using MapInfo and started using QGIS for all my tasks. Readers of my blog would have seen the progression. It didn’t take long for the bug to bite and for me to promote QGIS to other councils, and anyone else that would listen. It wasn’t our “official” desktop GIS, however I started to move other people onto it for all their mapping tasks. I was quite happy when I managed to get an older foreman using it to update our kerb and footpath assets, including splitting and joining.

Q: There’s been some discussion on when QGIS 3.0 comes out. With every release the software grows. In your opinion, what’s the next big hurdle for QGIS as a desktop software?

A: For the me the biggest thing is the user experience of the whole package as one thing. QGIS is getting very large in code, usage, and function. At times things can go into the application without full thought on how the overall workflow fits together, which can leave the user confused when moving through to get their work done. To do this correctly you really need to design full workflows around a user story and not just a single feature for a single use case, which can leave a function hanging on the side and not really fitting in. I will also add that I am fully guilty of doing the single function style of developing myself — it’s much easier.

Of course this is a complicated process, because QGIS has a massive user base with very different use cases, but I think as we evolve we need to address some of the workflow issues within the application. This is not to say we are not already doing it, or getting better. Every release adds new custom controls that are used throughout the application for consistency. Things like data-defined buttons, layer combo box, etc., are all generic controls that we can reuse to help the flow and feel of the application. Consistency is almost always the key.

I guess that also raises the question does QGIS have a future in a world that is moving “all the things” to the web? My answer is of course yes it does, but I’m also biased.

Q: In order to do all of this you have to know something about programming. Are you more programmer or GIS person?

A: I consider myself more of a programmer these days, although my imposter syndrome is quite strong at times as there are some super smart people, and reading past GeoHipster interviews does help that feeling. My current job and involvement in QGIS still keeps me in the GIS space, which I very much like, just more on the programming side and less on the map-making and data entry work. GIS is still great though, and I enjoy it when I can. The people in the GIS circles are excellent, and the problems in this space are fun to work on, but I guess just out of natural evolution of my current work I have landed more on the development style of things.

Personally I believe good programming knowledge helps you in GIS every day, even if you are just better at scripting things — you have just saved yourself some money and time where someone else couldn’t.

Q: How did you get started in programming, and what was the first programming language you learned?

A: My first programming language was Borland Delphi in the programming course at high school. If I remember right the first thing we wrote was a fake cash register application, after that I did a small bit of game programming making a Pokemon shooting game that lasted on the school network years after I left. Pokemon + sniper rifle = awesome fun!1! (don’t judge me I know you think it’s awesome)

Once at council, the other GIS guy and myself took the intro MapBasic course, the scripting language that comes with MapInfo. The plan was to cut down some of the tasks we had to do every week but took ages to do. After plain MapBasic I “progressed” into using VBA with Access and embedding MapInfo maps into Access forms for custom applications — you can almost hear the screams from here but hey at least they worked for the tasks. Once I saw that you could also use MapInfo in .NET, I started to use VB.NET for everything, moving onto C# after that — because who really uses VB.NET any more. Once I picked up QGIS, my only path there was C++ so I left C# and MapInfo for Qt/C++ and QGIS.  After using QGIS for a long while, I started to really like writing Python, and now that is my go-to language for most things these days.

Q: With everything you did, you also developed Roam. What is Roam? I see it starting to pop up everywhere.

A: It’s nice to see you are starting to see it used by others. I think unless you hit critical mass with a project, it can be hard to see who is really using your stuff.

Roam is a Python-based QGIS application that is mainly focused around easy tablet-based data collection. Roam, which used to be called QMap, started as a plugin I developed while working for my old council to aid in our data collection process. The first version was very very primitive. It ran as a plugin in QGIS and had pretty poor UI, but it worked quite well for our needs.

After starting with DMS we invested a lot of time in making it a lot better and released it under a new name as most of the code was redone. Roam was the first project using QGIS and Python outside of a plugin that I had done, so there was a lot of learning involved in how to do it, but I am quite happy with what it has become and the number of users — there was even a Roam workshop at the recent QGIS conference. It’s also GPL, just like QGIS, which makes me quite happy as it gives people a good (bias warning) data collection application for Windows.

Q: Have you ever eaten kangaroo? If not, what’s the most random thing you’ve eaten in Australia?

I’ll pass on kangaroo, some tell me it’s good others tell me it’s bad so I will just stick to what I know 🙂

Not very many out there, but I do like my typical Aussie Vegemite and Milo in the mornings though. Tend to have more Milo in a glass than milk, and Vegemite nice and thick on toast.

Q: What is Milo?

A: THE BEST THING EVER!!

https://en.wikipedia.org/wiki/Milo_(drink)

This was full about a week ago.

Milo -- "THE BEST THING EVER!!"
Milo — “THE BEST THING EVER!!”

My son also loves it, so that isn’t all just me 🙂

However I did just read this on Wikipedia:

Milo contains some theobromine, a xanthine alkaloid similar to caffeine which is present in the cocoa used in the product; thus, like chocolate, it can become mildly addictive if consumed in quantities of more than 15 heaped teaspoons per day

That might explain it. *eats spoon of Milo*.

Q: I always leave the last question wide open for the interviewee — now’s your chance to tell the entire world what you wish to tell them.

A: I see a lot of people in GeoHipster interviews giving out good GIS advice. I’m not sure I have anything like that I can give out. However, I will try to offer something a bit more general which has helped me recently.

Outside of family and friends, hobbies are the most important things you can have in life, especially if you are a programmer. Having non-development hobbies is super important to your health. After my daughter died two years ago I realised I didn’t have any hobbies outside of programming, and it drove me into a massive hole. My answer to the question “what do you do in your free time?” was “programming”; after Eloise died it turned into “nothing”, as I had lost interest in anything programming-related because that is all I had and burnt myself out on it. Bit boring I know, but the moral of the story is: For your own mental health get something that you can do when the normal thing you do gives you the shits and you need a time out.

Some lighter general advice is to get involved in your local open source project. It’s not always a rose garden, but it’s normally a lot of a fun to be involved in a project that other people put their love into. Luckily there is a lot of great GIS open source stuff coming out to get involved in.

Anita Graser: “Cooking is similar to coding: there are rules, cookbooks, and if you practice you’ll get better”

Anita Graser
Anita Graser

Anita Graser (Twitter, blog) is an open source GIS advocate and data visualization geek with a background in geographic information sciences, working with the Mobility department at the Austrian Institute of Technology, Vienna. She is part of the QGIS project steering committee and an OSGeo Charter member.

Anita was interviewed for GeoHipster by Atanas Entchev.

Q: How did you get into mapping/GIS?

A: Since my parent’s house is reasonably difficult to find, I had to learn how to draw a map of the neighborhood quite early on if I wanted to have a new friend come over and visit.

My first encounter with projections was in upper elementary Geography class when I realized that all those maps I had collected for my presentation about Hungary just would not fit together. I gave my best to hand-draw a combined map anyway. It would definitely have been great to have a GIS at hand back then.

I discovered the Geomatics study program when I was touring some local universities after high school. It looked like a great way to combine my love for maps and technology and that’s how I got into GIS.

Q: You work for the Austrian Institute of Technology in Vienna, Austria. What do you do there?

A: I am working as a researcher at the AIT’s Mobility department. The focus of my work lies on spatial data analysis and visualization. Naturally, this means lots of GPS tracks and street network data. My recent work (http://anitagraser.com/publications/) includes, for example, analyzing OpenStreetMap suitability for vehicle routing or the impact of elevation data accuracy on estimating electric vehicle energy usage.

Q: At Geohipster we are fascinated with what drives people such as yourself to embrace open source. How did you get into open source? What is your reason?

A: Like most students, at university, I first got introduced to proprietary desktop GIS before my first experience with open source GIS in the form of PostGIS and UMN Mapserver. I really learned to appreciate the freedom of open source during my internship at Arsenal Research (now part of AIT) where I was able to set up my own PostGIS databases to experiment with different datasets and build web visualizations around them.

I started looking into QGIS mostly because I needed a tool which allowed me to automate data preparation and visualization to evaluate algorithm results. I ended up writing my first QGIS Python plugin which I was also able to use in my thesis. This success, the welcoming and helpful community, as well as the increasing range of QGIS functionality, motivated me to stick with open source. Additionally, I found it very liberating not to have to go to the university labs whenever I wanted to do some GIS work. Instead, I was able to have my GIS with me and install it wherever needed. For my use cases, I simply found the flexibility of open source GIS tools more convenient and better suited.

Q: You are part of the QGIS Project Steering Committee (PSC) and an OSGeo Charter member. This is both a great recognition and a great responsibility. What is your function on these boards?

A: OSGeo Charter members, like regular members, can support the foundation in a variety of ways including coding, teaching, documenting and much more. Additionally, charter members have the responsibility to elect the OSGeo board. To become a charter member, one has to be nominated and elected by the existing members.

On the QGIS PSC, I’m currently acting as design advisor. This role includes overseeing activities related to branding, user experience, icons, and other graphical elements of the application and the website. With QGIS 2.0, I think we took a big step towards a more professional look of the application. We also relaunched the website and started a new usability mailing list (http://osgeo-org.1560.x6.nabble.com/QGIS-UX-f5095867.html) to name just a few of the recent activities in this field.

Q: You are informally referred to as the High Priestess of QGIS. How involved and time-consuming is your involvement with OS and QGIS? How many hours/week do you spend on OS- and QGIS-development-related tasks?

A: On workdays, when the QGIS mailing list and GIS.StackExchange are busy, I spend my time on user support mostly. Depending on the number of issues raised, I spend somewhere between one and two hours most of the time. Weekends are generally less busy and I’ll  try out new features, write blog posts, or prepare other material as needed. Additionally, the QGIS PSC meets once a month to discuss organizational issues.

I also really enjoy when I get around to doing some development work, for example, on my Time Manager plugin or testing new Processing script ideas. But that’s only a relatively small part of the time I spend on the project.

Q: Your mother tongue is German, but your English is impeccable. Does it bother you when native English speakers are too cavalier with English spelling and grammar?

A: Thank you for the compliment! In my experience, most English speakers I’ve met will try to help people who are not native speakers even if it’s sometimes difficult to grasp the exact meaning of the question or issue raised. A spelling error here or there usually won’t bother anyone but unfortunately, misunderstandings can become very common if some people in a discussion are less familiar with the workings of English grammar.

Q: Your Twitter handle is @underdarkGIS. How did you come up with that? What does it mean?

A: I like reading fantasy books. One thing led to another and I registered underdark.wordpress.com and started blogging. When I joined GIS.StackExchange and then Twitter, it just seemed to make sense to choose a username or handle which people could recognize and connect with my other web presences.

Q: I understand that you enjoy cooking. Is it a coincidence that a disproportionately high number of software designers and developers love to cook? Is there a similarity in the processes of software design and cooking?

A: On some level, cooking is very similar to coding: there are rules, cookbooks if you want, and if you practice, you’ll eventually get better at it. On the other hand, I find cooking has the clear advantage that it’s an activity with a clear and most of the time rewarding end. You cook, you eat, and that’s it. Coding is quite different in this regard. You can write code, test it and use it but once you put it out in the real world, the actual work of bugfixing and updating has just started.

Q: What is your favorite dish to cook? What is your favorite dish to order when you eat out? Wiener Schnitzel is mine (really), when on the menu (rarely in the US).

A: I really enjoy cooking curries and pasta. If I would have to pick a favourite, it would probably be chicken with carrots in red coconut curry sauce. That’s something I cook – with slight variations – at least twice per month.

When eating out, I always try to order either local specialities or uncommon dishes which I would or could not prepare at home. I like to experiment and there are only few things which I don’t eat at all.

Q: Do you ever cook for a large number of people? If you do, how do you handle the inevitable differences in tastes and preferences of the diners? The parallels with QGIS development should be obvious.

A: Luckily my family is not particularly picky but if I cook for a group of people and I’m not sure about the preferences, I’ll usually prepare a couple of smaller courses and different side dishes so that everyone should be able to find at least a couple of things they like. I guess I’m building a modular meal if you want to put it that way, and everyone can customize their dining experience.

Q: Thank you very much for the interview. Is there anything else you would like to share with our readers?

A: Thanks for having me! You can find out more about my work with open source GIS as well as my research on http://anitagraser.com and if you want to get in touch, just contact me on Twitter or drop me an email.