Welcome AnimalTrakker tm

Making my original concept of LambTracker for sheep expandable to cover other species now means it really needs a new name.

It’s not just for sheep any more. So, the whole system is now AnimalTrakker and will be trademarked. AnimalTrakker can handle Cattle, Horses, Donkeys, Sheep, Goats and Pigs. At this point there are several different applications that will make up the full AnimalTrakker system that covers everything from herd or flock individual records (LambTracker Mobile for sheep and AnimalTrakker Mobile for other species), AnimalTracker Farm Desktop for producing reports from your mobile data, AnimalTrakker Desktop for population analysis and AnimalTrakker Web data entry for people to send in population data for analysis.

Python Education Proceeding

But OH SO SLOWLY!!!!

I am still really having problems wrapping my head around position and text formatting being an important part of the actual code rather than just space.

Handwritten functional spec is done but only I can decipher my handwriting and so it’s not yet up for review. Next month maybe.

Tkinter or more properly tkinter (for Python 3.7) is built in but not very intuitive. I’ve been coding a lot of test things to see how it all works to get and display data from a database since that’s a big part of what LambTracker needs to do. Making slow but steady progress.

More Species and Desktop Version in Work

There have been a number of requests to expand LambTracker into handling species other than sheep. I am slowly working through the tablet code to allow for use with cattle, goats, pigs and horses in addition to sheep.

Work is progressing on the desktop addition to LambTracker. After numerous aborted attempts at including the reporting functions within the Android program it’s become clear that LambTracker requires a much more robust desktop addition to read the same database from the tablet and do more complex reporting and updates.

I did several test programs trying out various languages and user interface systems. The goal is to write one program that can run on Macintosh, Linux and Windows operating systems with little to no modifications. The winner, after much gnashing of teeth and hassle is Python 3 with Tkinter for the UI output. That seems to provide the most consistent interface across all 3 major operating systems with the same code. There are a number of problems to be solved with the transport of the database file to and from the handheld. I do it routinely now but I use the command line and for the average user that is difficult. Synchronization is not going to be provided at least initially so it will be a manual replacement of the database from the tablet to the desktop and vice versa.

A detailed functional spec is being worked on now that will describe the operation of the desktop system in excruciating detail including screen designs and detailed UI notes. My best guess right now is that the functional spec won’t be completed until the end of the year and coding will primarily happen this coming winter.

As soon as the spec is in a more stable format I will be posting it up in GitLab for comments and ideas before I start major coding.

Hardware History and Future Changes

LambTracker has always been focused on providing inexpensive options for shepherds wanting detailed individual records using automated systems and including the ability to use EID tags. We’ve changed hardware several times and I thought it would be useful to look at the history.

Initially our field use handheld was a Nabi Jr. This small relatively inexpensive for the time, Android handheld was designed for kids and had a nice fairly robust case. This worked for a while but the small screen size became an issue especially as we started tracking and collecting data on drugs given, toe trimming and many other management tasks. It was very hard to read the information on a given sheep as the lists could get long and scrolling was not the easiest way to navigate the data.

Our next device was a Kindle Fire table. These worked really well. We were able to source a nice tough case that was great for outdoor use and had a great handle too. They are very inexpensive at about $50.00 each and had a large enough screen so that we could easily fit the new features onto the system. Some things were getting harder to read but overall they have worked well.

Sadly they have suffered from a severe problem with the USB connector. It breaks. Ken repaired them but that is a one time per tablet fix. The design itself is a bad design. Over time the simple case of plugging the USB connector in and out many times will eventually break the connections on the board. When that happens the tablets cannot connect via USB anymore. Sometimes they cannot even be charged up. Amazon has been unwilling to do any sort of redesign to improve the USB connection.

The newer Kindle fire devices would be perfect, except they suffer from the same USB connector problem for one thing and more importantly, they cannot be rooted so that we can actually run LambTracker on them anymore.

We started on a search for a suitable inexpensive tablet computer that we could use for the next generation of LambTracker handhelds. Most of the tablet manufacturers have gone to having many more features than we need with a resulting high price. Our target is a tablet for less than $100 including at least some sort of semi-rugged case. We need a tablet with a 7-8 inch screen to handle display of critical sheep information in the field.

Right now we are testing the new Onn 8 inch Android tablet available at Walmart. So far the only issue is that the battery life appears to be a bit shorter than we’d like. They are reasonably priced at $64 each and have all the features we need for LambTracker. We have not yet used it in the field so there may be issued we are as yet unaware of but it’s working on the bench.

If you know of an inexpensive Android tablet please, let us know.

Major Database Changes

I’ve been working behind the scenes to prepare for a major update to LambTracker that will introduce many new features.

The biggest changes include full tracking of feeds, ownership and locations.

As a result of these changes the first step has been to add a number of new tables in the database structure. Designing that structure and getting it working has taken far longer than I expected.

Unfortunately, the additions and changes will effectively break all existing LambTracker code.

I am making a new development branch that will use the new database structure. I have started documenting what I need to do and have over 200 individual areas identified that need updates or changes to work with the new structure. To see the new structure in the code you can check out the blank lambtracker db file that is in the assets section. Once code changes are made I can merge things back into the main develop branch.

Of course complicating this all is that we are just weeks away from shearing and vaccinating which will be followed by lambing. I need LambTracker to be working to collect data and document all these procedures but it is unlikely that I can get all the code changes made before we start.

I have updated the blank spreadsheet files that are used to fill the new database structure when you first start using LambTracker and need to add in the historical data. That repository is now up to date.

Back Working

It’s been a long time since I posted. For the last couple of years we’ve been using LambTracker for all of our sheep tracking and data gathering. Lots of things need improvement and my list of enhancements I want to implement is getting longer every time we use it but overall it works well. Other projects took priority so nothing much was done on LambTracker to change the basic functions. I developed some workflow workarounds to cover the major bugs that impacted us and the enhancements, while nice, were not critical.

Well that has changed now.

First major change is that I’ve moved the development system off of GitHub to GitLab. With Microsoft buying GitHub I could not stay there. So all new work is on my GitLab account.

https://gitlab.com/users/OogieM/projects

The latest big feature addition is that we now have a bluetooth scale and can send weight data directly to LambTracker. It’s still in work, today is the first time the new code will encounter the sheep as part of the yearly evaluations but it worked well during routhine sheep management tasks.

Minor bug fixes

Got a few minor bug fixes done. Corrected calculation of the age of the sheep when putting in a carcass weight. The sequence is you must first remove the sheep and then do the evaluation with carcass as the only item being evaluated.

Working to get the test database populated with sheep.

Federal Flock Inspections

Annual flock inspection went well. Discussed a bunch of potential user interface and use case options with our veterinarian. I still did all the queries to produce the reports by hand but developed some new query code that provides more of the information in a better format. Trying to decide on a system for using GitHub to store/update Query code so haven’t pushed any of the new queries up yet. I don’t want todo all individual files but that is easier to update on GitHub. DEVONThink is easier for me to use while I am developing and testing code but almost impossible to put on GitHub. Scrivener seems like a decent compromise but is more difficult both to use in development and to update GitHub. So still looking for a better option before I spend too much time on implementation.

Shearing Bugs

We used LambTracker during shearing to print labels for both wool samples and fleeces I saved for sale. Found a few bugs and worked on them. Now trying to clean up stuff for the Federal Scrapie Flock Inspection.