My New Startup: Locomotion
Hey. I know I’ve been radio silent here for awhile. I’m sorry about that. But I’ve needed the focus to get a new product built. If you’re interested, let me quickly tell you about it.
Do you do any stop motion movie making? If you don’t, it’s probably because it’s so darn difficult.
Stop motion is beautiful, but it’s insanely tedious. Move something. Take a picture. Repeat. Over and over and over, until your fingers bleed or you give up.
So… what if I told you, you could remove the whole taking a picture part? Instead, what if you could just record a video of you moving the characters and objects in your scene and a computer did the rest? Is that something you might be interested in? :)
If you could eliminate all the picture taking, you could do this so much faster. You could use cameras that don’t have fancy stop motion software. You could actually make stop motion movies more often.
Sounded like a good idea to me too! But then I actually tried to build it. And I failed. Over and over again I failed. I crafted algorithm after algorithm trying to get it working and it all failed. I wanted to give up constantly.
But then… I finally figured it out. And, it’s called Locomotion.
Before #
After #
You can try it out here: *https://trylocomotion.com *
It’s a Mac-only app (for the moment) that will do the magic of turning a video of you and your stop motion scene prep into the actual stop motion movie. Best way to see it in action is the demo page:
https://www.trylocomotion.com/demo
Or the videos I’ve been making with it.
Please check it out! Make some movies! Let me know what you’re making. I’d love to help out. And please stay tuned, this is just the start. More platforms and more tools on the way.
And here’s a little commercial my daughter and I put together to explain the project :)
It’s on Product Hunt! Have any questions, please join the discussion there.
Behind The Scenes #
If you’re still here, you might be intersted in some of how it’s made and what it took to get here.
H.264/MPEG-4 #
Locomotion processes video. And the most common video compression is something called H.264. So if Locomotion wants to support a ton of video coming out of all the cameras and smartphones out there, it needed to be able to read files using H.264.
The thing with H.264 though is that it’s patented. If you ship code that reads H.264, you need to license the patents.
Now, at first that seems really scary. I immediately went to thinking of workarounds, loopholes, maybe just not supporting this insanely popular file type.
But after a ton of research I realized: it’s not that hard to license H.264. You’ll be surprised how easy it is to work with the legal team at MPEG LA, who manages licensing the patents. It’s also affordable. If you ship a H.264 decoder, you don’t have to pay a royalty for the first 100,000 downloads each and ever year. And after that, it’s a nominal charge.
Now, that could build up for certain projects. But something like Locomotion, which is failry niche and also is a paid product, can work with those limits.
So if you have a desire to work with H.264 files, don’t get scared off just because of “licensing a patent.”
Electron #
Electron is the framework powering Locomotion. In super simple terms, it’s essentially a Chrome web browser that’s also running a Node.js webserver.
This had its plusses and minuses however.
A huge plus for Electron is that it provides a way for folks well versed in web development to stay super productive making desktop apps. It’s just Javascript and HTML all the way down. But you have so much power to execute things on the desktop.
Unfortunately a minus is that it has to play some catch-up with changes in things like MacOS land. For example, I had a version of Locomotion ready to ship to the public, and then Apple released a minor release to Mojave (10.14.5), and all of a sudden no one could install Locomotion anymore. It turns out this minor release now had stricter needs for signing and notarizing. And the docs and help to support this in Electron was slow to materialize. Kilian Valkhof did the heavy lifting for all of us in figuring it out.
Another huge minus with Electron is that I feel like I might have just kicked the can on some major things I’d want to use more native tools for. The next version of Locomotion I believe is going to move off of Electron and use native code for the platforms it’s on. I’d still recommend Electron though for many, many projects that don’t need the things I need: fast, sophisticated video processing.
Gumroad #
I chose to use Gumroad as a way to sell Locomotion. Gumroad might not be a software developer’s first choice to sell apps. We aren’t marketed to on their homepage initially:
But Gumroad has some really handy tools to sell software. Like an easy Licensing API you can use programatically in your app. And CRM and email marketing all baked in. Surprised how fitting it was for the project. Check it out.
Those are a few of the things I bumped into along the way, and there are plenty more. Stay tuned.