In The Shadow of Giants

Dennis Forbes
Negative some big number. Creditors have me on speed dial.

Facebook’s Instagram subsidiary released their hyperlapse application late last year, to wide acclaim. It famously uses the device gyroscope to augment and stabilize videos. The application itself is remarkably spartan, and the limitations of the product really do make it a bit iffy as a general solution — you have to intend to create a hyperlapse, and the video functionality of the application itself is very limited: It isn’t something that you would generally shoot with beyond as a novelty. It’s also limited to iOS.

Yesterday Microsoft released their hyperlapse solution, including mobile apps for the Windows Phone and Android platforms. Their new solution is using technology similar to what they showed off late last year, concurrent with Instagram’s release. They’ve had the technology for a while, but this is the real consumer manifestation of it.

Microsoft’s mobile solution is a slick, excellent application, and for a lot of needs it does a fantastic job. It uses your existing videos (it does frame matching — ignore people claiming that it builds some 3D mapped universe: The mobile application is clearly doing simple frame differencing/matching), not needing to be specially recorded specifically for a hyperlapse, which is an advantage.

In both cases the apps primarily serve as technology beachheads — they are a big organization’s way of saying “look we’re doing something really novel”. There isn’t a lot of real commercial value in it, beyond I suppose niche activities (like “stabilized video for real estate agents”, though that market already has a number of solutions).

And somewhere in between is Gallus, made by negative valuation me in isolation. It’s an application that I worked very hard on, delivering for Android two months ago. Gallus started with pure gyroscope-driven stabilization, though has always had the scaffolding and intention for frame-over-frame refinement stabilization, using an approach first demonstrated in the calibration functionality (delivered before Microsoft’s application, but almost certainly using the same sort of technology). Gallus is moving to a stabilization model where it uses both the gyroscope, and image comparisons, to yield a perfect result, that hybrid giving it the efficiency to handle high resolutions with ease (already you can record and stabilize 4K videos in Gallus on capable devices. Microsoft’s application limits you to 1280×720).

Gallus is intended as an app that you can use to stabilize or hyperlapse, or you can simply use to record videos, offering functionality that makes it a compelling recording option. The premise being that you don’t have to intend the “gimmick” of stabilization or hyperlapse functionality to use the app, but ideally simply prefer it and that comes as a really nice bonus when appropriate.

A free, ad-free, no-watermark app. It just does what it does, and I think it does it pretty well.

For which I get rewarded with reviews like this-


Hey, thanks for that random person. I worked hard over hundreds of hours on this, into late nights and from five in the morning, trying to make it work robustly on as wide a selection of devices possible (dealing with all of the unique environments and conditions as they came in), and apparently quite a few people like it. But you’ve decided that it simply must not function at all (almost certainly because you disabled stabilization. It’s that big camera-shake button in the lower left of playback, and exists because as mentioned I don’t intend for this app to be only about stabilization). That it is simply “Garbage”. Okay.

This “review” trickled in right as I was facing an enormous computational frustration, so my first response was slightly different. I offer no apologies.

Anyways, I continue plugging away at Gallus. I’m currently working on variable playback, the first manifestation of which is optional kinetic hyperlapses — automatically and smoothly slowing down to 1x speed during marked activity (which can be configured, but the two obvious events are a number of directional changes in a short period, or loud audio which may be talking close to the microphone), speeding up again to the target hyperlapse afterwards. The next use is in user configurable speed lines, allowing the user to configure a variety of gated speeds through a video, generating an output that might have a real-time intro, 16x transit time, 4x travel through a destination, interspersed with a  series of 1x segments to describe locations. I’ve also coded out the ability to include time-varied attenuation of audio (e.g. the 1x segment has normal audio, which speeds up and quiets out as it returns to the hyperlapse). I also need to prioritize the frame-v-frame comparisons for the final adjustments, yielding perfect stabilization.

I would never eschew the gyroscope — the device has the sensor, so use it — and it yields stabilization that can be calculated magnitudes more quickly than the frame analysis technique, but once it’s 99% there it becomes relatively easy to determine the final 1%.

Coming soon.

But it’s been an interesting journey. Never have I been so incredulous at how impossible it is to get noticed way down here. The little guy doing things that the big guys do, unnoticed. This isn’t a gripe (well…not entirely), but is just an amazed observation given that many of the people who read this blog exist in that same unconnected world.

Josh Weisberg, the program manager at Microsoft for the Hyperlapse project, has been doing the press tour, and incredibly stated the following yesterday in regards to the variances on Android devices, and the complexity that poses-

They’re also, according to Microsoft Hyperlapse Program Manager Josh Weisberg, why you haven’t seen a specific hyperlapse app on Android at all until now, including from Instagram. There are plenty of time-lapse apps, but none that offer the high-tech stabilization that Microsoft’s new offering does.

Gallus was released two months ago. Gallus may not be from a big company, or a connected individual, and is impossible to get any press coverage for, but this claim by Mr. Weisberg is simply a lie. It is a complete falsehood. I find it rather incredible that the Microsoft team didn’t do any investigations at all before going on tour with statements like these, least of all at least doing a cursory search through “Hyperlapse” search results on the Play Store.

Stop lying, Mr. Weisberg. It’s almost certainly an innocent lie (although the lack of due diligence in the competitive space is concerning), courtesy of a profoundly lazy (and/or corrupt) tech press, so I understand, but just to set the record straight: Gallus was there. I — one individual with some drive — did it by myself.

And I’m going to continue doing it. Right now on some devices the Microsoft solution does a slightly better stabilization job, albeit far more slowly and yielding a low resolution output, but I’m going to quickly get there. And the framework is there to out-feature them in very short order.

My goal, as has been mentioned, is a technology buy out (and for full disclosure I contacted various people at Microsoft in such an effort, among other organizations, and discussions are underway). These companies are on the march, and technologies and impressions are being set, mindspaces occupied. Someone, somewhere might just want a proven, already built stabilizing solution for Android, whatever their intentions might be (kill it, integrate it, learn from it, whatever. A bird in the hand is worth a dozen in the bush when it comes to software, and the market has proven that this isn’t an easy solution). It will come.