View Full Version : Aquaculture software
NicoleC
01/11/2006, 09:47 PM
The job I have that actually pays is being a software developer. I was considering writing a program to track each batch of larvae, probably in an Access Runtime (doesn't require the Access software) or some other simple tool that is fast to program in. It should be fairly easy and quick to get the basic features in.
My purpose in writing it is to keep track of all the daily items for each batch, so I could then produce reports that compare each batch to help point out best practices to increasing hatch rates, survival rates, etc. Ideally, it should take less time than paper notes by eliminating redundant data entry; it should certainly increase the speed of referring to the notes.
As long as I am writing it... would other breeders be interested in such a program? If not, is it because you are already using another tool, and what? If so, what items would you like to see tracked, what features should the tool have, and what kind of reports would you like to produce?
A few necessities are below. A "<"or "^" symbol means one records to many, for example one breeding pair will have multiple spawns.
Species
^
Broodstock < Daily notecards (see notes below)
^
Spawns/Hatches < disposition of babies
^
Daily notecards (Will actually be timestamped so you can enter as many per day as desired). Daily notecards should include water parameters, feeding info, behavior, lighting, freeform notes, maintenance items, etc.
^
Photos
-------------------
Other proposed features:
*Quick Search and Advanced Search
*Side-by-side batch and broodstock comparison
*Customizable reports
*Calendar view of spawning and hatching events
*Customizable drop-down lists, but with default lists included so you don't have to set it up from scratch
Morgman
01/11/2006, 10:25 PM
That sounds cool. I wonder if you could program the clowns fill it out. Just kidding.
How about something that relates to rotifers and feeding regiment too.
When you fill out the info will you be entering a series of questions like Microsoft Access stuff?
NicoleC
01/11/2006, 10:40 PM
Ah, no. The built in MS Access interface is only the barest beginning of what you can do with the software using Visual Basic for custom programming instead of default behavior. Few advanced users use 1% of it; few developers use more than 25%. It truly excels as a front end to a server database system like SQL Server or Oracle, but we won't be going there. :) As a front end tool, you don't have to define what a checkbox is and other mudania.
No extra software or hardware is required, and if released as a "runtime" version you don't even need the MS Access software. Won't work on Mac's, though.
I thought about culturing info, but to me it would be miserably tedious typing in notes for each rotifer culture. Or did you have something else in mind?
Nicole,
You are a genius. I would kill to have something like this. Both Vikki and I check back in the original posts to work out number of days for hatch etc..
Let me know if there is anything that I can help with.
Steve
Nicole,
Just thought of some other option that could get around the MAC issues. Perhaps a multi user db design that could be hosted with a web interface. As a future of course.;)
Steve
JamisonSmith
01/11/2006, 10:58 PM
Nicole,
I am searched for software similar to what you are contemplating designing, to no avail. It seems like it would definitely save a lot of time in the long run and assist in tracking timing of spawns and gearing up for the next 'round'.
Not much of a computer programer, but I do work with some folks who are very database minded and would help if asked, just let me know if i can help at all.
Take care.
Jamison
NicoleC
01/11/2006, 11:07 PM
I toyed with the web idea... for about 32 seconds.
Web software is what I am doing right now, but any web platform product requires a hosting provider, storage space and considerable maintenance by someone. (Three guesses whole that would end up being, with no time for her own fish?) Response time is slower, the programming cycle is longer and there would be fewer fearures. Plus, it raises privacy issues. All of which cost $$$, which means a subscription fee of some sort.
I'm not really concerned about the miniscule Mac market share. (Well, other than Frank, of course!) I'd translate it to Spanish before Macintosh; neither is likely to happen -- no comprende!
Fishboy42
01/11/2006, 11:12 PM
That would be cool! I use notebooks for all my records, but there is quite a bit of redundant data entry, and that sometimes makes me get sloppy...I have enough lab notebooks to keep up with already :rolleyes:
That calendar view idea under the proposed features would be great for keeping track of each batch of babies, and for tracking spawn/hatch dates and other notes for multiple pairs it would certainly be useful. Maybe even long-term calendars for acquisition dates and 1st spawn dates, etc?
A report for each nest would be interesting as well, with dates and # of days each food type was used, growth rates, time to metamorphosis, etc.
This also sounds like a great way to share information between breeders since all the information would be organized and it would be a little more standardized.
Great idea, I would certainly be interested. I don't know anything about programming, but that does sound like a lot of work!
NicoleC
01/11/2006, 11:26 PM
I thought of another must-have feature -- fish need to be able to be re-paired (in case of death, etc), support broodstock groups (harems), you must be able to assign only a specific two fish from a group to a spawn, and you must be able to attach larval batch info to a fish in case s/he is graduated to broodstock.
Okay, now THAT made more work. Sounds like many features but it's really the same table structure. (A structure which suddenly makes my head hurt, but I've seen worse.)
The only tough feature so far is the calendaring. I don't think I've ever done a calendar in Access. It might need to be a report formatted as a calendar instead of a real-time object you can use for data entry.
TippyToeX
01/12/2006, 12:10 AM
I want to beta test! :D
rsman
01/12/2006, 12:20 AM
:wildone:
I stick my tounge out at you software developers :D :D :D
see I can do that now as I am at work and while my c# app is compiling i can see my reflection :D
Im actually more interested in the web idea, and have considered it alot, I to have the knowledge I also have a solution to the hosting issue, and for a privacy issue well ive kinda got that covered also. im missing a few things, ive even got some extra time (no fish breeding clears up a LOT of time in ones schedule)
the way I had it planned was that a re-paring was a "new Pair" with the note pointing to the origional fish for the collection info record.
building the calendar is not the biggest of concerns either :D (if you need access help lmk)
NicoleC
01/12/2006, 01:03 AM
(Non geeks please cover your eyes to prevent blindness.)
Tinkering with DB structure, I think a recursive design will work best. More like a genealogy program. You have a livestock table, and that livestock might be a spawn, a pair/group, or a specific fish. Each record specifies the type as a foreign key.
Then you have a Link table that specifies the parentID, childID and relationship type, and whether that relationshp is active.
So, a particular fish can be a member of a spawn, a member of a pair at adulthood, and detached from a pair due to death or attached to a different pair due to the other fish's death. And all of the above at once. It also solves the problem of managing a trio of cardinals but wanting to keep track of which male a particular spawn belongs to.
It's overkill and the vast majority of situations won't require it. But if it's not the structure to begin with, you'll never shoehorn it back in.
You C# programmers and your semi-colons. I like capital letters; I'll stick with VB.NET. I thought you did credit card terminals?
The Access stuff will come back; it's just been a while.
jnowell
01/12/2006, 01:23 AM
Nicole,
I too have started (and subsequently stopped) working on a simular app. My DBA at work took a keen interest in my tank (before the breeding) and she started developing a simple scheduling and parameter tracking DB for tank maintenance. We had a nice report that gave you a ToDo list, and warnings that would let you know if you are past do for a partial water change and what not.
THEN....my clowns started breeding, and we started trying to add many of the features you listed above...it just got too complex for a "wouldn't it be cool" app. Now I have 3 server upgrades (SQL, UNIX, and Win2003) all scheduled to launch Feb. 1 in unison...with no downtime of course :) So we just kinda ditched the idea.
I know what you mean about the web app thing too, but how about making it where each user could zip up their data and send it to you, then you could pull it in to one master table, and use Crystal or something to give "best practices" by species or something.
One thing I've always wanted was a way to track success rates! How about a value for # lost on each day, and then another for # through meta, then you could add it all up and know pretty close to the actual number hatched, and easily calculate the success rate. To be able to look at the differences between an 80% and a 20% would be invaluable.
Have you looked at the "questionaire" type DB they have started on the Anenome's & Clownfish forum? Some pretty good ideas in there too.
Geez I'm long winded tonight, I'll shut up now.
Jason
rsman
01/12/2006, 01:33 AM
< geek talk>
xcept
by seperating it by fish instead of temp family unit
you allow more fluid temporary pairing by building the pair and attaching it to time (calendar) at the same time and by using a lookup on the source you can allow for things like (my mom is my dad & husband :rolleyes: and ive got 5,000,000 children) and (inland aquatics[no advert intended but buy from them they are cool :D ])
and by seperating by tanks you allow for things like (well a 10g worked but a 50g worked SOO much better) also tied to time
vb.net works for me, I can do that too :D
though asp wud be more fun :D
I work in whatever language suits the mood;
and i do whatever the bosses tell me to :D though business apps generally are what pays :D
< /geek talk>
Fishboy42
01/12/2006, 01:44 AM
<a href=showthread.php?s=&postid=6480324#post6480324 target=_blank>Originally posted</a> by NicoleC
(Non geeks please cover your eyes to prevent blindness.)
:cool: Ok, done!
<a href=showthread.php?s=&postid=6480463#post6480463 target=_blank>Originally posted</a> by jnowell
One thing I've always wanted was a way to track success rates! How about a value for # lost on each day, and then another for # through meta, then you could add it all up and know pretty close to the actual number hatched, and easily calculate the success rate. To be able to look at the differences between an 80% and a 20% would be invaluable.
I think this would be very good when the numbers were available, but I know that I can't/don't always make frequent counts. Maybe I would do more if I knew that the information would be easy to organize though.
Has anyone taken a look at Frank Hoff's book on aquaculture of clownfish (well, I know many have, but with respect to this discussion)? He has some interesting data entry sheets and other ways of keeping track of information. Part of what impressed me here was that someone actually counted and checked all of these things. Maybe this would be a good place to check for ideas on information and organization that you would want to include?
NicoleC
01/12/2006, 02:17 AM
xcept
by seperating it by fish instead of temp family unit
you allow more fluid temporary pairing by building the pair and attaching it to time (calendar) at the same time and by using a lookup on the source you can allow for things like (my mom is my dad & husband :rolleyes: and ive got 5,000,000 children) and (inland aquatics[no advert intended but buy from them they are cool :D ])
Oh, sure. attachedDate and detachedDate (or similar) will build a relationship history for each livestock entity. Say, Fred fish is the son of Ricky & Lucy from batch #14, but now Fred is paired with Ethel (who was from batch #19) and they just had batch #32. Bingo, fish history; saved in a few rows in a Link table.
Meanwhile, exactly the same features/history are available for pairs/group and batches of larvae.
and by seperating by tanks you allow for things like (well a 10g worked but a 50g worked SOO much better) also tied to time
Yes, I was thinking to allow the users to set up a list of tanks -- either they could do just two records that say "10g, 50% full" and "20g, 50% full" (or whatever), or they could name and set up specific tanks. (Tank #1, #2, #3...)
Any livestock entity could be assigned to a tank, but is there any call for creating a tank history? I guess larvae could get moved to growout tanks... just not sure if this is worth tracking. I was thinking more along the lines of just keeping track of the size/type of tank as a static record.
Unless you were thinking of scheduling and forecasting tank space? Sounds like a feature for version 2.0, and honestly not something I suspect a small size breeder would need.
vb.net works for me, I can do that too :D
though asp wud be more fun :D
.aspx, of course!
NicoleC
01/12/2006, 02:21 AM
Nicole,
a simple scheduling and parameter tracking DB for tank maintenance. We had a nice report that gave you a ToDo list, and warnings that would let you know if you are past do for a partial water change and what not.
Different animal, I think. There are maintenance software packages available.
I know what you mean about the web app thing too, but how about making it where each user could zip up their data and send it to you, then you could pull it in to one master table, and use Crystal or something to give "best practices" by species or something.
Well, YOU are welcome to tackle an ongoing project like that. ;)
One thing I've always wanted was a way to track success rates! How about a value for # lost on each day, and then another for # through meta, then you could add it all up and know pretty close to the actual number hatched, and easily calculate the success rate. To be able to look at the differences between an 80% and a 20% would be invaluable.
You count your fish every day? Yikes! Speaking of going blind...
rsman
01/12/2006, 02:47 AM
Unless you were thinking of scheduling and forecasting tank space? Sounds like a feature for version 2.0, and honestly not something I suspect a small size breeder would need. maybe V3 :D
i kinda see it as a time line with things attached
tanks
breeding fish
growing fish
and with each a number of values attached to that,(from filters, to fish) that way larva and growout fish dont need specific numbers but breeding fish and tanks do, you could move fish from growing to breeding and move fish from tank to tank (but lets not turn a fish into a tank :D ) also solves problems with fish with potentially multiple mothers or fathers, allowing one to say these females and this male were in the tank, and these babbies were the result. also for those that combine fish at certain points it allows one to say these babbies came from either tank X with fish 1 and 4 or tank Y with fish 2 and 7, but when you pull a fish out of that to mate with another fish, or because .... whatever reason you like, then you put it into a fish field.
as people like me combined batches fairly often to reduce space required, something that was a major premium, something I flat out ran out of.
.aspx, of course! or perl, php, c--, ..... one of these days im going to learn something about compoopters :D
Folks,
"but how about making it where each user could zip up their data and send it to you, then you could pull it in to one master table, and use Crystal or something to give "best practices" by species or something"
Just as a suggestion, if you cater for an location id in the records in the beginning then you allow individual users to import another person (locationid) data them selves and then it does not have to go to a central place.
Just a thought.
Steve
jaybro
01/12/2006, 08:42 AM
Are you planning on keeping the runtime and the datastore seperate? If you do go with a seperate .mdb at the begining it would make it cleaner and more scalable for the later creation of web front end if you, or someone else, goes that route. (Say I wanted to use your runtime for data entry but wanted to port the mdb to sql for efficiancy and create web reporting for sharing data with others... for instance!) It would also make it more scaleable (and I could more easily use Windows CE devices with the web front end).
That being said, these questions are coming from someone with out of date vba/vb/sql skills but who knows didly about vb.net so... perhaps the architecture has changed in such a way as to make these questions pointless. =)
I currently use a tank identifier with room*section*row*tanknumber like "aba8" - room a, section b, row a, tank 8.
I use this mostly for 'to dos' when I'm out of town and the pet sitter is taking care of the tanks. I don't track which fish are in which tank coming from which parents etc... as I mix batches and grade by size. I 'should' be tracking a minimum of clutch size versus babies hatched, when they were laid and hatched and morphed, etc... but I guess I'm just too lazy to do that!
ILikeFish
01/12/2006, 10:19 AM
I'm following: jnowell makes a good point about the reminders to do things. If you forget you may have to start all over again.
marinebetta
01/12/2006, 10:26 AM
Great idea, Nicole. I would go for it!
For us simple folk, an easy to use user interface is important - don't really care what goes on in the back end; wouldn't understand most of it anyway:) so long as it's easy to fill in and pull out info at the end of the day.
Would the fact that clowns change sex come into play at all in your ID system?...the daddy becomes a mommy in another pairing:D
...and...any chance it can be converted into palm format:D
NicoleC
01/12/2006, 10:49 AM
Okay, first, the discussion of VB.NET is regarding a hypothetical web version. I am not totally adverse to a web solution, but a) I am not spending my own money on this and b) I am not getting sucked into a project that will require me doing daily maintenance and tech support indefinately. Finally, should I tire of the project, some using a web version will lose all their data and the tool. Bummer.
If someone can solve all those issues for me, the web software discussion can resume.
Assuming not, we are talking about a standalone software piece in VB/VBA using Access as a front-end tool.
Richard, you're losing me; I don't get what you are talking about with attaching things to a timeline. Are you suggest a tiered DB structure with the tank as the top level entity?
Steve, what exactly do you mean by "locationID"? Is the a primary key? A foreign key to a hypothetic master database of all users?
Jay, I usually separate frontend and backend. For the sake of simplicity here, I wasn't going to do that because it will make it easier to deploy, but it's worth considering. Heck, I may go entirely with unbound forms and set everything web-style.
Okay, we have two different use cases emerging.
The first, which was my original idea, was to track fish and batches of larvae, somewhat along the lines of a pedigree software package with the necessary bits of care info built in. The goal of the software was to improve breeding practices. The concept of tanks was just to keep track of water volume, etc., but could have been used to specific a location of a particular breeding pair of spawn.
The second use case scenario is emerging from Jay (and Richard?), who maybe feel like they have the breeding thing down better and are more concerned with needing to know what they need to do for each tank each day.
If I put on my thinking cap, I should be able to come up with a DB structure that accomodates both but the front ends will by necessity be need to be different. (Two sections of the same application.)
For those interested in a tank-based model, how is this different from TankMinder, ReefCon200, AquaLog, etc.?
NicoleC
01/12/2006, 10:54 AM
For us simple folk, an easy to use user interface is important - don't really care what goes on in the back end; wouldn't understand most of it anyway:) so long as it's easy to fill in and pull out info at the end of the day.
Yes, must. For me too -- I mean I may program the stuff, but I still don't want to have to sit there and tinker with it when I trying to USE it!
Would the fact that clowns change sex come into play at all in your ID system?...the daddy becomes a mommy in another pairing:D
Fish are fish, they are an entity same as any other. If we can have 3-somes and 4-somes, sex won't be a critical factor :)
...and...any chance it can be converted into palm format:D
That's funny, I had a dream last night that you could use wirelessly connected Palms Pilots to enter data while standing at the tanks, then you could sit down at the desktop to run reports and compare data.
Yeah... that may be a bit beyond the scope of this application ;)
jaybro
01/12/2006, 02:20 PM
As far as the tank based model... I'm mostly interested in knowing what I 'have' done as opposed to what I need to do (though, I do use the latter too, especially when I'm out of town as mentioned).
For instance, I'm interested in knowing how much of any given types of food I've fed to whatever tanks. The idea is that long term this information coupled with the amount of fish I'm hatching every week + the amount of fish I'm selling every week (assuming I'm selling everything I'm hatching/raising out) can start to give me an idea of survival rates and growth rates on different feed/care regimines. So... sort of a cross between both use cases you've defined.
Once I know that, then things like forcasting sales, planing for growth of systems and making my systems/methods better and more efficient fall into line.
(I really like the fact that I refer to things like 'sales' as if I'm actually making money at this! *chuckles* Don't I wish.)
jaybro
01/12/2006, 02:24 PM
OH sorry I forgot to mention... quick note. I have an internet facing web server with a seperate sql server available if you need space/resources for this project. I can set you up a remote desktop/etc as well if needed for local access to these resources. Anything I can do, let me know.
Nicole, FWIW I'm using an Excel spreadsheet to track my tanks - charts things like water parameters, etc...I mark rows by days and time and also have a section for comments (plus all the columns for water parameters). It's downside is that it's hard to track a specific spawning event or look it up; the upside is perhaps all the graphing from the data (i.e. lets me notice trends in calcium levels, temp etc...)
FWIW,
Matt
NicoleC
01/12/2006, 03:41 PM
Jay, I have a domain and SQL Server I use as a sandbox, but I'm thinking long term. A web app requires a long term infrastructure that I am not willing to commit to.
On the use case issue, as long as livestock can be split and merged into tanks, that will work from a model based around a livestock entity. Those who want tank detail will be able to access it, those who don't can just use generic tank info to track parameters.
Rough DB structure coming up (for the technically inclined.)
jaybro
01/12/2006, 04:09 PM
I was offering it as a developmental solution, not a production solution. That being said, it sounds like you have a developmental solution all ready taken care of!
NicoleC
01/12/2006, 04:45 PM
Okay, here's the DB model. Not all the fields are in place, of course, but it shows the relationships. Highly normalized recursive designs will give you a headache to try to visualize, but it's the only structure that I think will work for ALL the items.
BTW, on the note about calendar items, that doesn't mean ONLY milestones can be made to go on a calendar. Just that you can set items to show up on calendars by default.
There are a few tables missing already -- for example, a nutrition table where you can store a list of food items you commonly use so they populate a dropdrop box for quick selection (or something like that), but since they don't relate to the other tables, I left them off.
Enjoy.
Nicole,
Sorry for the late reply. With regard to the LocationID. I was thinking along the lines of the ability to share data between people. You would need to have a way to identify the source of information.
Say for instance, you were populating your db with data, and perhaps I was populating mine, we could then share our data with each other and upon inport a new ID is created that allows us to have two seperate sets of data that we can look at.
It basically means that we can see what others are doing and keep it seperate with out having multiple DB.
Perhaps the other way is to allow the app to open a different data base rather than go through the whole hassel of structung the db to allow for multiple id's Yes that sounds a lot easier.
Your DB structure looks great.
Steve
NicoleC
01/12/2006, 06:12 PM
When you say "share" data -- what exactly do you want to share?
Experiences, Feeding regimes, success rates...... etc.
But it would be far easier for me to send to some one who wants it a copy of the database rather then the problems of an extract, import routine
Steve
NicoleC
01/12/2006, 07:47 PM
Sending a copy of a whole database will include all your tanks, customization, costs of supplies, etc. I wouldn't want that, would you?
Export/import doesn't need to be a hassle if designed properly. But I think sharing electronic data should be tabled until there's a program to put data IN. ;)
The most common item I can think of to share are a data file that summarizes a fish, for example if I buy a fish from Morgman and want to breed it, I might want to attach a record of hatch date, etc. instead of retyping it all.
Otherwise, I might want to share a report of a batch's progress or some other static report, which will really be to complex to send from one stand alone application to another. Of course, the export could be in Excel or a text file or even XML, and that could be used by almost any other program that wants to deal with parsing out the info -- for example if someone wanted to host a site that shared/compared breeding reports.
Coraldynamics
01/12/2006, 08:58 PM
Nicole, would having a webserver you don't have to maintain help you out "in case you tire of the project" then the info would not be lost. I can provide the webspace via my non-commercial website (reefobsession.com) It currently houses the Clownfish Surveys and Eric Borneman's Elegance Coral Project stuff.
It does have access to a SQL database server (surveys use it)
Thoughts, concerns? I was planning on moving the surveys to another server but have been putting it off. So I can continue to put it off for a while.
NicoleC
01/13/2006, 01:35 AM
Well, guys, Stephen has made a geneous offer, so I will put it to a vote. As you may have figured out, my preference is for a stand-alone app. I like web apps, but I don't think they are a good choice in this situation. I will probably not use any web app for this and will build a simpler desktop version for my own use, but I am willing to spend some dev time on a community project.
Here's the pros and cons:
Standalone app PROS
*Development time is faster. I can have a functioning beta version up in about a month. ETA 3 months for a preliminary, reduced function web version to be in beta.
*Your data is private, and you share only what you choose and with whom
*Your have access to your data on your own computer anytime. With a web app, you must be connected to the internet to add, change or view any records
*You can continue to use the software indefinately, even if support is withdrawn for the web site or software changes
*You can choose not to upgrade if you don't want to
Web app PROS
*Easier to share development, if person/people will commit to helping
*Immune to local computer crashes; backups are made on the server level (one hopes; you won't know for sure)
*Works on any computer with an internet connection and compatible browser
*Upgrades are immediate and easier, including changes to backend DB design, although it will require downtime
*Live data can be made available for public view
Morgman
01/13/2006, 01:48 AM
Nicole-
I think something that would be interesting about your previous idea would be have some type of linage certificate much like the AKC does for dogs.
In other words, a type of paper(or digital) that gives customers or end users some idea(as accurate as one can be) to where their fish came from and its generations of CB etc. Then ten or 20 years down the road some breeders may have some pretty deep lineages of generations of CB intermixed with wild caught species. So when they get their clowns they can say hey look the great grandparents of this clown came from ORA broodstock in the 90s that was breed with this xx clowns for 15 years etc etc.
I know this is obviously a hard thing to do in the real world.
NicoleC
01/13/2006, 02:29 AM
I won't be hard within the application itself and the DB structure supports it as outline above to infinite generations.
However, some sort of centralized registration organization would be required for it all to work together. I can just see it now... my female clown is "Nicole's Tangerine Janice" and the male is "Nemo's Adventure Jimmy." :p
Right now it's not critical, but someday when species' start getting banned from wild capture, it would certainly help produce healthy pairings to know how closely related and inbred certain fish are, or to use line breeding to produce new colors/patterns.
rsman
01/13/2006, 02:35 AM
I know "here he goes being a problem AGAIN" well :wildone: :crazy1: why not both :D
though for this scale i suspect that at least a few of the con's for the web one will not really be a problem. i also see some of the con's for the desktop version not being a problem either :D
will I use it, donno, might, ive got a LOT of records to convert, but i just might consider it, how much will I make public, probibly all of it as i dont need to hide my secrets from my neighbors :D
i dont understand you say a month to release a beta does that mean you have some kinda life or job ????
as I run quickly and far for cover :D
if your into doubling up the efforts I wont mind doing the web work to have a beta out in a month ish, assuming we can come up with a data structure that we can agree on :D, and features we can impliment in both in a beta release.
as for privacy I see it as a 2 part thing, users who used the web one would have to trust those that set it up that the information they desired to keep private was kept private, but a simple check for private box seems to work for me ???
the structure I see starts with a 2 part key a date and a system description, the date would be the date it started, then as tanks/filters .... were changed they would be added in another table [tanks] and [filters] with descriptions and dates as the PK then from there you have a [breedingfish] with date and tank as the PK if you moved the fish then a new record would be started using the origional fish and a new tank, then other tables for things like larva, rearing, growout and food sources and such.
this establishes a timeline, the timeline itself would have to be handled in SW not the DB but will be easy to impliment in either. you just start at the top "system" and filter down to whatever was connected to it. selecting all of the filters connected to system, then all the tanks, a "end date" field would signial that the tank was to stop at some point on the timeline.
i started a visio thing on it, but while i dont have a life i am stuck at work :( so my play time is limited.
NicoleC
01/13/2006, 02:43 AM
Do the Visio thing when you have a chance, Richard. What I visualize from your text doesn't support a lot of basic items and involves a lot of redundant data, and someone already wrote that application and called it "Microsoft Project," -- so maybe I'm failing to adequately interpret your vision. ;)
rsman
01/13/2006, 02:50 AM
hehehe
actually have project open right now, didnt draw the connection, but hey why not :D
this isnt going to be a HUGE database no matter how you work it a little redundancy here or there isnt going to kill much :D but im supposed to be working so I can go home before midnight :D even though this is way more fun :D
NicoleC
01/13/2006, 01:10 PM
My concerns about redundancy are multifacetted.
First, I'm a DB developer first and a programmer second, and normalization is kinda like opium to a DB developer. I can't help it; I get the jitters without it, and if I'm gonna break normalization I want a darn good reason for it.
Second, as a programmer, non-normalization seems easier to work with at first, but it only takes one logical but previously unconsidered request to make you have to go back and restructure the database and causes more work in the long run.
Third, I detest duplicate data entry. Once a person enters something, there should be no reason they should ever have to enter it again. Anything else is pathetic design. It's a waste of time and effort and this is why some people hate computers.
Finally (okay maybe not finally, but finally for now), repetitive actions stink. If you have to perform the same actions over and over to use a program, that's poor design. The program should handle repetitive tasks for you.
Not saying your schema will require that, but that's what I'm seeing so far. So do your diagram when you have a chance and shut me up.
Now, it's gotten awfully quiet in here. Ignore the geek talk if you don't grok it; this is the normal phase where developers get all geeky and have fantastic but irrational dreams about a product. Trust me, the gritty reality will kick in soon.
Requests and comments from regular users are much needed!
rsman
01/13/2006, 11:29 PM
well I'm a programmer first and DBA LAST ish :D !!!
[geek talk goes in here]
I dont see a new fish record just because the fish has been moved, I see seperate tables linking fish to tanks,
[end geek talk]
so how does everyone else label their tanks, I had(well some still are there :D ) mine labeled in systems FW1 FW2 for fresh water 1 and 2, then tanks in numbers so FW1-1 was the first tank, for FW1 that was really a critter keeper but plumbed in with an overflow and return :D so ill call it a tank
then SW1 which was clowns all clowns all breeding SW1-1 was a pair of perculas SW1-2 was a pair of clarki's and so on .....
when i refered to my notes id refere to the system being seperated by different notepads, then the tanks in my only semi-orginized state id mix up the tanks by just recording the tank number date and aprox time (sometimes that was dark or light or sometimes it was an hour, for some things i recorded minutes when it comes to specific events often in cultures like
in the folder SC
2 11:30 - 11:40 :
ran air at an increased rate hoping to clean up bottom
of culture air rate fast enough to cause foam, no cell
damage noted culture not cleaned
*** at next change clean it!
SC is my salt water cultures 2 was nanochloropsus in a 30 gal setup, ran a long time, then crashed big time, but it became clear it was going to i just ran out of time to fix it first.
but how else is everyone recording such events ????
is paper and pen the norm (its how i did it and yep im a geek :D)
NicoleC
01/14/2006, 01:34 AM
[geek talk goes in here]
I dont see a new fish record just because the fish has been moved, I see seperate tables linking fish to tanks,
[end geek talk]
Yes, in my diagram that's the tblLivestockTankLink table. You deactivate the row in the linking table, then creat a new row that is active. Physical tanks don't change; livestock doesn't change, they just get moved around, and the linking talbe builds a history.
As for a tank numbering system... I don't have enough tanks to number :)
rsman
01/14/2006, 04:27 AM
As for a tank numbering system... I don't have enough tanks to number
which is why i asked how everyone else did it, i mean its just as good to have the tank number be a string, but do you assign some name/number to each tank??
Coraldynamics
01/14/2006, 08:58 AM
Right now I am in the same boat as Nicole, not enough to number however with Bangaii, Seahorses, and new clown pairs coming online in the next month or so, I will have the need.
What I envisioned are:
Hatch Tanks (non plumbed)
H-1 thru whatever
GrowOut Tanks (Plumbed)
GO-1 thru whatever
Broodstock Tanks (Plumbed)
BS-1 thru whatever
Kinda get the idea...
I don't see a need to separate them further like B-GO1 (Bangaii Grow Out) as they could and will be used for any of the species being bred.
It's early and I ramble with coffee yet....
FMarini
01/14/2006, 11:56 AM
you guys have lost me totally.......
whatever it is you guys are doing, it sounds great. Keep up the good work.
signed
Confused
my tanks go like this:
P1A-P1R (Parent system 1, tanks A thru R)
P2A-P2G (Parent system 2, tanks A thru G)
P3A-P3H (Parent system 3, tanks A thru H)
H1A-H1CC (Hatch system 1, tanks A thru CC)
H2A-H2J (Hatch system 2, tanks A thru J)
G1A-G1E (Grow out sytem 1, tanks A thru E)
I had started running an excel spread sheet to track hatch times and days, salinity, temperature, pH, and daily and cummulative losses. But once I had more than 4 pairs hatcing it got old REAL fast, not to mention that it started to get cumbersome as spreadsheet are only two dimensional and when you need to track multiple pairs over long periods coupled with cummulative losses a third dimension is really handy.
I have saved some of my earlier work if anyone is interested (provided I can find it) and found that entering the same value for things like temperature and pH got to be a deterrent.
I have absolutely NO DBA, C?? or programming experience and can therefore only argue logically. :D
I'l chime in with my thoughts on the whole web/SA debate when I have a bit more time.
JodiLynn
01/14/2006, 08:51 PM
Wow. Didn't realize to be a breeder you needed to be a computer programmer. I'm beginning to see the connections though.
I've only taken one computer programming class in my college career and it was Java. So I'm not any help.
It would be neat if it would construct graphs, like Quicken does with your money. But maybe that's more complicated.
Whatever the end product is, I would buy it and use it! Or subscribe to a website to help support it! Seems like a very useful product yall are developing.
jnowell
01/15/2006, 02:54 AM
I'm still leaning towards the stand alone app (and I'm a web developer). I think if you build in a simple import / export function that the common (non geek) can use, we could make it work easily.
How about a sticky thread here where we can export our data and post a link to the file. That way, in a few months when I decide I want to breed YWG's, and I see that Nicole's data is online, and she is getting 80% success rates ;) I can download, import, and learn!
The interface will likely be cluttered if you have easy access to every species or breeder listed, I would usually just want to see MY data. Then when/if the need arises, I could download someone elses data for review.
In a chart or graph from a web app, a newbies data would be weighted the same as more experienced breeders. I know I wouldn't want anyone trying to emulate my first attempt, nor would I really want everyone to see how many I killed :D But if I had one hatch where I got 90% to survive, I could export just that data, and offer it up as a very good method.
< geektalk>
if ("Jason" writes it himself)
then ["Jason" gets everything he wants]
else ("Version and work" = Nicole)
then ["Jason" happily uses what he is given]
end sub
< /geektalk>
rsman
01/15/2006, 03:24 AM
well as a reality and usability standpoint, I shud get the lowest vote anyways, as in all likely hood I wont be adding anything current ever again, so it would just be off my notes. its too late for me to go back on many things and add things that I didnt put in my notes when they happened.
if the data format was easy to work around i could easily get my data to fit into any format I need (custom or otherwise)
I can handle development for web or standalone just fine, if my services are desired in that way.
Id like it so that at least it self publishes to a website certain things including summaries even if that means its just ftping up a static html page it works for me.
NicoleC
01/15/2006, 04:15 AM
Okay, I have a few non-technical projects for anyone who wants to help out:
#1 - a list of species' commonly cultured -- fish, inverts and food items
I need:
Family
Genus
Species
Common Name
Geographic Origin
#2 - A list of common pre-purchased food items
Name
Description
Manufacturer
#3 - A list of typical tank maintenance items
Name
Description
#4 - A list of typical items someone would want to log - water parameters, etc.
Name
Description
Any volunteers?
rsman
01/15/2006, 04:22 AM
what file format???
and when?
if you can wait until monday for results ill do #1, 2
NicoleC
01/15/2006, 04:50 AM
Monday is fine. This is just stuff to pre-populate tables with.
Excel, tab separated text, comma separated text... I can probably handle most anything, though.
rsman
01/16/2006, 05:22 PM
being a reef group i assumed SW but do we wanna include FW also ???
im working on the foods now
NicoleC
01/16/2006, 06:14 PM
The software should work for either, but at the moment I am not concerned with pre-populating the tables with FW stuff -- unless people here are interested?
NicoleC
01/18/2006, 12:11 AM
If anyone is paying attention:
I got a lot of work done today. Alas, it wasn't what I was getting paid for, but I was fresh out of ideas for the paying gig. Besides, that's what they get for making me work all weekend.
And volunteers for lists #3 and #4?
rsman
01/18/2006, 12:23 AM
im still working on foods, and playing with reorginizing the species, Ive added a few fields at the very least they helped make sure i was getting all the fish I knew I wanted in the list.
mostly just a common family name {clown, angel, dottyback} to just help out a little, keep it or loose it it helps me keep them orginized as I steal from others :D
and hiding from the boss people as im at work playing
Nicole,
I will pick up on #3.
Steve
jnowell
01/18/2006, 11:25 AM
Well, I was hoping someone more experienced in fish breeding would take #4, but since they aren't, I'll take it. I'll probably do the list to the best of my knowledge, and then post the CSV data and ask for additions from the smart people ;)
Kathy55g
01/18/2006, 11:52 AM
I suggest that once you are all done with your lists, you all switch lists and add what you think is still missing on other folks lists so that more great minds are at work on each list.
As a non-contributer, I feel free to make suggestions......sorry :D
jnowell
01/18/2006, 12:08 PM
Great idea! I say we all send our lists to KATHY when we get done! :P
Kathy55g
01/18/2006, 12:14 PM
If you do, you may never see them again. :D
NicoleC
01/18/2006, 12:30 PM
LOL! Thanks to the volunteers.
The lists will be customizable, but I think it would be helpful to start with common items. I mean, "water change" -- everyone does those, right?!
jnowell
01/18/2006, 04:25 PM
What is this "water change" you speak of Nicole, I've never heard of it :D
oops jason,
did #4 whilst I was doing #3.
Steve
jnowell
01/18/2006, 06:06 PM
Oh well, I only managed to get about 15 lines of #4 done, so good job. I hate meetings, and that's all I did today.
Jason
Jason,
Not sure how many lines I did but as Kathy says, perhaps you should send those in to Nicole. there might be ones that I have ntot thought of.
Steve
NicoleC
01/18/2006, 06:48 PM
Yes, please send them anyway.
NicoleC
01/19/2006, 12:05 AM
Teaser
http://i13.photobucket.com/albums/a294/nicolecastle/SPAWN/spawnhome.jpg
Nicole,
Nice, do like the look of this.
Cannot wait to see a working prototype.
Steve
Telgian
01/19/2006, 10:33 PM
< peanut gallery >
Do the automated controllers that some people use generate data that could be incorporated automaticly?
< /peanut gallery >
NicoleC
01/19/2006, 11:48 PM
< peanut gallery >
Do the automated controllers that some people use generate data that could be incorporated automaticly?
< /peanut gallery >
I wish. Somebody know the programmers that will tell me what their back doors in the code are? Or wanna talk to the manufacturers about an integration? :rolleye1:
But seriously, if any/all of these controllers have an export function, if someone will send me the results of an export file I will look at automating an import.
Telgian
01/20/2006, 12:52 PM
I've seen posts about viewing tank stats over the web, so there must be information getting to the server somehow. :D
I'll toss the question at the DIY sub forum for controllers (since I'm not a programmer, though I have been able to follow this thread):
http://reefcentral.com/forums/forumdisplay.php?s=&forumid=145
RidgeRunner
01/22/2006, 12:20 PM
I have been following this thread for a while now. A great idea and very cool teaser. I was wondering if this app will use a standard access db? I have been thinking of ways to track basic parameters. Being new to the hobby, I hesitated to buy a comercial app. Not knowing what kind of future needs I might have. A standard db opens up many options in my case. If needed I could write some aspx pages to integrate with a home automation software I use. For display/data entry,feature enhancements,etc. In any event, I'm sure this will be quite usefull. Thanks for the work you have put into it.
RidgeRunner
Nicole,
How are you doing with this? Is there anything else that we (as a collective)could help you with?
Steve
rsman
01/25/2006, 03:24 AM
I got kinda busy and just forgot to post, Ive got a good species list, plus some additional info :D
ive got some foods.
everything from hakari, tetra, ocean nutrition, cyclops-eze, brine shrimp direct, reed mariculture, marine labs, spectrum
and ive added for some a "in the wild these fish eat" ..... however its use kinda depends as i dont have as much data there.
ill be cleaning it up as soon as i can and emailing it.
CaptiveMarine
01/25/2006, 06:20 AM
I can't wait for this to come out. :eek1: Now that I've got the time and space for a real fish room (45 tanks and still adding) this will be a lot easier than the pen and paper I'm currently using. Thanks for all your hard work on this.
I don't know a lot of programming (just enough PHP and MySQL to get myself in trouble), but I do have plenty of space on a server and extra bandwidth if you need it for others to download it from.
NicoleC
01/25/2006, 12:45 PM
Sorry guys, but I've been too busy with the software that pays the bills and the baby fishies to get much more done on this. I haven't forgotten though.
Wish I had room for a fish room, Jim...
Coraldynamics
01/25/2006, 01:16 PM
<a href=showthread.php?s=&postid=6580915#post6580915 target=_blank>Originally posted</a> by rsman
I got kinda busy and just forgot to post, Ive got a good species list, plus some additional info :D
ive got some foods.
everything from hakari, tetra, ocean nutrition, cyclops-eze, brine shrimp direct, reed mariculture, marine labs, spectrum
Just a note to ensure PE Mysis is in that foods list. Staple for my breeding pairs and juvies.
NicoleC
01/25/2006, 02:08 PM
Hmmm. I have a food list (which can be customized) which says manufacturer, but I did not come up with a way to say something like "mysis" and then pick a brabnd.
I figured more people would have preferences (like PE mysis), but those that don't can leave the manufacturer field blank and just have generic mysis. Or, folks that want to keep track by brand can specify multiple records for mysis.
Kathy55g
01/25/2006, 02:48 PM
Is PE mysis better than regular mysis?
NicoleC
01/25/2006, 03:10 PM
It's smaller, and I have heard very good things about the quality. I have Jehmco mysis, which is big but seems to be very high quality.
Kathy55g
01/25/2006, 03:47 PM
The PE mysis at my LFS is huge, and you have to buy a large quantity. That's why i ask. How can they make it better than it is....
NicoleC
01/25/2006, 04:14 PM
You should see the block from Jehmco! Someone got a portion of a block from someone else, then chiselled me off a block of that, and I think I have like 2 pounds!
From their web site:
* It's a freshwater Mysis (Mysis relicta). This eliminates the possibility of parasite or disease transfer to marine fish. Also, it has been lab tested for all of the primary disease that can occur in shrimp species and shown negative results (documentation available).
* As fish don't need to eliminate excess salt, it's easier on their systems. Most other brands offer a coastal, or marine cousin of Mysis relicta.
* PE MYSIS are alive on harvest (due to our unique system).
* That's why PE MYSIS is clean and intact
* It is immediately flash frozen in this premium condition.
* There are no binding agents, fillers or water added
* PE MYSIS is nutritionally complete. It does not require the addition of vitamin or color enhancement products.
I was in correct, they offer different sizes of mysis. The smaller size is about half the size of the mysis I usually see. (They also have small packages; I guess your LFS doesn't carry that size.)
You can buy it online (from Stephen above, among other places) or they have a retailer finder on their web site:
http://www.mysis.com/index1.html
Coraldynamics
01/25/2006, 09:36 PM
If you can find it local you are better off. Shipping is expensive.
I didn't intend to make this into a Mysis thread... :D
Thank you for making a brand available, that was what I was hoping for...
Thanx!!
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.