| 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 |