DeepBlue - A dive planning toolbox

Please register or login

Welcome to ScubaBoard, the world's largest scuba diving community. Registration is not required to read the forums, but we encourage you to join. Joining has its benefits and enables you to participate in the discussions.

Benefits of registering include

  • Ability to post and comment on topics and discussions.
  • A Free photo gallery to share your dive photos with the world.
  • You can make this box go away

Joining is quick and easy. Log in or Register now!

harveywalker500

Registered
Messages
26
Reaction score
4
Location
United Kingdom
# of dives
100 - 199
Hey all,

I wanted to let you all know that I am working on a new dive planning tool to assist in diving planning!
For now, it's fundamental, but I have the formulas I think are relevant coded up and documented already, as well as a basic UI and a disclaimer warning at the beginning.
I want to develop proper decompression planning using the Bühlmann zhl-16c algorithm and, if the project gets enough traction, VPM bubble models as well.
I want to develop the open circuit portion of the application first since I have no experience with CCR and it would be inappropriate of me to develop an application with it if I haven't had proper training, though this is something I would like to do someday.

The problem I find with most dive planning software is that they either require some internet connection or a license key to run (MultiDeco being the exception that comes to mind for me). I want this to be different. It will be open-source and completely offline to allow divers who are in remote areas or otherwise offline to calculate dives on the fly.

I have attached some screenshots of the main part of the program I have developed so far.

disclaimer.png

settings.png
formulas.png


If you are interested in looking at it, or even contributing, I would massively appreciate it if you took a look at the GitHub repository here.

Let me know what you guys think!
 
  • Like
Reactions: OTF
It's going to be hard to compete with Subsurface (also open source) on the desktop. (Just assuming this from your screenshots.) The mobile platform is where you could make a mark, especially if you had both Android & iPhone variants.
 
It's going to be hard to compete with Subsurface on the desktop (also open source). The mobile platform is where you could make a mark, especially if you had both Android & iPhone variants.
That's a fair point. It started as a project to practice my development skills with C# and creating programs using WPF, but then I created one formula, then another until I had completed every formula in my Tec Deep diver manual! Now I'm working on implementing them.

Going to the mobile market is a good idea, but I would want to properly learn how to do it since I have no experience in it.
It also costs a lot of money to get an app on the Apple App Store (around $100 a year) and it would need proper funding and development in order to make it viable. The Google Play store is less costly, a one time fee of $25, but it still requires extensive development, something I'm just not ready for.
 
Maybe you could help with development of Subsurface?

Your challenge will be to actually get anyone use it - divers are conservative. Lots of people swear by MultiDeco despite its horrible UI and despite weird bubble theories of the author, but it has been proven on many dives so why risk something else.
 
Maybe you could help with development of Subsurface?
I have been thinking about that, but it's a large project for someone as inexperienced as me (in both decompression diving and in large projects). That compounded with university, I'm limited on how I could be helpful. This passion project is "easier" to manage for now.

Your challenge will be to actually get anyone use it - divers are conservative. Lots of people swear by MultiDeco despite its horrible UI and despite weird bubble theories of the author, but it has been proven on many dives so why risk something else.
I totally understand that, I would also be skeptical about an untested app and wouldn't trust it. But my main purpose of open-sourcing my project is that anyone with coding knowledge can see how I implemented the algorithms, and I have links to all of my research so people can see that I based my code on reliable, peer-reviewed research.
I also understand that it will be tough to get people to try it too. Scuba diving is a niche market, technical diving (who this app is planned for) even more so, and technical divers willing to try new apps nicher then that! It doesn't deter me. It's a great learning experience on implementing decompression models, programming in C# (the main language I'm using) and using open source software and tools such as GitHub properly. TLDR: good for the CV!
 
It doesn't appear you checked in your code in GitHub. If you don't install .net on Mac/linux can you run a C# app on Mac/linux?
 
It doesn't appear you checked in your code in GitHub.
Not sure what you mean here? I've split the code I'm working on into a dev branch. Once I'm happy it's ready to implement I will move it to the master branch. This is so that, down the line, "experimental" features that may not properly work or are buggy won't be added to the final product. Especially important once I start implementing algorithms that divers rely on for safety!

If you don't install .net on Mac/linux can you run a C# app on Mac/linux?
I need to properly research this before I give you an answer, but I plan for my code to be developed on Windows first, then port it over to Linux and Mac once it's ready. I think that you will require .NET however. Again, I will look into solutions that are more accessible to those users.
 
If you want to do something unique and useful: look at implementing Thalmann (VVAL18) algorithm, and maybe later compare the outputs with Buhlmann/GF (use an existing library). You don’t need to mess with UI much and if I remember correctly, there is no public implementation outside of some Fortran? code.
 
  • Like
Reactions: OTF
If you want to do something unique and useful: look at implementing Thalmann (VVAL18) algorithm, and maybe later compare the outputs with Buhlmann/GF (use an existing library). You don’t need to mess with UI much and if I remember correctly, there is no public implementation outside of some Fortran? code.
Maybe!! I didn't realize this algorithm existed, to be honest, but I'll look into it potentially being implemented. Would also give a good USP... :wink:
 

Back
Top Bottom