Background
Virtual machines, running one computer as an application inside another, still give me that “kid in a candy store” feeling. They allow me to test, experiment, and safely break things; if it all goes horribly wrong, I can just delete the virtual machine and start over. There is no risk of losing computer access or screen-reading functionality.
For the past couple of years, my primary environment has been Parallels on a Mac. I mainly run Windows virtual machines, and Parallels has done a great job of supporting Windows 11 despite its more stringent hardware requirements.
For sighted users, Parallels makes creating a VM easy: you simply choose “New VM,” and there is an option to download a Windows ISO directly from Microsoft. Unfortunately, this part of the Parallels interface (along with several other features) suffers from significant accessibility gaps.
One workaround is to use VOCR, a tool that performs optical character recognition on the screen. It is incredibly handy for this and many other situations where standard screen reading fails.
As someone who originally set out to be a journalist, the combination of AI-assisted code development and my own ideas has been a game-changer. I’ve long said, “I’ll tell you what to build; you build it.” We still have a long way to go, but the progress I’ve seen in just one year is truly amazing.
Another Solution: The Unattended Install
I decided to use AI to improve the Parallels experience. I asked it to help me create a script that would download a version of Windows for ARM hardware, create the Parallels virtual machine, and perform an unattended install so that the OS is ready at the desktop. This essentially replicates what Parallels does natively, but through a more accessible interface.
Managing Machines
Once I had a script that allowed me to trigger a VM creation from the Mac Finder and have a working desktop in 20 minutes, I wanted to go further. Managing existing VMs through the Parallels UI can also be hit-or-miss regarding accessibility.
Parallels does offer a robust command-line utility called prlctl. While powerful, command-line tools can be unforgiving if your syntax is slightly off. To bridge this gap, I went back to the AI and created a very basic Parallels Machine Manager. This utility displays a list of your running machines and provides basic management tasks like starting, stopping, cloning, and deleting. I also integrated the targeted Windows VM creation script directly into the app.
Getting These Tools
You can download the standalone unattended install script here, or download the full Parallels Machine Manager here.
Contributions Welcome
I’ve hosted the script and the app on GitHub in a repository I’m calling The Workbench. You can find it at github.com/kellylford/TheWorkBench.
I create simple solutions like this from time to time and plan to populate this repository with more of them. Contributions—whether to these projects or sharing your own—are more than welcome.
My contributions to this repo are functional, but they are “immediate-need” projects. Once I’ve solved the specific problem I’m facing, I don’t typically invest significant time in extending them. While these tools are valuable, they would require more work to become “production-quality” software.
More Formal Projects
I also maintain a list of more formal projects at www.theideaplace.net/projects. These include:
- A weather app
- A sports scores app
- An image description toolkit
- A simple RSS reader
Comments