Instructional Design on Linux
Author: Phil Chambers | design linux
Decades ago, I was introduced to GNU/Linux through my school, and instantly took a liking to it. There was just something about being able to use free and open source software, coupled with the stability1 of the operating system itself. Due to various external factors such as certain programs required by higher education and the workplace, it was difficult to make the full switch in everyday life. Sure there was the ability to run a virtual machine for any exclusive Windows2 software, but the hardware and software at the time was not all there. I kept it up as a hobby, but in recent years, there have been major breakthroughs on Linux that warranted me taking another look at if I really could switch over for most, if not all of my work requirements. My plan was to make a powerful, but small footprint ‘workstation’3 that could replace most of my current workflow.
Documenting tools and processes
To begin this move to Linux, I first had to note every program that was required to succesfully do my job, then check if there was an equivelant Linux version of this. The aim was to use native Linux applications and as a last resort, I would always have virtualization.
To do my job, I need the following:
- Web browser
- Text editor for coding and notes
- Some sort of office suite compatible with MS Office
- VPN client to connect to the workplace servers
- Communication tools - email, chat application
- A way to interact with cloud services
- Image editor
- Video editor
- Screen and microphone capturing programs
- Screenshot tool
- Ability to connect to Zoom meetings
Looking for these was a matter of using my exisitng knowledge of Linux and a few DuckDuckGo searches for the best Linux applications to accomplish these tasks.
Let’s start with the easy ones:
Web browser
Linux has these in abundance. Firefox is my browser of choice on every OS so this was pretty simple. There are multiple other browsers if you prefer them, but Firefox lets me install all of the privacy-focused extensions/add-ons that make browsing the modern internet bearable. I also have to do certian tests for the vast majority of users running Chrome, so Chromium was useful that purpose.
Text editor
Again, Linux has an overwhelming number of these available. I usually pick a simple text editor (like GEdit or Xed) and match it with a more advanced one like VS Code4 or Sublime - both of which are available on Linux as well. There is also KATE, a powerful multiplatform editor made by the KDE team, should you be using KDE or prefer it. I should mention here that I am using a Desktop Environment for all of this, hence the use of these apps over something like Vim, though this is handy for quick edits to configuration files in the terminal.
Office Suite
Like many workplaces, I am provided with a copy of MS Office. This is not native to Linux, however, so we have a few options here.
- Try to get MS Office working using WINE, a compatibility layer for running Windows applications.
- Install MS Office into a Windows virtual machine.
- Use one of the native Linux office suites and MS Office online when required.
The third option is definitely the easiest, as we have both Libre Office and OnlyOffice to choose from. As I know more about the former, I chose that one. It seems to work well for what I require, with anything missing being handled by switching to MS Office in a web browser.
VPN
This one is fairly trivial because you can install my workplace’s VPN on multiple operating systems. It was also a benefit that other VPN providers have also developed native Linux applications rather than neeing to go through setting up your VPN manually, though this is also an easy task if required.
Communication tools
This is where we meet our first hurdle - Microsoft Outlook on Linux. Unlike Microsoft Teams, there is no native Outlook client for Linux. There are a few third-party workarounds, but without them you might be stuck with the webmail version of Outlook. This is still usable, but very limited compared to the actual application.
Chat Applications
As mentioned above, Teams is available for linux. It is not as polished as it is on other platforms, but it will get the job done. You will fare better if you are using an application like Slack, as there is a beta version for Linux. I have found that it is very stable in its current form and use it daily.
Cloud Services
This one is highly specific to your personal and professional needs. I need to use Box regularly. For some reason there is still5 no Box client for Linux, though there are some workarounds if you want to try this. For people who rely on Box Sync integration though, expect to spend a lot of time trying to work around this limitation, or use the manual option by uploading using a web browser (not a good time with multiple files).
Image Editor
The tried and tested application for Linux-based image editng is the GNU Image Manipulation Program, more often known by the unfortunate acronym, GIMP. It goes up against the likes of Photoshop and Affinity Photo, the latter of which I wish had a native Linux version because it is excellent.
Digital artists should definitely check out Krita, available for all major OSs.
For vector graphics, Linux has the incredibly well-designed Inkscape available to match Illustrator and Affinity Designer which like Affinity Photo sees a Windows, Mac, and iPadOS release, but no Linux version in sight.
Video Editor
Your needs for video editing may vary from totally unecessary to vital depending on how much you require for your instructional design role. I have been in the position where I do not need to touch one to where I was single-handedly playing the part of the media team. For the minor amount of editing I need for personal and professional work (which is much less these days than when I was using Final Cut Pro on a Mac), Linux has Kdenlive. I have found this to be more than suitible for my current needs.
Screen Capturing
Depending on your distribution or desktop environment’s screenshot tool, this may be covered in a basic form. If you want to capture the screen and additional inputs like a cameras, microphones and more, then OBS Studio is what you are searching for. OBS Studio is slightly overkill to simply capture your screen but if you are creating tutorial videos for clients, it is a great all-in-one tool.
Screenshot
There are numerous tools for taking screenshots on Linux - some that are built into the desktop environment you might use without needing to install anything new. If you don’t have one preinstalled, they are usually only one package away from giving you lots of features other than the standard Print Screen function.
Zoom
This one is actually easier than you would think, because there is a native Zoom client for lots of different distributions. With remote working still going strong, being able to use your workplace’s communication tool of choice is vital, and luckily I am covered under this. I do throw it into a virtual machine though, which is an option if you are concerned about that. Just link your camera and microphone to the VM and make sure you have allocated enough resources for smooth video and audio input/output.
Which Linux distribution to use?
This is another personal decision, and for many users is probably related more to how their desktop environemnt works rather than any other under the hood settings. As I love customization, want as little ‘bloat’ on the OS as possible, and like having the latest improvements, I went with Arch Linux6. For someone new to Linux, I would not recommended Arch. There are lots of others to try instead to see if Linux works for your personal needs. However, if you need or want cutting edge software, and do not mind fixing things when they go wrong7, give Arch or one of its offshoots a try.
The VM Situation
With the hardware I set up for this device, it has more than enough power to run multiple VMs. If I wanted, I could use a Type-1 hypervisor like Proxmox. The 8-cores and 64GB of RAM are more than enough to do it, but for what I require a Type-2 hypervisor like Virtualbox allows me to stay in Linux natively and only open a guest OS when required, which is fine for things like Zoom.
Continued usage
So how long do I plan to do this? Well it is working out so far - most of my days are spent either in a text editor writing code or interacting with systems through a web browser. Unless something drastic changes, I can see myself continuing with Linux. If those annoyances with email and cloud services are resolved, that would basically give me no excuse to use anything else. If you are heavily reliant on Microsoft products, this move might be a lot harder. Additionally applications such as content authoring tools that are Windows-exclusives may stop you in your tracks - unless you go for the VM route. Most things made by Adobe are not going to play nice natively on Linux, so that is something to be aware of if you are thinking about making the switch.
My advice is the same as everyone else’s if you have never used Linux before: Download Virtualbox and try installing one of the many Linux distributions in a virtual machine first. See what you can do with it, see what is unavailable for you, and then go from there.
-
Your mileage may vary on this one depending on your particular hardware. I remember never having problems with the PC I used back then, especially when it came to drivers. At the time, Windows did not include any of the drivers on a fresh install, not even motherboard or NIC drivers, which meant you needed to use a CD-ROM from your motherboard manufacturer just to get basic things up and running. Linux had no such requirements, simply working out of the box on regular hardware. ↩︎
-
And macOS too, though I ended up getting Macintosh hardware through my workplace(s). ↩︎
-
I use this term loosely here. Thanks to the AMD Ryzen 5000 series, you can build very compact and suitible mini-ITX PCs that can handle a lot. ↩︎
-
There are multiple versions of Visual Studio Code. The regular package is simply called
code
, but there is alsovscodium
in the AUR if you want to ensure that no telemetry settings are built into the program. ↩︎ -
As of Feb 2022 at least. ↩︎
-
I use arch btw ↩︎
-
This is a common warning when using Arch, but honestly I have not had much to troubleshoot over the last few years. ↩︎