Sky Dolly v0.16 - Free Flight Recorder & Replay, Location Management

:birthday: :birthday: :birthday:HAPPY BIRTHDAY, SKY DOLLY :birthday: :birthday: :birthday:

Today a year ago - on the February 28 2021 - Sky Dolly saw the world of flight simming, in its glorious first v0.1 release on flightsim.to. And exactly one year later the latest Sky Dolly v0.9 has just been released, focusing mainly on new import and export plugins (KML, CSV, IGC, GPX, including variants for flightradar24.com, flightware.com and Flight Recorder).

Also refer to the announcement here in the forum for the detailed new feature set. Here I’d like to take the opportunity for a quick “behind the scenes” overwiew (aka “How time flies!”):

History

December 22 2020

Shortly before Christmas: “Hmmm, still no decent replay in MSFS? What exactly is this SimConnect everyone is talking about anyway, what can it do and how does it work?”
→ The “initial commit” is done!

February 24 2021

The first “0.1.0” tag was set and the basic feature set concluded: “Basic recording functionality”, including “latitude, longitude, altitude, pitch, bank, heading”.

February 27 2021

Talk about “release early, release often”: already v0.2 was tagged, with additional simulation variables (flaps, ailerons, gear, …) and this version was then released…

February 28 2021

… on flightsim.to (which I randomly decided to be Sky Dolly’s birthdate)

Fun fact: from the very beginning Sky Dolly got the “modulo 180/360” interpolation right: no glitches when the aircraft just crossed the “magic marker” of e.g. 180° pitch up - yeah, “it’s math, babe!” :wink:

March 1st 2021

Oh no, the first bug! While I was editing my first David-Monthan Aircraft Boneyard-video I noticed that the flaps were either fully extended or not at all. So the first “fix release” - v0.2.1 - was published.

March 4 2021

And the next preview version, v0.3.0 went out! This time with some very crude, but direly needed, possibility to actually save and load the recorded flight data: the first CSV (“comma-separated values” - although Sky Dolly uses the TAB character as delimiter) import/export was born.

March

“The glory of open-source”: of course I was looking at other people’s source code (and referred to other open-source projects in the README.md) and quickly learned from projects like the famous Flight Recorder by @NguyenQHy that the SimConnect API offers the possibility to “freeze” the aircraft, and that recording the velocity and acceleration is equally important (besides recording the “raw position” lat/lon/alt) to make “smooth aircraft movements”. Otherwise the simulator would constantly “fight against the imposed position”.

But give and take: I informed Nguyen about the “interpolation glitch” in his code which he then quickly fixed, and the possibility that light states could now be set via “simulation variables” (the light state can be set “in one go”) instead of “events” (one event per light switch required).

March 18 2021

The next “major preview version” - v0.4.0 - introduced "event-based sampling, both for recording but especially also for replay. Gone the awkward setttings to define the replay frequency (in Hz), when in fact it is the flight simulator that dictates the (maximum) refresh rate (“event-based”).

The recording frequency can still be set to the current day, but this is more meant for lowering the sample rate, in order to reduce the amount of recorded data. E.g. sampling an airliner which “flies straight lines most of its time” with just 1 Hz or even less is more than sufficient, due to the interpolation (which for position data is Hermite cubic spline interpolation, for smooth curves).

The Acrobatic Flying in FS 2020 video illustrated the various recording sample rates in two different scenarios (“acrobatic flying” vs “airliner”).

A second take of the Davis-Monthan Aircraft Boneyard video was edited with Sky Dolly v0.4, too.

April 19 2021

Another “under the hood”-feature - but clearly visible in the “simulation variables dialog” :slight_smile: - improves the data efficiency of Sky Dolly even further: the simulation variables are organised into “groups” (position, primary controls, secondary controls, …).

As data is only recorded “once its value changes” this means that most simulation variables do not need to be recorded most of their time. First experiments confirm this: depending on the “flight style” (“airliner” vs “acrobatic flying with disco lights and constantly lowered/raised gears”) savings up to 35% of disk space are measured.

An initial implementation supporting “cold starts” is also released.

May 11 2021

This is the first major release, supporting a fully-fledged database - SQLite - as underlying “logbook” technology! This allows to browse, update and migrate (!) data with the powerful structured query language (SQL). But most importantly: recorded “flights” are now automatically persisted and are loaded with the ease of a double-click.

Talking about usability: not everything is perfect yet (not to say in a very “crude state”, especially “error handling”), but usability and ease of use has always been a primary goal: you want to “fast-forward” during replay? Just do so my sliding the time-slider: no need to “press pause first”. During recording my own videos - like the first Cinematic Teaser Trailer - I very quickly noticed a missing keyboard shortcut or an unnecessary mouse-interaction.

Juny 17 2021

The release cycles are getting longer, but at the same time the new features are getting bigger, too: this time “formation flying” is introduced with the v0.7: it not only allows to replay several aircraft at once, but also to replay already recorded aircraft during the recording of a new flight! So you see exactly where you fly in relation to the other aircraft - and all this with a single user interface, with a single click on the Record respective Play button.

To the current day and the best of my knowledge this is still a unique feature that no other flight recorder offers in that form.

This new formatin flight feature was intensively tested with the New York 1933 video, where 30+ aircraft circle around the iconing Empire State Building (I was desperately looking for a King Kong model for MSFS, but didn’t find any at the time).

However this new feature also revealed an inherent weakness in the “replay AI aircraft” feature: especially when coming close to such AI aircraft they randomly seem to “jitter”, and sometimes also quickly disappear and reappear. I still hope to be able to improve on this, but since other replay software seems to be equally affected this might be an issue within the SimConnect “server-side” (in MSFS itself). To be continued…

July 28 2021

The v0.8 introduced a new plugin-architecture which I had in mind since the very beginning. Not only the import and export functions are now “pluggable”, but also the connection to the given flight simulator as well.

The SQL technology now starts to show its advantages as well: the logbook can now easily be filtered by aircraft, arrival/destination, formation flights, …

Fun fact: Sky Dolly is for a large part developed on macOS (40%) and also on Linux (10%). The other half (rough estimate) on Windows 10. For very obvious reasons I have to implement against a second “SkyConnect” (Sky Dolly terminology) interface, other that SimConnect for MSFS: a “fake interface” which (currently) only produces “random data” during recording. On Windows both those plugins can be exchanged (even at runtime: Sky Dolly reconnects “on demand” with the flight simulator), and - theoretically :wink: - opens the doors for future extensions…

August 18 2021

Further “bug fix releases” follow, until on this day the “happy birthday, MSFS”-release v0.8.5 is made available, which also introduces initial KML import support (for flightaware.com files).

Winter break

Somehow I am now tired :slight_smile:

December 24 2021

It’s Christmas again. A year since actual development start has passed. And the first actual feature request by a user shows up on github.com (not wanting to ignore other minor feature requests on flightsim.to - but this was the first “official one”). The request asked for IGC support. “IGC what?” Ah… some obscure file of the late 80ies, from some organisation called the International Gliding Association.

“Are many pilots using this recorder format?” But this kept me thinking, and since I had thought about continuing with development anyway, why not start with this IGC format then…

February 6 2022

Another “bug fix” release - v0.8.6 aka “Drop Bear Edition” :koala: - introduced the first IGC file import plugin. And now since I knew quite a bit about this simple - but effective - file format, why not write an export plugin for it as well?

February 28 2022 (today)

The current “major” new release v0.9.0 is made available, which besides the mentioned IGC export plugin (and improving on the IGC import plugin as well) provides a range of other import/export plugins and improvements.

And I discovered my joy in gliders in MSFS :slight_smile:

1 Like