The centerpiece of the automation, the zoom-manage command, is an AppleScript application that uses the GUI and automation frameworks of macOS to manage the Zoom application, navigate its menus, and gather information dynamically from the "Participants" panel (or standalone window).
This approach was chosen since it allowed me to quickly gather information that the Zoom Application was already rendering, and the macOS GUI standards and tools made it relatively "simple" (once you get familiar with the AppleScript syntax).
If there is an equivalent framework for controlling and querying the Zoom application on Windows, then we might be able to use that to create the equivalent functionality on Windows 10 and Windows 11.
Note: We would only have to port the zoom-manage script.
The other two components, the backend server (written in Python), and the
Vue.js
based Web GUI frontend, will work on Windows (or Linux).
A possible path is to use a platform independent automation framework like PyAutoGui with PyTesseract to do the same thing we are doing with AppleScript.
However, when using PyAutoGui and PyTesseract, we would be using image screen captures and OCR under the hood to read the information from the Participants panel, it would not be as seamless as it is on the Mac.
If you have access to a macOS running the latest macOS 14 (code name "Sonoma"), you can follow these steps to create an installer image of the latest macOS:
Download/Create macOS Sonoma ISO for VMware or VirtualBox
You can then use the image to boot up a macOS VM on your Windows machine, using, for instance, Oracle VirtualBox.
This would require that you have a laptop or desktop with enough resources to accomplish this feat.