As a scuba diver, I log all my dives in a dive log. For most divers, this is just a simple notebook, but some years ago, I started to also enter my dive in a simple Google Sheet.
After playing a bit with charts and the “Explore” feature of Google sheet to answer questions like “max depth” or “number of dives per regions”, I decided to create a dashboard to better showcase some dive stats and visualizations. While you can put some charts and numbers on a new sheet in Google sheet, I think it is not really designed for this. I preferred to keep Sheet as a database and to pull this data from somewhere else.
Using Google Data Studio, I could add my dive log sheet as a data source and then put interesting visualizations and stats on a new canvas. Here is what I think make Data Studio a great tool:
It’s free. I would not have paid to build a hobby dashboard.
Custom themes and colors
Filters: I added interaction by allowing visitors to filter by date, location, dive center…
The tool makes it very easy to position things on a 2D canvas.
The diving project is progressing well, I suspect a first release for you to test in the coming days.
I need icons for the dive types and locations, it’s a call for participation.
sea and ocean
Anne accepted to give me a little help on this. If you want to participate, let us know in the comments. We would like to hear your suggestions too.
Its possible that the Open Clipart library can help. But I would like a consistent design across all icons.
I don’t know yet if they should be symbols (silhouettes), simple drawings or colored complex drawings. I think it will be hard to find symbols that differentiate them well, and they might be hard to understand.
They will be 72 x 72 px. They will be on a white background.
It all starts with some drawings: first the a few screens of what the website should roughly look like. And then the data model, to get an overview of all the entities of the website, and their relations. Have a look, you will see that objects are very linked:
I’m developping using Play! framework. It is a very efficient Java web framework, where you focus on getting things done. I can assure you it’s not traditional Java (servlets and all) and that when you start feeling comfortable with it, you can build a clean website very quickly. If you are a web developer who wants to try something refreshing, you should give it a try. (I think you can compare it to RoR, Jango or Symfony)
I first start by defining the objects (Models) of the platform, and relations between them. The framework uses JPA to automatically create the underlining database.
Then I define actions in Controllers to display and edit this data: “show dives”, “explore”, “login” are example of actions.
I did not found the time to write unit tests, functional tests or front end tests, this is very bad. It will be the first thing I do when I start working on the project again.
I’m back from a week on the red sea in Marsa Shagra, Egypt. We did mostly scuba diving (2 or 3 per day). Check my pictures on flickr. And with this first project, I decided to stay a little longer in the scuba diving world.
I am a passionate diver with around 70 dives. Since my first dive, I’ve been writting them down in a paper dive log. Every diver is doing so. Last summer, I was wondering what it could look like if it was a digital dive log.
Basically, I wanted an online place to put my personal dives.
Of course, if we put together all these dives of the many divers around the world, it could lead to a large amount of data about diving spots. (what can be seen at a particular location, what diving center to contact, difficulty of the dive…) And thus be a huge knowledge base.
Moreover, I want to stay in touch with other divers I met, I want to explore where they have been diving in the world, I want to connect with diving centers before my trip. It will thus have social functions. A social networks of divers, of sea lovers.
Done 100 times
Of course, I was sure this had been done by others. I started looking at existing solutions. My conclusion is simple: there are many online dive logs, but many of them suffer from a bad user experience, and none succeeded in attracting me. They do not merge data to create something larger. There are also many dive spot encyclopedia, and none of them is open data, most of them do not offer a pleasant way to browse spots…
I didn’t find the experience I have in mind. That’s why I will build it.
Let’s do it
My plan is to build something in a 2 weeks timeframe, starting today. I will post regular updates on this blog and more frequent updates on twitter (@sterenlabs).
How can you help ?
If you are a beginner or experienced diver or not at all, I would love to hear what you think about the project in the comments of this post. What would you expect in such a platform? Your ideas and suggestions are welcomed.
If you know and use an existing website that does the same, please let me know.
I’m also still looking for a name. It’s hard because many domain names mixing diving words are already taken (“dive”, “log”, “wiki”, “bubble”) and we tend to forget them because they are not original. I really want something people will remember easily. I like quite well “opendivers“, but I’m not convinced (and the .com is selling at 1200$). I wanted also “globglob” (if you get the reference), but the .com is taken.
Here is what will drive my work in the next weeks:
Adding an entry should be pleasant: basic parameters (location, depth, time and date) but also strong emphasis on what has been seen, on who I dove with.
Fishes and things I’ve seen could be added by drag and dropping icons from a library (I do draw on my dive log, I think it’s important to visualize things).
No need to be too technical. Users will be able to fill in technical details, but they are optional (the track of the dive from my computer…)
I can upload photos of my dive and tag things in them.
It is not a social network of friends, it is a network of divers. I am linked to you because we dove together once or we met at a diving center.
I can group a set of entries into a “trip”.
On my profile page, I enter my info. (my levels, my gears), it is public.
On my profile page, there are nice statistics : map of the world where I dove, badges if I’ve seen many manta, if I’ve done many wreak dives…
I can print a nice dive log of my dives.
I can always export all my data in many formats.
Content is gathered and dive spots can be browsed (from a map or by country).
On a dive spot page, we can see fishes people have seen the most, there are pictures of dives + info can be added (comments, a drawn map of the spot).
Diving centers could have their pages, and be linked to dive spots, to my dives and levels…
non-personal data is licensed under a permissive license such as CC-BY-SA
I can add an entry, even if I’m not online (need to build offline mobile apps that synchronize with the service)