Retooling Software Workshops for an Online Environment, Part II. Goals and Directions for 2021

Dec 30, 2020
Retooling Software Workshops for an Online Environment


In Part I of this blog post, I reflected upon some of the lessons and conversations from 2020 as we migrated our geospatial technology workshops from in-person to online formats. In Part II, I share my hopes for 2021, including a wish list of improvements in the teaching technology we use, and some thoughts on how we can combine the best of the online and in-person programming in a post-COVID world.


My 2021 Wish List

1) A Serious Upgrade or Replacement for Zoom

It's no accident that Zoom quickly became the dominant communication tool when COVID struck. Zoom has a number of great features that has made it one of the leading video conference platforms. It's widely available, doesn't require everyone to have an account, and has great audio and noise cancellation. It also has all of the core functionality you need for video conferencing, including screen share, chat, integrated polls, whiteboard, registration forms, etc. We've used Zoom for all our online training not because of its feature set but because UC has a contract with them so we can use it at no additional cost.

Zoom however was never designed to be a teaching platform. It may therefore not be fair to expect it to serve as one. The webinar license provides a handful of additional feature geared toward large audiences, but that still doesn't make it a teaching platform in my book. The top-five features I wish Zoom had for software workshops include:


i) Customizable view layouts

Right now, Zoom allows you to choose between 'Gallery view' and 'Speaker view'. For each of these views, the various media streams – speakers and participants' webcams, shared screens, chat window, etc.) appear in predetermined locations. Zoom's programmers made some reasonable choices on our behalf where things should appear, but they don't always work particularly when presenters and participants have lots of windows to manage. Even to do something as basic as having panelists appear in a fixed layout Brady Bunch style isn't possible with the current Zoom client.

ii) Private screen share

A critical part of software instruction is looking over the shoulder of a participant in order to help them troubleshoot something. In theory this is possible in Zoom if a participant shares their screen, but as an instructor I don't like asking people to share screens with everyone in the workshop and open up a potential Pandora's box of privacy concerns. I've tried using breakout rooms for this kind of help, but that disrupts the flow of the workshop and is overkill for what is often a 5-second question (e.g., 'you forgot a comma in line 2'). Without the ability to share screens privately, the chat window because the defacto help tool for many workshops. In the best case scenario this is a klunky way to provide help, and for many troubleshooting needs chat is simply ineffective.

Without the ability to share screens privately, the chat window because the defacto help tool for many workshops.

I wish Zoom had the ability to let an individual share their screen with just one the instructor or a workshop helper for this kind of support. Even better, how about a utility that would allow me (the instructor) peak into any participants' application window? English teachers using Google Classroom do this all the time when their students are doing a writing exercise in Google Docs. Going even further, I would love to be able to graphically highlight buttons and menu items on all participants' applications during a workshop. I suspect that type of functionality would have to be built-in at the application level (e.g., RStudio), and would create all kinds of security concerns, but it sure would be helpful.

iii) The ability to broadcast pre-recorded video from a server

Prerecording bits of workshop content is becoming increasingly popular for many reasons. Foremost among them, pre-recorded video allows the instructor to carefully explain or demo something way more efficiently than they could ad-hoc. During the workshop itself, playing the video gives the instructor a little break from being on stage. After the workshop, participants can go back to the recording and replay or save it as needed. In our group, Sean Hogan used a variant of this technique when he recorded "video solutions" for each step of a photogrammetry exercise.

Pre-recorded video allows the instructor to carefully explain or demo something way more efficiently than they could ad-hoc.

Unfortunately the quality of playing recorded video through Zoom is always disappointing. Did you ever wonder why YouTube videos look 100 times better than the same video played by a presenter through Zoom's screen share? The short answer is even though the source material may be high-quality, the Zoom client is not actually sharing the original video stream. Rather it's grabbing the screencast of a media player on the presenter's computer, re-encoding the audio and video in real time (which is hard to do and generally involves low-quality compression algorithms), and then transmitting it at a single bitrate to everyone else in the meeting. Contrast that to YouTube's approach. When you upload a video to YouTube, YouTube will take its time to encode high quality copies for a variety of resolutions and bitrates, which are then saved and streamed to viewers based on the bandwidth of their internet connection. In workshop settings, instructors also need the ability to start video streaming to all participants simultaneously, rather than asking each person to hit play at the same time. Webinar platforms like BigMarker already have this functionality, but until we can do the same thing with Zoom (or something that replaces Zoom), pre-recorded video will never be a serious part of live online training.

iv) The ability to interact with shared screens

Video editing platforms like Camtasia Studio allow you to embed clickable hotspots in videos, take quizzes and polls, copy text to the clipboard, etc. My slide decks, which I create almost exclusively in HTML5, have similar interactive capabilities including sample code you can copy to the clipboard, buttons to reveal hints and solutions, links to previous slides and external resources, etc. But it's all for naught when I present my slides on Zoom, because Zoom screen shares are video only. I wish participants could copy-paste code directly from my screen share, click on links to get to other resources, etc. Absent that, I wind up spending a lot of time copying things into chat, or telling participants to open the slides in a browser - yet another window for them to manage.

v) More administrative flexibility

Right now there a number of tasks that only the host can perform (not co-hosts). For example only the host can create a poll before a meeting starts, or share cloud recordings. In many workshop settings, I need to delegate these kinds of tasks to a collaborator, but it isn't possible to give those permissions.

Meeting registration is another area that's caused some frustration for workshops. Some of our training involves a selection of workshops that people sign up for after they've registered for the event. This gets tricky when registration needs to be cross-checked with a payment system. When payment is involved, we need to limit participation to registered attendees (who get individualized links), but we don't want to ask participants to register for a bunch of individual meetings after they've already registered and paid for the training. The Zoom webinar license allows one to bulk register participants via uploading a csv file, but you can't do that for Zoom meetings. We wound up creating our own multiple meeting registration system using the Zoom API (which is a great feature) and Google apps. This solved the need but it was challenging to administer and some participants got overwhelmed with all the Zoom links.


That's my wish list for a better online platform for workshops. Will Zoom to rise to the challenge and make their platform more suitable for instructional settings?

Recent news suggests maybe not. Rather than develop customized tools tailored around the needs of education, Zoom seems to be intent on adding more features to its desktop app in the hopes it will emerge as the one teleconference app to rule them all. Good luck with that. In the meantime I'm keeping my eye on Google, which has a pretty solid teleconferencing platform of its own (Google Meet), and has for years been developing custom apps and functionality for its education suite. Being browser based (hence JavaScript friendly) also opens the door to building custom tools for the classroom (ever heard of Doctopus?). I also think some of my more fanciful wishes, such as broadcasting pre-recorded video to everyone at once, or interacting with presenter's slides, are within the realm of Chrome extensions. NetFlix Party, for example, allows synchronized playback through a Chrome Extension.


2) Tools to Create and View Exercise Guides that Reflow

Self-paced exercises are a standard feature of nearly all of our live workshops. For in-person workshops, we almost always make the exercise guide available in a printed format. Although that may not seem modern, elegant, or certainly green, printed exercise guides are immensely practical (and we always reuse them if participants don't take them home). They can be designed to be efficient and attractive, combine concepts with step-by-step instructions, are easily navigated, and don't require another window on your monitor. For a multi-part, self-paced exercise, they're still a great option.

However in a virtual workshop, PDFs are poorly suited to serve as an exercise guide. Assuming the participant doesn't print it out, they'll have to display the PDF side-by-side the main application window (like Pix4D). The venerable PDF format is designed to preserve the layout of a fixed page, so text and graphics don't resize or dynamically wrap. Hence viewing the PDF not only requires opening up an additional window, it usually requires a dedicated full-size window. To make the entire page visible a at a size where the fixed font is legible, you have to pretty much devote an entire monitor to just the PDF.

In a virtual workshop, PDFs are poorly suited to serve as an exercise guide.

The solution of course is putting the exercise in a responsive format that reflows to any window size. Formats that reflow include HTML, markdown, and ePub. These are not hard to create and tools have been around to make them for ages. In the open source world many instructors create exercises in markdown which they then host on GitHub (for example see this exercise from DroneCamp instructor Taylor Nelsen). This allows participants to place a smaller browser window next to the application, increase or decrease the font size as needed with the mouse wheel, and easily navigate down the exercise. In addition to greater adoption of reflow formats, it would be nice to have borderless browser windows that stay on top (although you can currently do that with DeskPins), or something like a markdown-friendly sticky notes utility.


3) Cloud-based geospatial virtual machines

Would someone pleeeeaaase develop a geospatial virtual machine that runs in the cloud, is simple to setup and use, has a predictable cost model, and is affordable enough for a workshop setting? This would eliminate a huge portion of the setup hassles which consume so much of a one-time workshop.

The underlying technology for cloud VMs is already well-developed. Amazon, Azure and Google (amongst many others) have cloud-based architecture that are more than capable of running VMs for GIS and photogrammetry software. There are challenges however that make it extremely challenging to use these resources in practice. Users have to create accounts and follow a long technical document with numerous steps that are unfamiliar to even seasoned GIS users (when was the last time you had to go into a network control panel to open ports?). To create VM images with all the required software and data, an IT administrator (or the poor instructor) must go through an even longer guide. Your virtual hardware options tend to be either very lightweight (e.g., Ubuntu with 4GB RAM) or extremely powerful (and expensive); there isn't much middle ground. If you want a GPU, you may be forced to spin up a machine that has far more horsepower than you probably need just to complete workshop exercises. Pricing is confusing and unpredictable, because its based on a half dozen factors that are hard to predict, including amount of data transferred and the length of time the machine is running.

The Research-IT group at UC Berkeley has developed a similar solution through their AEoD Service (Analytics Environments on Demand). Developed to be an alternative (or eventual replacement?) to computer labs, the service provides Windows VMs that run on campus hardware and can be configured with the necessary software by lab administrators. The images are persistent so data saved by the user is still available next time you connect. It's worked well for the campus groups that signed-up for the program - perhaps this could this be scaled UC wide? A slightly lower tech option used by some computer labs (including the UC Berkeley Geospatial Innovation Facility) is to set up a calendaring system so students can remote desktop into individual computer lab workstations.

I would love to see a modestly endowed cloud VM pre-configured with GIS software that is as easy to sign-out or rent as buying a book on Amazon.

Pending a UC solution, I would love to see a modestly endowed cloud VM pre-configured with GIS software that is as easy to sign-out or rent as buying a book on Amazon. Pricing should be upfront, and not based on some opaque formula that forces you to set cost alerts just to avoid outlandish bills. A GPU would be nice (essential for photogrammetry software), but we don't need it as part of a pricey supercomputer bundle. The whole thing should cost something reasonable for a workshop setting, say $10-$20 for 10 hours of use. If there's already a product out there that approaches these specs and price point, please leave a note in the comments!

In the R world, I've become a huge fan of RStudio Cloud. I now use it for every workshop and am increasingly pushing participants toward it instead of running their own copy of RStudio Desktop. Using nothing more than a browser, in less than 5 minutes participants can create a free account, click on a link to clone a RStudio project I've prepared for them, and boom they're ready for the first exercise. It saves them and myself countless headaches installing packages and data. RStudio Cloud has some premium features for instructors that I haven't needed yet, but will gladly pay for when I teach a workshop that requires more sophisticated project management or grading.

Hopefully the GIS and photogrammetry companies will be inspired to develop something similar to RStudio Cloud for their platforms, otherwise they'll continue to lose out on a huge opportunity to attract new customers and expand their market share.


4) Ways to hold side conversations in a virtual environment

The biggest bummer about virtual workshops is the greatly diminished social interaction. In both quantity and quality, its simply more challenging to engage with people online. Whether its reconnecting with an old colleague, or having a spontaneous conversation with someone new, its simply not as easy to express yourself through a webcam and a 15" screen. For my group, this doesn't just dampen the fun of attending a workshop, we're actually losing an important and explicit goal for all our events - creating opportunities for participants to interact and learn from each other.

Given the exponentially greater accessibility of virtual instruction, and the increasing importance of fostering communities of interest as opposed to communities of place, we should all be trying harder to facilitate interaction between participants online. I don't think virtual platforms will ever come close to in-person social interaction, but we can certainly do a lot better than the chat window. In theory Zoom breakout rooms can be used for side conversations, but these would work much better if there was a more flexible and decentralized way to identify common interests. I've seen virtual conferences invite participants to use Slack or Discord, with a discussion channel created for each session. This seems like a step in the right direction, because a conversation that starts in a workshop session can keep going after the event is over and spin off in new directions.

We should all be trying harder to facilitate interaction between participants online.

Other virtual platforms have taken interaction much further. There are platforms that let participants sit at the virtual equivalent of big round conference tables (Remo), interact with each other through collaborative flipcharts (Miro), create and share interactive posters (iPosterSessions), and roam around an entire virtual conference center (VirBela). I would love to someday see the equivalent of speed dating lunch sessions, where algorithms match small groups of participants based on common interests to meet each other during meal breaks and down time.


5) Augmented reality and other fanciful wishes

Higher up on the spectrum (much higher up), I look forward to the day when we can programmatically interact with application GUIs. This is partly inspired by the 'take a tour' buttons you increasingly see on web sites, including our own CalLands web app, that explain how to use the myriad buttons and settings available. Being able to programmatically point to or highlight GUI elements of an application like ArcGIS Pro or Pix4D would enable a whole range of learning aids.

Being able to programmatically point to or highlight GUI elements of an application like ArcGIS Pro or Pix4D would enable a whole range of learning aids.

Controlled remotely, the instructor could visually highlight ribbons and buttons on the participants' application windows. Controlled locally, exercise guides could have a 'give me a hint' link for each step. GUI APIs could also enable a pipe dream of mine – the ability to connect the overall workflow to the minutia of individual tasks. Imagine if you will a high-level flow chart of the overall workflow floating above the application window and updating as the user works through the steps.

This kind of functionality would have to be built-in at the application level, perhaps as an extension, but it may not be as far-fetched as it seems. The latest version of ArcGIS Pro has a feature called Tasks, which are essentially visual wizards that walk a user through a common workflow. In other words, GUI manipulation is already possible. RStudio Desktop sports an API which may not expose GUI elements, but certainly exposes most of the functionality available in the menus and buttons. Graphic overlays like arrows and highlights are not that hard to implement over any application via transparent windows. Zoom already has a pretty rich set of annotation tools which are basically overlays.

While we're on the subject of augmented reality, why do participant webcams all have to appear in a single window in little boxes, and why does everyone's audio have to be piped through two little speakers on my laptop? Super wide curved monitors have been around for years and are not that expensive, and surround-around sound systems have been with us for decades. If audio-video streams can be rendered more naturally, mimicking how we see and hear each other sitting in a room together, perhaps virtual workshops wouldn't feel so much like talking to each other through a straw.


Directions for 2021: Flipping and Hybrid Formats

The light at the end the COVID tunnel is starting to appear - does this mean software workshops will go back to the traditional in-person format? I suspect not. We've seen too many benefits of online training, particularly around accessibility and cost, that we'd be foolish to not preserve. We just need to find ways to leverage the best of the virtual and in-person worlds.

For 2021, I'm personally interested in exploring two tried-and-true approaches to make online instruction more effective - flipped instruction and hybrid programming.


Flipped Instruction

Flipped teaching in a traditional classroom is where students listen to lectures at home, and spend class time doing their 'homework' and group work. Far from being a new idea, the rationale is that class time is best used for active learning rather than passive exposure to content (i.e., listening to a lecture). This seems to me to be one of the low-hanging fruits for live online instruction. Making presentations available for participants to watch on their own will almost always be a better use of their time. Newbies to the field can watch slowly, repeat segments if needed, and click on links to other resources. Advanced students can skim through the material and focus on just those things they haven't seen before.

Pushing some of the content to watch at home will also improve retention, because instead of cramming lectures and exercises into a single intense 3-hour window, participants can chew on the material over several days. It will also increase the value of the live session, where the greatest asset is the presence of a skilled instructor to facilitate discussions and address Q&A.

I partially flipped one of our in-person 2019 workshops on applications of GIS in forestry. I recorded the introductory presentation on basic GIS terms and concepts and told participants to watch it before we meet if they've haven't taken a GIS class in a while. My goal was to spend more of the time in the computer lab doing hands-on practice, give participants who were already familiar with GIS a bit of a break, and enable people who couldn't attend both sessions a chance to catch up on the basic terminology. It worked well, and people continue to view the video on YouTube.

Why haven't we seen more flipped instruction? It's catching on, but the effort required to prepare and record presentations is a pretty significant start-up cost. The products can be reused, but they may have a short shelf life particularly in technology fields like GIS that are rapidly changing.


Hybrid Programming

Hybrid programs are simply a mix of virtual and in-person. Pre-COVID, I taught a 12-hour R workshop using a hybrid format. The first and last sessions were in a computer lab on two Saturdays, with two evening virtual sessions sandwiched in between. The format worked well. At the first session, we got to know each other in-person, establish rapport, and have open ended discussions about backgrounds and interests. The two virtual sessions after work were meat-and-potatoes code instruction. The final in-person session was spent on semi-structured projects that involved some group work.

Post-COVID, we can use hybrid formats to connect in person while also maintaining the accessibility we've come to love from online training.

Post-COVID, we can use hybrid formats to connect in-person while also maintaining the accessibility we've come to love from online training. In-person sessions can focus on networking, topics that benefit from semi-structured conversations, and skills that can't be easily taught online (such as how to manually fly a drone). These sessions have to be in-person, but that doesn't mean there has to be only one meeting time. Imagine for example flight practice sessions taking place concurrently at 3 different locations across the state to reduce travel requirements. Then online sessions can focus on topics that don't require a lot of interaction and can be taught with a high student-instructor ratio. This could include covering foundational concepts and things like data skills. Another course component that would work well in a hybrid setting is doing a capstone project after core instruction is over, which in my experience has been the gold standard for cementing skills and knowledge.



The abrupt conversion to online training stemming from the COVID pandemic threw everyone for a loop. We quickly realized that merely swapping out a projector and screen with a webcam and Zoom is not an effective way to use the new format for workshops. Virtual instruction has its own demands, some of which are particular to the technology but many of which are rooted in long-standing best practices of teaching. Reflecting upon the pros and cons of each format will allow us to reap the benefits of virtual instruction in the post-COVID era, particularly around accessibility and cost, while also strengthening active learning and social interaction.


By Andy Lyons
Author - Program Coordinator
By Sean Hogan
By Shane Feirer
By Maggi Kelly