PDA

View Full Version : Proposal: Personal Aquarium Database



Radio KJ
04-11-2008, 06:15 AM
Also good day. As some of you may have noticed (http://www.aquaticcommunity.com/aquariumforum/showthread.php?t=20168), I'm somewhat of a (semi)professional Windows programmer. Not bad for a Mac user. But I digress.

I come to you today not with a finished product, but a concept. It is my aim to create software for aquarium hobbyists to help them keep track of their little friends.

Let me give you the lowdown:

1) Add your aquarium(s) to the database. For each one you can enter such parameters as size and shape, whether it's fresh, salt, or brackish water, whether it's planted, mangrove, or whatever else occurs to me at the time, and of course, other comments.

2) Add your fish to the aquarium. Keep track of add date, initial size, and any other notes you find relevant.
2a) Individual species information can be stored in the database. Things like adult size, temperament, appropriate pH and temperature, etc. Fish can then be added to any aquarium simply by searching/selecting from a list. Or they can be added impromptu and information can be updated later/never.

3) As time goes on, update the aquarium information with notes such as when a water change was done, when the filter media was replaced, any fish that got sick or died or new fish that were added, or, again, whatever else you find relevant.

4) There will of course be a reporting feature to give you a quick look at things such as recent events before a fish became ill, frequency of cleaning, fish and plant growth, or other things depending how much you enter into the database.

Now, I've nothing to show you currently, but if any of you are familiar with such programs as Shortwave Log (http://www.shortwavelog.com/2-screens.html) or Metalkid's Pokemon Program (http://metalkid.info/Pokemon/OfflineProgram/Screenshots.aspx), the interface will be more or less similar to those.

The software will be developed in .NET. I will aim to use v2.0, which has the highest compatibility of any version available to me. Unfortunately I have no way around this (with my current programming knowledge), so anyone stubborn about updating Windows (http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displaylang=en) will likely have no worth to anticipate completion. The database itself will be SQLite, which basically means it can be easily backed up and transferred and no extra software will need to be installed to use it.

I ask now if anyone is already familiar with any existing software like what I imagine. Not that I would be deterred by it, but it would be nice to know what I'm up against.

I do however have three important notes I must make regarding the release of this software:

1) My experience with saltwater can be only accurately described as "zero", so the program will (initially) be freshwater-centric. I will rely on the rest of you to help me with saltwater information.

2) I do plan to release this software free of charge, however I may make a "commercial" version which has a number of fish already in the database. In the free version you would have to add fish manually as described in 2a above.

3) I am not getting paid for this (unless I do make the commercial version, but who would actually buy it when there's a free version?), which means it receives the lowest priority of all my projects, including work, love, and life. So don't expect a finished product this month, or likely even this year. But I will try to have something functional as soon as possible.

I bring all this before you to ask for ideas/requests. If you were to use such a database, what sort of features would be helpful to you? Don't be shy about asking anything. If there's some function I cannot implement myself, I will try to find another solution for it.

Five bonus points to anyone who read this far.

I go now to sleep, because it is late and I have to be at the store early in the morning to land the new fish. I will see and reply to any comments tomorrow. Thank you.

doug z
04-11-2008, 06:50 AM
I dunno, Radio..

This is a real niche market, and there's already 2-3 programs out there that have all these features (or most, anyways)..

http://www.aquariogest.net/

bmvbab
04-11-2008, 07:51 AM
Im a developer too and mostly into open source, I can help you out too. Doug this can be a free software so all AC members can benefit from it and can also suggest more improvements.
I would suggest going with something like python, something that would run on any platform, personally Im a linux user so would prefer something in GTK or QT and maybe sqlite for the db.
Though I dont really like it, we could also do something in Java.

More thoughts from more members can help us getter a better picture here.

Thanks Radio for bringing this up, really looking forward to make this happen ;)

Mvjnz
04-11-2008, 08:27 AM
Don't need software to keep track of my fish really..

But I'm sure some people will interested, go for it, and see what happens:)

William
04-11-2008, 09:26 AM
You might want to look at aquariumlab (never used but it supposed to be similar) and aquarium doctor that focus on saltwater.

dgoulston
04-11-2008, 09:59 AM
an online version of this software would be more useful, for example:

you record your setup + fish, and then the db would link to others who have the same fish & maybe a master db, to let you know about common illnesses and such. could be quite an advanced bit of kit. or quite simple,

depends how you design it.

Im a C# .net, C++/C, PHP, VB, (little java),VBA developer for investment banks.

the simplest development would be an Access DB with VBA front/back end. but not very portable.

but i think in terms of userbility & desirability, the online route would be the best one, though more cost involved, as the only reason i would bother, and im sure a lot of others, to fill in a program with my fish details is so that i can share it with others! EASILY.

hense why i keep a log on this site of my adventures with my SW aquarium.

just my thoughts
Darren.

ILuvMyGoldBarb
04-11-2008, 11:21 AM
Would be great to have an open source program like that out there. There are a couple of shareware versions out there. I too am a Linux user and having an open source program would be great. Also, it would be nice with the cross platform availability just like Open Office or Pigin, then the program wouldn't be limited to those of us who like Linux.

William
04-11-2008, 12:12 PM
an online version of this software would be more useful, for example:


If someone figures out which features they would like to see included I can look into making an online tool like that.

bmvbab
04-11-2008, 12:17 PM
an online version of this software would be more useful, for example:

you record your setup + fish, and then the db would link to others who have the same fish & maybe a master db, to let you know about common illnesses and such. could be quite an advanced bit of kit. or quite simple,

depends how you design it.

Im a C# .net, C++/C, PHP, VB, (little java),VBA developer for investment banks.

the simplest development would be an Access DB with VBA front/back end. but not very portable.

but i think in terms of userbility & desirability, the online route would be the best one, though more cost involved, as the only reason i would bother, and im sure a lot of others, to fill in a program with my fish details is so that i can share it with others! EASILY.

hense why i keep a log on this site of my adventures with my SW aquarium.

just my thoughts
Darren.

I did think about the online stuff, but the issue as you said would be the massive amount of space and bandwidth needed. But there certainly would be people interested in maintaining a record of things locally. For the others we do have the forums and blogs where you can add these but in any case, a local record of things would be good to have.

Anyway, any one can add the online features necessary in the future ;) after all its open.

So Radio these are the parameters I would like to keep track of:

Tank:
1. water params datewise - we can generate interesting graphs out of them
2. No of fish at any point of time
3. Plants in there
4. water changes
5. co2
6. medications added
7. fertz added

Fish:
1. fish name and nos
2. health - this can actually be a small note or page where we can jot down things
3. pics/videos

This can be linked to online dbs that can provide us features like the info on and how to care for that particular fish/plant(thanks dgoulston).

What do you say Radio? Others please do give more suggestions, parameters to record and anything else.

bmvbab
04-11-2008, 12:18 PM
If someone figures out which features they would like to see included I can look into making an online tool like that.
we were editing paralelly :)
you can work on the params on my post above and add to it....

Mvjnz
04-11-2008, 01:58 PM
Yeah, I'd prefer to have it online too.

dgoulston
04-11-2008, 02:08 PM
Tank:
1. water params datewise - we can generate interesting graphs out of them
2. No of fish at any point of time
3. Plants in there
4. water changes
5. co2
6. medications added
7. fertz added

Fish:
1. fish name and nos
2. health - this can actually be a small note or page where we can jot down things
3. pics/videos
.
- Size of each fish
- color of fish (to monitor changes)
- feeding schedule
- details of tank (size, shape) to calc Fish per Gallon
- recommend u if its over/understocked

from my point of view, i would like to see lots of recomendations in this project. eg if you enter your Ammonia is 0.8, it recomends it should be 0 after cycling,, as when i first started out, i found it hard to find out what i should be testing for.
obviously with disclaimers everywhere saying "this is only a recomendation" dont wanna panic people! lol

ESPICALLY SALT WATER. as i have only had my SW tank going for a short while i am still not sure about Calcium and all them non Tropical tests..

gem
04-11-2008, 02:16 PM
I have a program call reefcon2000. Downloadable and free. It has more options than you can imagine. I'm sure there are others out there. But I think someone mentioned a web based on would be nice.

William
04-11-2008, 02:26 PM
http://www.infinitysoft.net/default.asp

Anja
04-11-2008, 02:27 PM
Good idea. (Linux here, too, btw.) I've been checking for some OS programs out there that go a bit beyond database, but nothing really grabbed me yet.

Like a calender function would be useful, where a warning pops up when the filter needs to be changed, or the like. Now I have a calender with alert, but I'd prefer to have all my aquarium related data in one program. Right now it's all over the place (incl. paper).

Thinkfish.co.uk has a program where you can enter fish to check your stocking levels and compatibilities, where a warning pops up e.g. if you only put in one specimen of a schooling fish, and such. That seems a useful feature to me.

I could also imagine storing links/bookmarks with my own info. Like a particularly good cory article, with the info about my cories, a.o.

edit: Just came across http://efishtank.org/ but haven't had time to check it out yet.

bmvbab
04-11-2008, 02:45 PM
dgoulston, those are good too...william and anja thanks for those links, we can use those as reference softs, but they both have a paid version and Im not interested in crippledwares ;) when we have such a great congregation of knowledge we can just collect it together and make a free one.
anja-i would luv to see alerts through my calendar prog. Good one.

Radio, this was your idea from the beginning, just want to tell you I have no intention of taking it away from u ;)

keep the ideas coming guys....

Ryuu
04-11-2008, 03:13 PM
dgoulston, those are good too...william and anja thanks for those links, we can use those as reference softs, but they both have a paid version and Im not interested in crippledwares ;) when we have such a great congregation of knowledge we can just collect it together and make a free one.
anja-i would luv to see alerts through my calendar prog. Good one.

Radio, this was your idea from the beginning, just want to tell you I have no intention of taking it away from u ;)

keep the ideas coming guys....
Yeah, honestly, I wouldnt pay just to record things, so making it free would most definetly attract more people, and maybe you could add a donate button on there and have people donate money for future upkeeps

Radio KJ
04-11-2008, 04:46 PM
To address a few of the more common comments on here so far:

1) I would love to make this cross platform, unfortunately my schooling only covered .NET. A fact I'm not entirely impressed with, but it's what I have. However I have been looking at other languages lately. I'd like to avoid Java, but if I can find another language that's easy enough to learn, cross platform, and powerful enough to accomplish this, I would go for it. I am a Mac user after all. The main thing I want to stay with is a portable DB. I'll not use Access since I don't have it and last time I used it I found it to be a space hog. I'm going to the book store later today (the same one from where I learned Perl and PHP), so I'll see what I can find.

2) An online version would cost money. Since I plan to release this free of charge, that's not exactly an option. However, I will consider other means, such as only uploading simple aquarium info online for others to see, or at the very least a means of exporting to a web page for people to create their own sites from. But that will have to come later in the project.

I have checked out the ReefCon program that someone above linked to. It looks essentially like what I envisioned here, except for the part about US$19 to use it. Not that I can blame them, knowing the scope of a project like this, but I still aim to make a free version. And I'm going to attempt to make it cross platform since there seem to be far more non-Windows users here than I expected (it warms my heart).

I leave now to land fish. I'll be back later tonight.

[EDIT] Looked at more of the programs mentioned here. Right idea, it's the price that turns me (and likely others) off. Does anyone have a freeware/open source version to share?

Radio KJ
04-11-2008, 11:41 PM
So the bookstore didn't have any decent programming books this time around, nonetheless since the demand is obviously there I will look at other languages and perhaps go open source with it. Here are some of the features I've pulled out of the comments so far -- most of which I had planned anyway, which works out perfectly:

-Feeding/cleaning schedules and alerts
-Warnings about fish being added; ie: if the tank pH isn't optimal for the given fish, if the tank is being overstocked, etc. based on information on the fish themselves and the tank parameters recorded
-Keeping pictures of tanks/fish
-Graphs; I'm not sure at this point what graphs would be useful, but it can always wait until later anyway

I'll work out a database diagram later to demonstrate what the program would store regarding the tanks and fish. But first I'd like to ask some other programmers out there about their experience. I keep thinking Tcl/Tk would be a good place to start, but I've not used it myself so I'm not sure how well it would work. I don't like Java for how slow it is, but I won't rule it out for the write once, run everywhere ability. Does anyone have other suggestions for a simple cross-platform language?

Radio KJ
04-16-2008, 12:47 AM
Well that's just awesome. The company creating the SQLite wrapper that I was going to use pulled their product, so my initial plan of .NET and SQLite isn't going to be easy. Which I suppose isn't a bad thing since people are looking for open source ideas instead, but it frustrates me as I had a number of other projects relying on it.

In short, it looks like I've little choice but to consider other means of producing this. Perhaps it's for the best, but it will delay starting the project.

Radio KJ
05-01-2008, 02:25 AM
Not dead! Just delayed. I've found a better solution to my SQLite problem, so that is no longer an issue. What I write for today is to show this:

http://radiokj.hostsnake.com/fishdbdg.html

This is a sample of the type of information stored by the program. I already know I forgot water hardness, but is there anything else I'm missing? I'm also not sure how to handle the issue of food. Currently the diagram demonstrates that the user can enter the food they choose to feed to any specific fish and that information will be used for every aquarium that has those fish in it. However, as I write this, I think it would perhaps be more useful (and easier) to just allow the user to enter the feeding schedule per aquarium instead of per fish. For example: aquarium X gets tropical flake daily, bloodworms weekly, etc. I dunno. Any other ideas?

But mainly, is anything important missing from the diagram?

[EDIT: fixed link]

jbeining75
05-01-2008, 02:28 AM
Link still doesn't work i guess...

The per aquarium is better. I have different feeding schedules for all of my tanks. They all get bloodworms but on different days... etc...

Radio KJ
05-01-2008, 02:33 AM
Give it a try now?

I'm already thinking per aquarium would be the better idea. I'll update the diagram later.

jbeining75
05-01-2008, 02:37 AM
Internet Explorer can not display the webpage...

Radio KJ
05-01-2008, 02:45 AM
*sigh* Technical problems left and right. I had to try it twice in IE to get it to display. I'll work out a text version instead of an image.

Radio KJ
05-01-2008, 03:07 AM
Why I didn't just do this in the first place. Just had to go try to make a pretty not-working picture. Gah.

Anyway, this is sort of an abstract of the information contained in the database. Basically each chart contains a collection of information which all relates back to each aquarium the user enters. For the DB programmers out there, I didn't put things like primary and foreign keys in this mess for simplicity's sake. This is to see that I have all the proper information.

-----

Aquarium
Set-up Date
Size
Shape: [Rect/Hex/Cylinder/Other]
Type: [Fresh/Brackish/Salt]
Planted: [Yes/No]
Heated: [Yes/No]
Filtered: [Yes/No]
Target pH
Target Temperature
Target Hardness
Target Salinity
Comments


The following two charts contain basic information used by all aquariums the user enters

Fishes
Common Name
Scientific Name
Family
Max Size
Water Type: [Fresh/Brackish/Salt]
Appropriate pH
Min Temperature
Max Temperature
Appropriate Hardness
Appropriate Salinity
Comments

Plants
Common Name
Scientific Name
Family
Max Size
Type: [Aquarium/Pond]
Appropriate pH
Min Temperature
Max Temperature
Comments


The following charts are specific to each aquarium.

Medication
Date (of medicating)
Name (of medication)
Volume
Reason
Comments

Cleaning
Date (of cleaning)
Water Changed: [Yes/No] or [%]
Filter Media Changed: [Yes/No] -- note, not yet decided how to handle multi-media filters
Comments

Fertilizer
Date (of addition)
Name (of fertilizer)
Volume
Comments

Parameters (water testing)
Date (of test)
pH
Ammonia
Nitrite
Nitrate
Salinity
Temperature
Hardness
Comments

Feeding Schedule
Food
Frequency:
Amount
Comments


[I]The following chart gets extra information from the "Fishes" chart and is specific to an aquarium
Fish
Addition Date
Name
Initial Size
Current Size
Initial Colour
Current Colour
Picture
Fatality Date
Comments


The following chart relates to a specific fish from the above chart
Fish Observations
Current Size
Current Colour
Comments


The following chart gets extra information from the "Plants" chart and is specific to an aquarium
Plant
Addition Date
Initial Size
Initial Colour
Picture
Fatality Date
Comments


The following chart relates to a specific plant from the above chart
Plant Observations
Current Size
Current Colour
Comments