Getting PersoDub to Run on Windows Too
What tripped me up moving PersoDub, a dubbing app built for macOS, over to Windows. Signing, auto-updates, and a folder name.
The macOS version of PersoDub went out on August 7, and the Windows version six days later. The thing I spent the most time on in between wasn’t the dubbing. It was Windows.
PersoDub is a desktop app that takes one video and moves it into another language in the voice from that video.
The macOS version was the easier one. It’s the machine I use every day. If something looked off I saw it right away, and once I fixed it I could check it right away.
Deciding how far to go
Windows doesn’t work like that. Even among Windows machines, no two are in the same situation. Some people have a graphics card, some don’t.
So before building anything I had to decide how far I was going to go, and that turned out to be harder than I expected. Cast it wide and there’s no end to it. Cast it narrow and some people can’t run the app.
Signing was the same story. To put out an app you need a stamp saying it isn’t something suspicious, and on macOS that meant registering as a developer and getting the installer notarized. That was it. On Windows the terms change depending on where you get it, and it cost more than I had counted on. Things like this took up more of my time.
If I waited until I met every standard, the Windows version would have been pushed back and back, or never come out at all. So I shipped it without the stamp. The trade is that Windows puts up a warning screen calling it an unverified app during install. My sense is that a good number of people releasing open-source apps are sitting in the same spot.
Auto-updates took a fair bit of time too. The app runs entirely on your own computer without the internet, so there’s no way for someone to hear that a new version exists. The app had to go get it on its own.
The one I never saw coming was the folder name
I built this expecting a Windows release from the start. But the paths, the names of the folders that files get saved into, never crossed my mind.
The folder holding the model files PersoDub uses had mac sitting right there in its name (persodub_full_mac). That’s the name I gave it while building on macOS, and left alone, it would have put a folder with mac in the name on Windows users’ computers.
Windows also can’t open a file once the folder name gets too long. If someone installs it somewhere deep, it downloads tens of gigabytes and then fails partway through unpacking. Now it checks the location before downloading anything and says so up front if it’s too deep.
Both of those came from the same place: picking where files go with only macOS in mind.
If you’re starting out
If anyone reads this and wants to build something, this is the part I’d settle first.
macOS only, or Windows too, or Linux as well? If you plan to do all of them, set up where files get saved so it works anywhere, and do it from day one. Move it later and you have to account for the files of everyone already using it, which makes it a much bigger job.
Simple things turn into complicated ones once they get tangled.
PersoDub started at v0.1.0 and is at v0.3.5 now. There’s a long way to go, but I want to build a desktop app you can just open and use, with nothing difficult about it.
The code and install instructions are on GitHub. If you get stuck on something, feel free to open an issue!
Get the weekly AI dubbing digest
A weekly roundup of AI dubbing & news, in the language you pick. No spam, unsubscribe anytime.
Comments (0)
No comments yet — be the first.