| | 1 | == History of Baltic == |
| | 2 | |
| | 3 | Development began in 2007, as a small C++ library implementing |
| | 4 | the ZHL16 algorithm, and the frontend was just a simple |
| | 5 | command-line tool. Initially this was all just a mental |
| | 6 | excersise, trying to get a better understanding of deco theory. |
| | 7 | |
| | 8 | In late 2007 and early 2008, a gtk+/gnome frontend was written, |
| | 9 | complete with profile graphs, compartment loads and pressure |
| | 10 | profile. During this period I got a lot of input from some of the |
| | 11 | local divers, and particularly on the layout of the result by my |
| | 12 | TDI instructor. |
| | 13 | |
| | 14 | Sometime in May 2008 I bought a !MacBook Pro and fell in love |
| | 15 | with the thing (despite being a linux user since 94, and |
| | 16 | open-sorce contributor for many many years). I started porting |
| | 17 | the app to MacOS, but still with the gtk+/gnome frontend. |
| | 18 | |
| | 19 | However, gtk+/gnome UIs on MacOS don't look good, so in the |
| | 20 | summer of 08 while living back home in Copenhagen for a while, I |
| | 21 | installed the developer package and first looked at bit writing a |
| | 22 | native MacOS app, but my dive buddy urged me to look at the |
| | 23 | iPhone instead. So I started looking at the iPhone SDK, and |
| | 24 | around August, the first version was up and running, a very |
| | 25 | simple UI with a picker for depth & bottom time plus two sliders |
| | 26 | for oxygen and helium content, and the profile was just dumped in |
| | 27 | a textview. |
| | 28 | |
| | 29 | At this point I started focusing on implementing the VPM/B |
| | 30 | algorithm in C++, by reading the fortran implementation by Erik |
| | 31 | C. Baker. Part of this was done by instrumenting the fortran code |
| | 32 | to generate C++ unittest code to validate the output of the |
| | 33 | individual parts of the algorithm. VPM/B was definitely a |
| | 34 | challenge and most harder to understand than Buhlmann's ZHL16, |
| | 35 | but from peoples reports of diving using VPM/B planned dives, I |
| | 36 | felt it was worth it. |
| | 37 | |
| | 38 | By late 08, the implementation was mostly done, and around this |
| | 39 | time I had finally actually bought an iPhone. This meant |
| | 40 | that the UI got more attention again, ie. the profile moved from |
| | 41 | text view into tables, settings moved away from the system |
| | 42 | settings page and into the app using pickers and sliders. Luckily |
| | 43 | a friend of mine is a Apple UI designer, and he gave a lot of |
| | 44 | good suggestions on best and most common-place iPhone UI design |
| | 45 | choices, such as use of tables and sections, editing and input |
| | 46 | widgets. |
| | 47 | |
| | 48 | I'm not a CCR diver myself (plan to be some day...), but one of |
| | 49 | my regular buddies has been for a long time and provided valuable |
| | 50 | input on the CCR aspects and the underlying C++ library was |
| | 51 | quickly modifed to work for constant ppO^2^ diving. Likewise I |
| | 52 | would bring the app around with me on a few dive trips, and have |
| | 53 | random boat-buddies try it to see what they thought, and what how |
| | 54 | the UI worked for them. |
| | 55 | |
| | 56 | Finally the last bells and wistles like bookmarks and such were |
| | 57 | added, and the app went to the !AppStore. |
| | 58 | |
| | 59 | |
| | 60 | eskil |