On Animal Shelter Manager, Software Development and Animals with Robin Rawson-Tetley

I have met with Rob while I was looking for an animal shelter management program on internet. I have seen Animal Shelter  Manager on sheltermanager.com, which is an open source software program, having lots of functionalities. I have translated the program into Turkish, and asked him to have an interview. Here it is...

Animal Shelter Manager

Could you tell us about yourself? 

I'm from Rotherham – a rough industrial town in the north of England. I've developed software since I was about 6 years old and professionally since I was 16 (I'm 38). I live with my wife, 5 cats and a dog. I'm a keen amateur photographer and musician, playing guitar and piano for 20 years.

I read at your website you were a volunteer at your local animal shelter. Why do you become a shelter volunteer?

That was how ASM started, in 1998 my best friend asked if I could help with our local animal shelter. I developed some software for them to handle booking in and adopting out animals. I also taught him some sysadmin skills, got their website up and running and donated computer hardware (among other things).

I also read you are a fosterer. In ASM, there is a foster management feature, too. I haven’t known that system before translating your program. Could you tell us about foster system that is applied in your country?

It's very straightforward – shelters only have a limited capacity or some animals (in particular newborn kittens and puppies) need constant care that can't be provided at a shelter. These animals go to fosterers – people who volunteer to care for the animals in their homes until they are healthy enough to be adopted. To be honest, my wife does most of the fostering but I help out when we have young kittens and night feeds, etc.
Rob's Cat:Romeo

What are your opinions about animal rights ?

The more the better! England is considered one of the better world nations on animal rights, but there is still little punitive measures for  people who commit the worst kinds of animal cruelty. They generally get a fine of upto a few thousand pounds and an unenforceable ban on owning animals. There's no jail time – and lets remember these are people who put kittens in microwaves and drown puppies (and yes, I've heard of both happening and fostered puppies who survived in a sack on a frozen canal).

What is ASM and who is it for? What are its main functionalities?

ASM aims to help anyone who cares for animals. Generally, these are traditional animal shelters, rescues and fostergroups (organisations that have no central shelter but are instead groups of volunteers caring for animals in their homes), up to council animal control facilities and police departments.

ASM's main function is to track intake and outcomes of animals, manage their dietary and medical requirements, handle shelter accounts, fundraising and donations, complaints/incidents and pickups for those doing animal control, equipment rental, licencing and publish adoptable animals to the web and partner websites to get maximum exposure for animals. It tries to do everything in one complete package.

You have been developing ASM since 1998. Why do you start and continue to develop an open source program about animal shelter management?

I started it as a favour to a friend. When it got to about 2002 the internet was suddenly very popular. I never intended to make any money from ASM and I gave away the software for free on the internet (I'm also a big free software enthusiast). Once so many were using it, I was honour-bound to maintain it and look after it, so it just kept going from there.

In lots of shelters, after bringing an animal to a shelter, they could not find where the animal is located.With ASM, is this problem solved?

ASM does track where animals are within the shelter. It has a “shelter view” screen that subdivides animals into blocks and subunits to give a good overview. You can quickly pull up any animal by any criteria and see its full details and where it is located.
I read a statistics that people who left animals are mostly shelter adopters. In ASM, there are lots of reports full of statistical data about animals and people. Could you tell us reports briefly?

That's a little more difficult! ASM has a repository of at least 200 pre-made reports and that number gets bigger all the time. They track things like overall intake and adoptions each year, number of animals euthanised, breakdowns of reasons animal entered the shelter or were euthanised, etc. Many statistics and figures can be generated including things like the most common names or a map of areas that animals most commonly come from.
In ASM, people can keep track of animal abusers, as I understand. Also, they can be charged. In Turkey, violence against an animal is not a crime, though it has fine around 50£, but the act isn’t recorded in his criminal history. In your pogram, there are at most 3 offences that a person has. What does that mean, and what kind of punishments are applied to customers?

That's just the default data and can be changed. That area of the system is really for the US city animal control facilities. Over in the US, it's the city's job to handle animal control and prosecuting people. Offences are usually state/city specific over there and those offences are later edited by them to match their own penal code (eg: 301 Car left in vehicle, 401 Animal at large, etc).

Could we use ASM as an appointment system? Ex:”I have a dog to be neutered/spayed. I’d like to enter the system and fill a form to get an appointment for surgery. Is this doable?

Yes, there's a general diary to accomplish this and we have a clinic interface planned for a future release.

Could you tell about the Technologies and architecture you have used while developing ASM? 

ASM has gone through a few iterations. In 1998 it started out as a Visual Basic 6 prototype with MySQL backend. In 2000 it was rewritten in Java/Swing with MySQL. In 2007 I started sheltermanager.com for people who struggled with setting up ASM on a network – it had a PostgreSQL backend and used the Java/Swing UI in an applet.

In 2011 I started rewriting ASM again to become a pure web application with an HTML5 interface. I could see the way things were going with mobile devices and knew that the Java/Swing UI would soon become obsolete. I rewrote ASM3 with a Python backend and using JQuery UI/mobile for the user interface. The PostgreSQL backend was upgraded but remains as it's the best free relational database product available (but harder to setup, which is why MySQL is the default with the open source distribution).

The new HTML5 interface was launched in 2012, by which time we had enough customers that sheltermanager.com subscriptions could just about pay my salary. We setup a limited company and I quit my full time job to work on ASM exclusively.

What are licensing terms?

ASM has always been GPL. First v2 and later v3 when it became available. I'm a big free software advocate and have used nothing but free software on my own machines since 2000.

You have recommended “Cathedral and Bazaar” by Eric Raymond. I have remembered  the time Richard Stallman was in Turkey.  Who are they , what are their philosophies about software development? What is free software ? Do they effect you? Why do you choose their side and not the dark side?

You're probably better to read their own words on the subject of free software as they could state it much better than me.

There's a good reason I chose free software for ASM – it's a better model! We make money from the services we provide to customers – the support, the convenience, backup  plans, etc.

Giving away the software serves as an advert – we get a lot of customers who set it up themselves and then want someone else to manage the upgrades and everything for them so they switch to hosting. Or someone sets it up for their shelter and then disappears/doesn't have time to look after it so they want us to take over. Once they're using the software, they want to keep using it.

Giving away the software is also a form of future proofing - people don't feel locked in because they can take their data from our servers at any time (without having to ask us) and use it with a local installation of our software. Should anything happen to our business, they can always get at their data and actually use it, they could even employ another software to develop something on ASM if they needed to and we were no longer around. That's a big selling point and I think people are a lot more careful about the future these days.
"Given enough eyeballs, all bugs are shallow", Linus Torvalds said. I would like to learn about your software development life cycle. Since ASM is an open source Project, is there a regular team that contributes to codebase?

There are a few guys around the world who dip in and help out with some areas of functionality or translations (like yourself!). I still do most of the development work and I'm currently training up an employee to help me out as I get spread a little thin sometimes.
Could you tell us about software collaboration platform you use? Atlassian, VSTS etc are very popular here. 

We're using launchpad.net. Every so often I think about changing it to something we self-host instead, but it works, has enough features we need and our time is usually better spent on developing ASM.

You said at your homepage that users tell you what they need and ASM has evolved. How do they contact you? Do they use sth like JIRA or send emails?

Yep, they can submit feature requests/bugs through Launchpad or email us.

What are the other projects you have developed for animals or related to ASM? Are they open source, too?

There was an open adoption website tool I built years ago. Unfortunately it was a little too ahead of its time and never really gained traction. That's open source. Everything I build is open source – I wouldn't want to run anything I didn't have the source to, so I don't expect anyone else to.

I helped the same friend develop a clinic/vet package too, some of the ideas from which have been pinched and merged into ASM's drug/stock module (and future clinic interface). That's open source too, called “Evette”.
 How do you manage code quality acc to your standards? Do you have code quality standards and how do you manage it?

I do it by going over every patch and making sure I'm happy with it and that it conforms to our coding standards! It might not scale so well if I got a lot of patches, but for now it works.

If we come across a bug,  how could users communicate with you?

Raise it on launchpad or email us.

ASM has two options to be used: hosted or installed. Let’s assume, I am not literate about Linux World and a Windows guy. What are the steps to install this software? OS, DB, servers etc

Well, we don't support Windows so that's an easy one! If you have a Debian-flavoured Linux distribution you download and install the deb file. It will pull in MySQL and everything it needs. All you need to do is create a database in MySQL, then edit the sitedef.py file and put in the database info. There's a README included that gives exact instructions. Other unixes require you to setup a python environment (details of what to get once you have pip installed are included in the README).

If you want to use the old ASM2 Java/Desktop software (which is available for Windows and Mac too) then it has a traditional installer you can run and it just works. It uses HSQLDB so everything is pure Java. It's not nearly as feature rich as ASM3 though and being a desktop app does not work with tablets and smartphones like ASM3.
You said in ASM’s page, you have a roadmap for years. Is it public? How can we contribute to it?

Yep, it's all in launchpad as an agile backlog. The milestone is sheltermanager-backlog. We usually track the next two release milestones there as well. Releases are ready when they're ready, but we try to do 3-4 a year.

We often have heard that in Europe there are no stray animals. Besides, there is Bob- the stray cat phenemenon.  Is this true? Are they killing all stray animals there?

Well, I can't say for other European nations but there are LOTS of stray animals here in England. Terrible owners are all over the world. They certainly aren't killed though. Here in England, they are picked up by the RSPCA inspectorate, given medical care and rehomed (or euthanised if they are too sick/aggressive to be rehomed which unfortunately happens). For feral cats lots of shelters have a policy of trapping, neutering them and then returning them to their colony to finish their lives. I think this happens a lot in the US too.

Do you have any messages to the people that are listenening to you?

Sure! Please don't buy animals from breeders. There are millions of wonderful, innocent, unwanted animals in rescues around the world who desperately need homes. Many of them are on time limits.

Hiç yorum yok:

Yorum Gönder