New Mac OS X Dive App

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!

I guess it's a good thing I didn't "request" the ability to store data in a SQL database, so that it could be accessed and used by a variety of other applications. That would have just been evil.

$ file ~/Library/Application\ Support/MacDive/MacDive.sqlite
/Users/nick/Library/Application Support/MacDive/MacDive.sqlite: SQLite database (Version 3)

You're more than welcome to access the SQL database and do what you like with it.
 
You're more than welcome to access the SQL database and do what you like with it.
I should have been more clear, and indicated, "the SQL database of one's choosing, using a database abstraction layer" :)
 
Jezz - I guess it's a good thing I didn't "request" the ability to store data in a SQL database, so that it could be accessed and used by a variety of other applications. That would have just been evil.
FWIW, I don't disagree with some of your suggestions re: the "Mac-ness" of the application, but t0w has chosen to implement multiple users leveraging multiple accounts on the Mac (which does work, I just checked); if we don't like apps that close when the window itself is closed maybe we can start asking Apple to follow their own HIG, for example in their System Preferences app. :eyebrow: Certainly an app that doesn't support multiple instances at one time doesn't need to stay open when its window is closed.

I'd be happy to take this offline if you'd like (PM or email). t0w is trying to use this thread for support and I think this part of the discussion. If you read some of your feedback in this thread and maybe some others, I think the point isn't the suggestions you are making but the tenor of those requests.
 
You don't like my writing style. Complaint noted - thanks.

In the meantime - like I said - I'm not looking for a big argument. I've said all I've had to say on the app. Make of it what you wish.

If at some point in the future, the app handles multiple users and/or multiple logs itself (i.e. not relying on creating multiple user accounts to fake it), I'll take another look at the possibility of using the app, but in the meantime, I find it unusable - which is too bad because, because it has a number of improvements over Divelog.

Good luck and safe diving to all.

Cheers!
ND
 
I don't want to join this battle, and hope it's over before it started. I think NudeDiver has made some constructive suggestions that reflect accepted best practices to increase usability, and I thought he did it with a suitable "tone of voice.". But certainly the author, especially of donationware like this, can have the program work like he wants.

I'm also a generally satisfied Divelog user, so I have my solution, for now anyway.

I'm really butting in to suggest a workaround for those wanting to use MacDive with multiple databases, that might be a little less heavy-handed than running as multiple users. It's actually a very old trick for dealing with programs that have such limitations; MacDive is not the first. In essence, surround invocation of the MacDive application with copying the multiple files to to and from the canonical place. Maybe someone will find this method useful.

You could do the copying to and from the canonical place manually in the finder, and I can understand that for some people that is all the complexity they can deal with. But it's really not that hard to automate the copying.

Let's say you have two divers, Clark and Lois.
Create two plain text files in your home folder that are "shell scripts". You can do this with TextEdit if you don't do any code editing otherwise. Make sure you don't make them "Rich Text" format. Each shell script contains four lines. The file Clark_MacDive.sh looks like:

#! /bin/bash
cp -f ~/Library/Application\ Support/MacDive/Clark_MacDive.sqlite ~/Library/Application\ Support/MacDive/MacDive.sqlite
open -W /Applications/MacDive.app
cp -f ~/Library/Application\ Support/MacDive/MacDive.sqlite ~/Library/Application\ Support/MacDive/Clark_MacDive.sqlite


The file Lois_Macdive.sh is identical except "Lois" is substituted for "Clark" in two places. Now the only (for some) scary part, where you'll have to use one terminal command: Open terminal, found in /Applications/Utilities. Type the following two lines, each followed by return:
chmod 754 Clark_Macdive.sh
chmod 754 Lois_Macdive.sh

These make your shell scripts "executable".

Now look at these two scripts in Finder. Do a "Get Info".
The "Kind" should be "Unix Executable File", and the "Open with" should be "Terminal.app". Preview should show a black rectangle with a green "exec" at the top (on OS X 10.5.6, anyway).

After creation you can use the finder to move the scripts to another folder if you like. To execute, just double-click on the script icon in the finder window. A terminal window will open. If the file Clark_MacDive.sqlite didn't already exist there will be an error message to that effect in the terminal window, just ignore it. I suggest you don't close the terminal window until after you exit MacDive. You can minimize it to the dock if you like. You won't need to type anything in it.

MacDive will start up as usual, just as if you had double-clicked on it in the Applications folder.. After you exit, the canonical database MacDive.sqlite will be copied to Clark_MacDive.sqlite. The terminal window will display "[Process completed]". You can now quit Terminal.

I suggest that before anyone attempts such scripting, that they make backups of any databases that already exist. That could just be a copy of the file MacDive.sqlite under a different name. Don't debug anything on data you don't want to lose, even if, like me, you've been doing this for 40+ years.
 
Last edited:
You (well, the app developer) could do it a lot more reasonably than that - and still use a single database file like the app currently uses. All you would have to do is have a "owner" field/table that relates to the data. Then the app just has to ask what "owner" to connect as, and then only that dive data is displayed. When creating dive entries, simply associate the appropriate owner with the data. Now you have a single file, multiple users. If you take it one step further, and have an "owner" AND a "log category" (or something) field, and allow a user to create arbitrary categories (in addition to arbitrary owners), now you have the ability to do what I described several posts ago - and truthfully, it shouldn't be that difficult to plumb in that functionality.

FWIW - I still don't think it's a good idea to store the data file in the ~User/Library/Application Support directory. It's not where most people are going to expect user-generated data to be. Of users who actually bother to back up their stuff, many only back up their "Documents" directory. These users are going to lose all their MacDive data when their hard drive goes **** up. Speaking as someone who recently suffered a major server crash (as indicated many posts ago) - I can say, "that suuuuuuuuuuuuucks".

But hey......well...there you go.

Cheers!
ND
 
Last edited:
nice app. i found that i can use my Suunto serial cable with an iogear serial/usb adapter to download from my Vyper to my iMac. wish i had known earlier.

would be nice if "ave depth" was an available column in the main table. would also like to be able to change the order of the columns.

oops -- i see that i can change the column order. more choices for the columns would be nice tho--also he mix percent would be nice.
 
Last edited:
New version out, 1.5.1:

Added support for the Oceanic GEO and Atom 2.
Added support for the Reefnet Sensus Ultra.
Added support for Suunto Cobra 3 and Suunto Vyper Air.
Added import of Oceanic .txt files.
Added SAC Rate, Pressure Used, Average Depth, Mix %, Computer and Air Temp columns to main table.
Added ability to re-order the columns of the main dives table.
Added Compass and Drysuit to list of default gear types.
Added a menu item and keyboard shortcut for deleting dives.
Added previous/next dive menu items with keyboard shortcuts.
Added default tank size/working pressure in preferences.
Added new statistics.
Added ability to edit bookmarks/alarms.
Added ability to export the dive graphs as JPEGs.
Added a "generated by" comment to exported udcf files for identification.
Added support for canadian units (Imperial with Celsius).
Added confirmation before deleting gear.
Added temp column to raw table.
Added GPS lat/lon.
Added direct printing.
Made duration editable.
Made Notes text larger.
Tweaked search to work with multiple search terms.
Minor UI tweaks.
Various code tidy ups.
Fixed autocomplete to work on tokens, not the full string.
Fixed a bug where sorting the raw data would cause the main graph to go loco.
Fixed some SDM import issues.
Fixed a calendar issue where dates could get messed up.
Fixed some temperature conversion problems.
Fixed a D9 import issue where the air temperature was incorrect in certain cases.
Fixed temperature in per/min graph always displaying in metric.
Fixed a problem upgrading from older versions to a current version.
Fixed PDF title export bug.
Fixed a crash when merging certain dives.

Bugs, questions, let me know.
 
Lots and lots of improvements! Thanks!

For those who own a Cobra 3 or a Vyper Air: you may have to do File -> Import twice to download from your dive computer. The first time appears to timeout, but the second time it works just fine.
 
Lots and lots of improvements! Thanks!

For those who own a Cobra 3 or a Vyper Air: you may have to do File -> Import twice to download from your dive computer. The first time appears to timeout, but the second time it works just fine.

This is a known problem with the Cobra 3, but I wasn't aware the Vyper Air was doing it also. Apparently this happens occasionally on the Vyper 2's as well - so I'll take a look. I was aware before I made the release, however I figured it was a minor issue and wanted to get an update out, since it's been a while.
 

Back
Top Bottom