We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Human Geography with Open GIS

00:00

Formal Metadata

Title
Human Geography with Open GIS
Subtitle
Transformative Introductory Higher Education Course
Title of Series
Number of Parts
295
Author
Contributors
License
CC Attribution 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Curricula in geography and GIS can be transformed by integrating open source GIS with critical human geography. This integration requires students to develop strong skills in assessing error and uncertainty and in questioning the powerful social implications of spatial information technologies, and requires faculty and students to develop new open curricula, features and algorithms to facilitate teaching introductory spatial analysis. Building on three semesters of experimentation with an advanced-level integrated open and critical GIS course, I have transformed a large introductory proprietary GIS course into a critical human geography course with open-source QGIS.<br> Throughout the curricula, open GIS techniques are mapped to critical human geography concepts. Novice GIS students learn fundamental techniques while also learning to question the political economics, social and cultural forces, and instrumental logics that shape GIS data, software algorithms, visualizations, and social impacts. For example, students' first exercise is to practice radical cartography of disabled mobilities. On one hand, they learn fundamental techniques of the vector data model, planning a data collection schema, using a Leaflet application exposing the global positioning system location services on their phones, querying OpenStreetMap data, and creating a QGIS map visualization and print layout of wheelchair users' accessibility on campus. On the other hand, they confront and appreciate social power in construction of the built environment and campus maps, socially differentiated mobility in physical and cognitive space, and potential for GIS to challenge the status quo. <br> What are the substantive differences between teaching GIS and teaching human geography with GIS, or between teaching open and proprietary GIS? Teaching human geography places critical questions about the society and society's interaction with spatial technology first, while the spatial technology itself is not black-boxed, infallible, or determinant. Taken together, students first ask how GIS can be used for critical inquiry and when GIS fails or delivers unsatisfactory results, they ask how open GIS can be altered to produce better answers. The fallibility of open GIS requires a pedagogical focus on assessing error and uncertainty: students must learn to confidently assess the integrity of each algorithms' results. The accessibility and malleability of open GIS enables students and faculty to change GIS as we use it, and open GIS can benefit from cohorts of novice students critically engaging with the technology. New forms of GIS users and applications emerge as students diffuse open GIS technology through other university courses and internships with grassroots and non-governmental organizations. New forms of open GIS software emerge as students help create more user-friendly open GIS for novices and repurpose open GIS for critical inquiry.
Keywords
129
131
137
139
Thumbnail
28:17
Open setArithmetic meanPresentation of a groupLecture/Conference
TheoryINTEGRALProjective planeOpen sourceGoodness of fitTouchscreenProbability density functionLecture/Conference
Open setTransformation (genetics)PC CardConvex hullLogarithmLatent class modelRange (statistics)Error messageMathematicsMathematical analysisFrame problemBlack boxDependent and independent variablesKritischer Punkt <Mathematik>Level (video gaming)Slide ruleRepository (publishing)Social classINTEGRALProjective planeTheoryRevision controlQuicksortOpen sourceDivisorSoftware developerMultiplicationView (database)Radical (chemistry)SoftwareType theoryTerm (mathematics)BitWebsiteStudent's t-testTransformation (genetics)Context awarenessOpen setCartesian coordinate systemRange (statistics)Fundamental theorem of algebraCodeMathematical analysisFreewareRight angleForm (programming)DataflowHazard (2005 film)Chaos (cosmogony)Coma BerenicesBit rateArithmetic meanMathematicsDigital photography19 (number)
Fundamental theorem of algebraRange (statistics)Error messageMathematical analysisReading (process)Interactive televisionHeat transferTheoryContext awarenessImplementationVideoconferencingSpacetimeVisualization (computer graphics)Open sourceVapor barrierSpring (hydrology)Field (computer science)BuildingStudent's t-testHazard (2005 film)Integrated development environmentPlanningData typeGame theoryMaß <Mathematik>Cycle (graph theory)Pattern languageType theoryOperator (mathematics)Slide ruleControl flowMultiplication signMappingStudent's t-testBranch (computer science)AudiovisualisierungSpacetimePoint (geometry)Power (physics)BuildingFunktionalanalysisGenetic programmingProduct (business)Order (biology)Video gameSystem administratorSoftware developerIntegrated development environmentHazard (2005 film)Independence (probability theory)Context awarenessFundamental theorem of algebraLevel (video gaming)VideoconferencingTouchscreenDataflowImage resolutionUniform resource locatorOpen setSuite (music)Mobile appNetwork topologyView (database)Different (Kate Ryan album)ResultantSocial classForm (programming)GoogolNumbering schemeAdaptive behaviorProgram flowchart
Degree (graph theory)Network topologySurfaceIndependence (probability theory)Performance appraisalConvex hullElectronic data interchangeElectronic mailing listBlock (periodic table)Arithmetic meanGroup actionTheoryOpen setContext awarenessResultantGraph (mathematics)SatellitePattern languageInformationOpen setWrapper (data mining)Level (video gaming)TheoryDivisorMappingSurfaceData structureView (database)Different (Kate Ryan album)Student's t-testIntegrated development environmentType theoryMultiplication signSoftwareSet (mathematics)Arithmetic meanComputer animation
BitSoftwareStudent's t-testMappingSoftware bugMaterialization (paranormal)Multiplication signMobile Web
InformationDaylight saving timeLink (knot theory)Service (economics)Computer iconSymbol tableStapeldateiCodeSummierbarkeitMathematical analysisGraph (mathematics)Chemical polarityTheoryPlot (narrative)Revision controlRule of inferenceOpen setDirection (geometry)DistancePrototypeAlgorithmLocal GroupAzimuthParameter (computer programming)Error messageGeometryField (computer science)StatisticsFunction (mathematics)Vector spaceCore dumpProcess (computing)Personal digital assistantConstraint (mathematics)Plane (geometry)Wave packetMatrix (mathematics)outputIndependence (probability theory)Computer reservations systemExplosionSoftwareAnalytic setIndependence (probability theory)Software bugDirection (geometry)Term (mathematics)Service (economics)BitFigurate numberTheoryCompass (drafting)Materialization (paranormal)Type theorySimilarity (geometry)Polar coordinate systemDegree (graph theory)Revision controlTraffic reportingGeometryHydraulic jumpPlastikkarteQuicksortBlock (periodic table)Error messageObservational studyCASE <Informatik>PrototypeNumeral (linguistics)Group actionElectric generatorEndliche ModelltheorieCore dump1 (number)Field (computer science)ResultantMultiplicationCalculationRow (database)Data structureNumberMultiplication signDistanceLevel (video gaming)MereologyStudent's t-testSocial classResolvent formalismMathematicsRight angleAzimuthProgrammer (hardware)Boundary value problemOpen setForm (programming)AlgorithmMappingVisualization (computer graphics)Mathematical analysisSelectivity (electronic)Vector spaceStreaming mediaMobile appScripting languageComputer iconCartesian coordinate systemMedical imagingStapeldateiDirectory serviceOpen sourceData typeDescriptive statisticsLageparameterProgramming languageComputer fileCodeSpring (hydrology)Single-precision floating-point formatBuffer solutionUniform resource locatorFunction (mathematics)Constraint (mathematics)FunktionalanalysisIntegerConstructor (object-oriented programming)Matrix (mathematics)Process (computing)VideoconferencingOperator (mathematics)Bit rateSoftware developerData streamDependent and independent variablesPlotterTape driveServer (computing)BuildingGoodness of fitVariable (mathematics)StatisticsChaos (cosmogony)Computer programmingQuantum stateCuboidAudiovisualisierungReading (process)Computer animation
Level (video gaming)TheoryIndependence (probability theory)Error messageContext awarenessEmailLevel (video gaming)Student's t-testType theoryIndependence (probability theory)Multiplication signDifferent (Kate Ryan album)Self-organizationSlide ruleError messageGateway (telecommunications)Open sourceProcess (computing)Strategy gameCodeSoftwarePoint (geometry)ResultantFinite-state machineEmailTheoryMathematical analysisSoftware developerShared memoryAddress spaceComputer animation
Error messageStudent's t-testNeuroinformatikFinite differenceImplementationSocial classCore dumpPhysical systemMacro (computer science)Traffic reportingBitMultiplication signSoftwareBit rateVideoconferencingWindowNumberEstimatorSoftware bugIntegrated development environmentSheaf (mathematics)Level (video gaming)Reading (process)Scripting languageFrequencyMereologyRight angleMathematicsVirtual machineRevision controlPresentation of a groupDifferent (Kate Ryan album)Figurate numberLaptopGeometryTheorySoftware developerInsertion lossLecture/Conference
Transcript: English(auto-generated)
So I invite Joseph to come to give his talk. I ask him to introduce himself. And then you have 20 minutes presentation, five minutes questions, and five minutes
for changing rooms. Thank you. As you can see, this is my first Frost 4G. I am excited about it. And I'll pack just a t-shirt and shorts for Calgary next year, I hope. So I'm here to, I'm coming from Vermont.
Are you all set? Yes, because people want to see the screen.
Sorry, technical issues.
I think with PDF you have to move it to the screen and then you can see it on that screen.
Check it? Yes. Okay. Okay. Okay. So if you want to stay there. Ah, that's great. Cool. Yeah, that's good.
Okay, so I'm coming from Vermont, Small Liberal Arts College, Middlebury College in Vermont. And my intellectual project over the last few years there has been trying to integrate critical human geography theory with GIS technical courses. And I started at the higher level and then over the last year brought it back down
right from the introductory level. So the title of my talk is Human Geography with Open GIS, a transformative introductory higher education course. So I framed this talk sort of as a response to some of the reviews that I got from a paper just published digitally this summer.
The DOI is right there. And this is also on github.com slash GIS for development in the repository for FOSS4G 2019 if you want to download the slides rather than taking photographs. And this paper was about the advanced level course. And some of the response I got to that from skeptical human geographers was,
okay, you're using open source GIS, but isn't GIS still just a capitalist, imperialist, military, industrial, instrumentalist, surveillance technology tool even though it's open source? How is that so different from the proprietary stuff that we've been using all along? And from our sympathetic reviewers,
I got questions like can we really try to do this at the introductory level with novice students? And can a course really meaningfully integrate critical theory with GIS techniques at the introductory level and kind of meaningfully change GIS in any way? And this talk will kind of present to you some of the incremental ways in which I feel like
the class really has been transformative. And so to kind of frame this for folks that aren't familiar with this conflict, at least in United States geography, on the human geography side, you have the radical Marxists, relativists, qualitative folks, people doing postmodern theory, and that camp kind of generally rejects all GIS in any form.
And on the right-hand side, GIS is more or less the black box of a corporate version of proprietary software, kind of seen as capitalist, logically positivist, and so on and so forth. And so what I'm trying to do here is create something new and integrative
for undergraduate students, that is human geography with open GIS, where GIS is presented as multiple possible GIS softwares that are accessible because it's open source and free, that they are malleable because you can fork them and change them. The transparent code can be seen from a critical point of view as a text and a history of the social context
of development of this technology. And that technology, because it's malleable and open, can maybe better support critical research from the left-hand side of the divide. And so I'm proposing that the GIS lab, when you start teaching this way, becomes a site of transformation of curricula, of software, and of students themselves.
So how is the curricula transformed? I'll present to you a little bit about the course. In terms of its learning goal, its flow, the types of work that students have produced, and the way I evaluate. So my learning goals in the course are to understand and apply fundamental concepts in human geography and spatial analysis,
understand and apply and critique a range of thematic problems and applications of GIS in human geography, so kind of political, human, urban, hazards, you know, all the kind of themes of human geography, develop skills interpreting and critiquing evidence, including spatial data,
solve problems independently by choosing the best methods and interpreting results, so independent problem solving, gaining familiarity with GIS and learning new GIS techniques, and appreciating problems of error, uncertainty, and ethics in GIS. Many of these, if you're familiar with typical GIS curricula, are topics that are not present at all or barely mentioned.
So the flow of the course, let's start at the top. On a Thursday, I would introduce a new subdiscipline in human geographies that might be urban geography or political or hazards or so on and so forth. Over the weekend, I will give students a recorded video tutorial
where they work through a simple example, typically so simple that they could actually digitize the features along with me on the screen and then try running some operations on those features. And also over the weekend, they would read one paper which would apply that GIS technique in a critical way.
Then on Tuesday in class, we'll review the concepts that we kind of learned in the tutorial and make sure those are all solid and start talking about how you would combine those GIS techniques to solve the types of problems that they were addressing in the methodology in the paper that we read over the weekend. Then in lab, we'll actually transfer that problem
to a new context. So just for example, if we read a paper that was studying patterns of segregation in Milwaukee, we would then move over to Chicago and students with me would kind of work through that problem in the lab. At the beginning of Thursday, we'd critique and interpret the findings and the methods from that lab
and then move into a new subdiscipline. So we'd go through this cycle a couple of times and then after three weeks or so, we'll break and I'll give them an independent problem and I'll show an example of what that might be in a couple of slides. So to give you an idea of how this is really possible, I'll show what I did in the first week and a half of the course.
So it's a slightly modified schedule because of not starting on a Thursday, but just follow along. So starting at the top, in the very first class, I introduced what is human geography, what is GIS, what is cartography, like those big ideas. Then they read before lab a paper by Kitchen from 2002, which was a participatory mapping of disabled access in an urban environment.
The critical aspect of that paper is the fact that it's participatory and it's trying to map disabled access, not the type of thing you normally see on Google Maps or Campus Map or something like that. Then in lab, students worked together to create a data schema
that would allow them to create a map similar to the one that they read. They implement that in Google Forms, and then they go out on campus with mobile phones and fill in the data of points that they observe on campus representing disability access. On Thursday, we go over some of the more fundamentals
of measuring location using GPS, what is place and what is space, like these fundamental human geography and GIS concepts. Over the weekend, they do a video tutorial in which they download the data they created in the Google Form and they learn how to visualize that in QGIS. They learn the quick OSM plug-in to pull in data from OpenStreetMap
and they learn some simple visualizations. They also read over the weekend a critical cartography introduction by Jeremy Crempton in his 2010 book. Then on Tuesday, we talk about the fundamentals of cartographic design. Then finally in the next lab, so this is only a week and a half now, they follow some video tutorials and then branch out on their own
to create their own disability maps of the campus that they live on. Here is an example of a product after week 1.5. You can see that students are already learning to adapt data schemas to the environment around them.
They are adding symbols and data points for winter hazards that they didn't see in the paper they read. They are mapping handicapped entrances and they are finding that oftentimes the entrances on campus are actually blocked during the winter season. They are not plowed or they are too icy to traverse in a wheelchair. They are finding patterns in time and space.
They are often writing about historic buildings having less access and they are finding that important student life functions are often found in the buildings that students cannot access. So this built environment is adversely impacting the lives that students can live on campus. On a higher order level, they are also thinking more theoretically
based on the papers we read and talking about things like maps being socially produced, recognizing that as critical students and critical cartographers, even in an introductory course, they can start repurposing maps for more radical purposes.
And that means that their maps that they are creating have the power to change the perception of space of campus and can be sent and are sent to administrators to try to argue for changing the built environment itself. It's a very different view of GIS from an introductory level that students are getting in an active way.
So then we break for an exam and just an example of what the type of work that students might do. After reading papers on urban geography around structure of the city and segregation and urban political ecology, kind of mapping political environmental justice
on top of patterns of segregation, I give them a question. Is Houston, Texas segregated? And if it is segregated, is there evidence of environmental injustice when it comes to temperature, surface temperature? So along with that question, they get two data sets. Census data from 2010 loaded with racial information
and surface temperature derived from the Landsat 7 satellite on September 6, 2000. And they're essentially given that question for a week to come up with a solution on their own, create maps and graphs that articulate the findings that they've gotten and write up short captions or essays to explain their results by citing theory.
So in four different ways, I think I've transformed curricula from what you normally see, at least in the United States, which is they're learning human geography theory actively by applying it through open GIS methods.
They're learning GIS concepts and techniques, but they're not just the techniques. They're in this wrapper of critical human geography thought. They're learning to pose GIS problems and solve them and interpret them with theory, not just producing the map that's right or wrong, but discussing what that map means.
And they're starting to bridge the divide between subdisciplines and epistemologies in geography that even old-time professors are unwilling to touch. So the curricula has transformed. Has the software itself also transformed? I'd argue that I've been changing GIS in very incremental ways,
modestly incremental ways, in four different ways. Sometimes I'm changing the software a little bit for teaching and pedagogical reasons. Sometimes I'm just trying to simplify the software a little bit to make it easier and more accessible to those novice students. Sometimes I'm debugging the software as I run into things
while developing instructional materials because of the way I develop them. And sometimes students themselves, because of the way I've taught them, are identifying bugs, telling me about them, and then I'm reporting them on GitHub. So examples of pedagogical reasons. For that activity of mapping disability on campus, I wanted students to get a sense of what mobile phones are collecting
and streaming in terms of location services. So I just created a simple leaflet map to expose all those services in a panel down below. And then they used this to then fill out the Google form on a second sheet. I couldn't find any simple app that just did this, reported coordinates and all of the GIS data streams
on top of an open street map. So programmed one myself and made it available to students. I also wanted them to be creative in their selection of symbology for that accessibility map, and I found the icons available in QGIS to be a little bit too limited for that activity at first.
So I wanted to pull the maki icons from Mapbox into QGIS to broaden that array of symbology, which I found I could actually do pretty simply by just forking the maki icon library, editing the SVG code a little bit to talk to the QGIS symbology engine,
and then writing a batch script to send that into the QGIS application directory in our labs. So this is an image of a maki icon being displayed with a symbology engine in QGIS.
Sometimes a theory that we are reading kind of demanded a particular type of visualization that I wasn't able to easily access in QGIS. So one good example of that is Hoyt's sector theory talks about race and housing prices by the direction away from the central business district in a city.
So what I wanted to be able to do is use a data plotly polar plot kind of mimicking the directions of a compass where the X variable would be the direction around the central business district and the Y or independent variable would be rent or race or something else like that. So this is actually showing data from Chicago in 2010,
and zero is zero degrees north, 180 is 180 degrees south. So it just took a little bit of editing of the data plotly plug-in with a pull request to reverse its direction and change the way it was mapping X and Y to be able to show that. In terms of simplifying things for students,
in translating from ArcGIS to QGIS in the introductory curriculum, there were two big stumbling blocks. The biggest one, honestly, was the lack of robust dissolve tools in QGIS. As more technical people, we know we can just execute some SQL,
use STMakeValid to take care of the geometry errors that we've gotten from intersecting and unioning before that step, and we can use group by and sort of work out the dissolve through SQL, right? But for novice, even very smart novice students, that's a big ask to then sort of jump to another programming language
just for one function, right? And it's too distracting for an introductory course to ask them to do that. So I just used Graphic Modeler to quickly prototype a couple of things. One was a dissolve tool that executed that SQL for them. So that tool does what I could not find in any other dissolve tool in open source, which was it was robust against geometry errors.
It could group by zero, one, or many fields, and it could generate multiple summary statistics for multiple numerical fields. Correct me if I'm wrong, but I can't find that in the core GIS algorithms anywhere. Another thing was distance and direction.
Again, this was to support the study of urban structure. And it was just too tricky to use the field calculator to refer to data in another field while calculating azimuth and distance in QGIS. So just create a model for students to be able to do that and kind of move on, get the big bang for the buck in terms of learning goals without all the hassle of the syntax of a really complicated algorithm in field calculator.
Then it comes to the debugging part. So those tutorials over the weekend, they have to be really simple so that students can see at a fundamental level what the data structures in GIS are doing
and what the algorithms in GIS are doing. So those really simple examples also have to show the edge cases or boundary cases that you would also use as a programmer when you're trying to debug a new algorithm. So this spring, I only wanted to make one change in the class from the fall semester to the spring semester,
and that was I wanted to start using the geo-package file format. That change cost me a couple of weekends of my life because in creating those, in re-recording those videos, I found that the core vector processing algorithms in Q were assuming that the FID it was getting from a previous geo-package layer had unique integers.
And so everything after that first value was getting dropped out of the analysis. It wasn't generating errors, it just was dropping data out of the outputs. Similarly, some of the dissolve functions with the buffer tool were violating geometry-type constraints
depending on if there were single parts and multi-parts mixed in the same output, causing really unpredictable results. And so once I figured those things out, I reported them as bugs and then spent another half a day trying to figure out what's the best way that I can show students to work around this while the programmers are still fixing it in QGIS development,
which I did to some frustration. But I guess at the end of the day what I'm saying is teaching in Open Source GIS does have some costs in terms of the bugginess of it, but as long as you're putting all the effort into creating these teaching materials and you're doing it in a way that is good at debugging,
I figure I might as well do service to the community back and submit the bug reports. And I'm happy to say that all of these things I'm talking about right now are already fixed in the version of QGIS you download today. I kind of found some other similar types of issues when I was working with a QNET 3 plug-in,
which I do recommend for teaching because it's a real easy way to access network analytical tools without all the startup costs of really complicated network data type construction and all that jazz. There are some things that still need to be worked out with it though, and this is a case where teaching students to be really observant of the numbers of records
and descriptive statistics at each step and kind of analyzing their results to make sure that they're correct to self-check their work during independent problems paid dividends because they are the ones that notice that the OD matrix was missing one record every time. How often do you check the number of records you get from an OD matrix type operation, right?
There are thousands and thousands of them here. There are exponential numbers of them, in fact. But they were carefully checking that and they're like, I think there's one missing and I hear that from three students and then I start to think there's probably actually something wrong here. So I looked into it and submitted a bug report. By the end of the exam they were doing, the bug had already been fixed.
So thanks to that developer, I forget his name right now, but the turnaround was just six days to get that resolved. And so I think it's about time to conclude, so this is good timing. Is all this work also kind of transforming the types of students that we're producing in the curricula?
I think that it actually is. One major difference is that we're trying to set the stage for students to be able to go on and do independent research. Independent research requires being able to ask good geographic questions that are theoretically grounded and match those questions to the types of data and techniques that you need in open source to solve those problems,
which we're practicing from an introductory level here. I also think I'm producing better GIS analysts. I'll admit, in trying to do all this, they do not cover as much ground in different GIS techniques as you might in a course that wasn't trying to do this. They cover less technical ground, but I think they cover that ground better.
Because they're being aware of subjectivity, error, and uncertainty in all of their analysis, they're developing independent problem-solving skills, they're developing strategies to recognize errors and debug them. And once they get their results, that's not the end of the story for them.
They're interpreting that problem with results and theory. The next bullet point you should be all very sympathetic to in a Phosphorgy audience, I think. We're also creating students that have independence and freedom. They're not tied to the proprietary GIS license, right? They are ready to go on and be entrepreneurs, to work for a nonprofit and grassroots organizations
and their internships and first jobs after college. And I think it's a better gateway into the data science than the proprietary software is, because they're learning little snippets of code here and there, and kind of the tools that they would need for data science later on.
So just to remind you, if you're interested in some of the specific things I've been developing here, or finding the slides on GitHub, the organization for the upper-level course, where I'm putting all this stuff, is GIS for Dev, GIS for Development, and there's my email address, and happy to take some questions.
Thanks a lot. There's some really exciting stuff you're doing there, so congratulations for that work.
I was just wondering on the practical side, I didn't realize, you have two theoretical classes per week plus one lab, plus then the time that they spend during the weekends and whatever. So let's say if you want to estimate the number of hours that this class takes a student, how much would that be? Right, so there are two lecture periods. Those are each one hour, 15 minutes.
Over the weekend, the video tutorial should be about an hour, not much more. Sometimes an hour ten, and one reading over the weekend. And then the lab section is three hours.
We have 12-week semesters, so it's intense.
I have one for you. Congratulations, it's a very nice presentation and very nice work. I appreciate it a lot. My question is how do you organize practically also the labs?
All the people have the same PC or because when I teach, students have their own laptop. And this brings me a lot of effort because not everything is working the same on every version of Windows and things like that. How do you handle this? We use all the same machines in a computer lab.
I do tell students that they can try to set it up on their own computers. We have a Windows lab. I've noticed that some things work a little bit differently if you install the same software on the Mac OS, which most students have. Most things work okay in that different operating system environment,
but they do run into a couple of problems. I'm already doing too much for this class. So if you want to go off on your own, you're kind of on your own if you want to use your own machine.
Other questions? Maybe as a follow-up to what you just said, how much time does it take you to do this as a teacher? Let's say how much is intensive investment at the beginning, but then you think you can reuse for the next five years.
So it's maybe worth investing at the beginning. It takes too much time. The best example I can think of is the geo package switch. Moving from shapefile to geo package, I think that's a really trivial thing. Then it ends up taking quite a lot of time to figure out exactly what the errors were inside GIS,
submit the bug reports, figure out a workaround, deliver that to students, and so on. So as much as the QGIS development can stabilize with these core algorithms, I think that will save me a lot of time in the future.
I don't know, if you want to talk about ways to mitigate the loss of time, I'm happy to do that. In some sense, focusing on concepts first is really helpful because all of that material is timeless. So then what you have to adapt as software changes is the implementation part of that.
So if you have good scripts for the video tutorials at a conceptual level, translating those into different software changes is not so bad. Then you're really just talking about an hour and a half to sit down and do a new version each weekend.
We are out of time. It's time to change in the meantime. I'm just around so feel free to come up and ask questions.