|Original author(s)||Linus Torvalds|
|Developer(s)||Dirk Hohndel, Linus Torvalds, and many others|
|Initial release||September 22, 2011|
4.9.3 / September 10, 2019
|Written in||Qt, C, C++, Bourne Shell, Perl|
|Operating system||Linux, OS X, Windows, Android, iOS, (POSIX)|
Subsurface allows a scuba diver or free diver to keep track of their dive data. It allows dive record data to be downloaded from many different makes and models of dive computers and can represent this data both graphically (depth profile, gas usage) and in tabular format. Digital photographs taken during the dive can be added to the log and the location of the dive site is displayed on a map. Decompression information based on the Bühlmann model or the VPM-B model and gas usage information can be displayed. The program also includes an interactive dive planner. The logbook can be exported in many file formats and to a Git-based cloud storage. There is a version running on mobile devices that can display the log book data, but downloading directly from dive computers is currently not supported.
Until version 3.9.2, Subsurface used GTK+ for its graphical user interface, and with version 4.0 it was switched to Qt 4. At the LCA2014, Torvalds and Hohndel explained why they choose to re-write the GUI using Qt.[clarification needed]
Subsurface officially runs on Linux, OS X and Microsoft Windows. It is written using the POSIX API and not the Linux API, so it should be portable to any POSIX-compliant operating system. The mobile version using Qt Quick via KDEs Kirigami framework allows it to run on Android and iOS.
As Subsurface binary software deployment for Linux users for the various Linux distributions turned out to be problematic, the packaging was changed to a portable, self-contained, distro-agnostic[clarification needed]AppImage in 2015.
6:31 I have seen this first hand with the other project I'm involved with, which is my dive log app. We make binaries for Windows and OSX, we basically don't make binaries for Linux. Why? Because making binaries for Linux desktop applications is a major fucking pain in the ass.
I finally got around to play with the "AppImage" version of +Subsurface, and it really does seem to "just work".