Skip to content

Latest commit

 

History

History
149 lines (74 loc) · 21.2 KB

p4.md

File metadata and controls

149 lines (74 loc) · 21.2 KB

P4: Final Report and Presentation

Executive Summary

Tracking and managing the genetic history of breeding animals has long been a practice of man, and yet, since the written word, our methods for tracking the genetic history of animals has evolved less than many of the animals themselves. Our goal is to change that with AGA. AGA is designed to be relatively simple, yet powerful app that allows breeders to track the genetic history of their animals and avoid inbreeding.

Before starting the design process, we used a "triangulation" method to choose complimentary user reseach methods. A breeder was interviewed that gave us great insight into just how archaric the animal breeding world still is. We analyzed the historical context and methods used to track breeding animals, and we studied the competing products on the market to ensure there was a place for ours.

With our furthered understanding of the subject, we decided on several critical features and functionality of the app, the users must be able to: add a detaied animal profile for each of their animals, browse for other breeding animals with specific traits, and be able to calculate the inbreeding coefficient between two animals so as to avoid the risk of inbreeding. From here, we developed several prototypes that allowed us to pick a good and simple design for our potential users.

A heuristic evaluation of the prototype system was then conducted so as to clear out any major bugs. Most of the errors we found were quite severe in implication, but quite minor given that it was only a prototype. The most major error we identifed was that a user could select the "Facebook Login" option and be allowed to login to the app without being prompted with any sort of verification dialogue.

Introduction

Animal Genealogy Application, or AGA (as of yet, otherwise unnamed) is a mobile application on the Android platform that aims to streamline family tree tracking of animal genealogies, and simplify inbreeding coefficient calculations, for professional and hobbyist domesticated small animal breeders. It is intended to be a lightweight application that can be run on any android platform using a visually lightweight UX to simplify and streamline the task of genealogy bookkeeping. AGA was developed in collaboration with the American Kennel Club, with the aim of reducing the issue of genetic stock shrinkage in purebred dogs, and improving communication between owners and registry. Long term goals of the application also include full implementation of a “social media” type of network between breeders that will also include search functionality of animals for studding or showcase. The aim of this is to increase ethical transparency of small-scale breeding operations by encouraging community between breeders.

Design Problem

To design an easy to use piece of software that keeps track of animal genealogies at a consumer level.

User Research and Findings

Research Method Triangulation

3 types of user research methods were used to conduct user research into the field of animal genealogy: Interview (Ask) , Historical Analysis (Learn) , and Competitive Product Survey (Learn). It was difficult to contact established breeders and veterinarians on short notice, and so only a single interview able to be conducted. In contrast, because there is a well recorded tradition of animal breeding due to the establishment of many purebred registries, it was significantly easier to look into historical records of breeding methods and habits, utilizing the Historical Analysis method. In addition, because this app is aimed at a very specific niche market, it is very easy to research any direct product competitors available to animal breeders. Thus, the Competitive Product Survey was chosen as a counterpart to the historical nature of the Historical Analysis method.

Interview – Ask

The team conducted an interview with a cat breeder affiliated under The International Cat Association in order to gain an introductory understanding of the culture surrounding registry breeding. It appears that under the TICA, much of the pedigree information that is necessary for the operation of breeders is difficult or impossible to obtain, taking weeks by traditional mail. There is a large problem with finding the reputability of breeders their animal registry status, and the information that can be found is communicated slowly and subject to privacy issues. It seems that a large part of breeder information is passed by word of mouth because there are no adequate listings for registered breeders under the TICA. Most cat breeders are older, which may suggest why the industry has been slow to adapt; however, there is demand for an animal genealogy app because there is nothing else available.

Historical Analysis – Learn

Modern styles of breeding imply extensive record keeping, and so the use of historical analysis offers a uniquely detailed outlook on breeding trends over the last century. The historical analysis was conducted using both historical resources on the origin of purebreeding, and statistical genetic studies of pedigree stock in different species (primarily dogs) to determine common trends and a possible connection of inbreeding coefficient and time. This was done to determine the relevance and potential effectiveness that this app would have in the field.

Tracing historical roots back to the Victorian era, the traditional attitudes in pedigree breeding have carried forward into contemporary practice. leading to dangerous lack of diversity in many species. particularly in dogs. In academic studies of population structure and inbreeding from pedigree dogs, there were extremely inbred dogs in nine out of ten breeds examined, corresponding to about eight generations. For seven out of ten breeds, >90% of unique genetic variants are lost over six generations, genetic diversity that is crucial to the vitality of successive generations. As time increases, there are additional generations of ancestors recorded, and so the inbreeding coefficient tends to increase. This is a trend that is roughly constant over generations regardless of breed, indicating little change in mating patterns and thus, the breeding practices of pedigree breeders.

This has ripples beyond the registry and breeders, as pet insurance providers and pet owners are also affected by the lack of healthy genetic stock within breeds. 48% of veterinarians advise against choosing certain pedigree dog breeds because of expensive and borderline unethical predisposed health issues. An application that could easily calculate the inbreeding coefficient between animals of many breeders, small or professional, would be a very useful tool in helping to prevent any more loss of diversity.

Competitive Product Survey

The products evaluated for study are other pieces of software that could possibly be used for animal genealogy tracking. The majority of animal genealogy software and applications available to the public are dated, unintuitive pieces of software that run on clunky, esoteric interfaces that are both difficult to learn and master. There is some genealogy software available for visual family tree mapping available, but most of it appears to be for large scale genetic tree visualization in academics, not for pedigree breeders.

User Research Conclusion

The need for technological advancement in the field of breeding is staggering. Breeders are traditionally older, and so lack the needed tech resources to bring forth genealogy tracking for breeders into the smartphone age. There is a significant market niche for this type of application as the community has lacked significant technological development resources since early 1990s. The timeline of offerings for animal genealogy software is marked with a brief saturation of now-outdated software and newer software that promises modernity but lacks in usability and heuristics. Furthermore, there is a significant communication gap between breeders and registries, presenting a secondary design opportunity for implementation into the AGA software.

Inbreeding is and has historically been a problem for breeders, and many breeds have been reduced to critical genetic stock levels, resulting in predisposed health issues and high breeding coefficients caused in large part by overapplication of traditional breeding practices. Facilitating better communication between breeders and registries, and producing easier genealogy tracking methods to single breeders, show promise in helping to prevent further issues.

Design and Justification

AGA is designed to present animals in an easy to view, navigable family tree that has “profiles” for every animal. Every animal can be directly verified through the app to their registry, eliminating a large amount of slow paperwork that registering animals currently involves. AGA allows you to search for other animals and breeders for show or stud. This facilitates communication in local breeder community and will lessen the genetic shrinkage brought by excessive use of siring pedigree show winners because of lack of available studding.

AGA is intended to be simple, learnable, and accessible to everybody; particularly because a large part of the user group is older and less versed in smartphone technology. The primary function of the app is genealogy mapping and the design of the app reflects this. The home page is a view of your own animal family tree, with a floating button option to add another animal, presumed to be the most used function for a breeder. Other sections of the app are based on tab functionality, which allows the user to easily access all parts of the app without functionality being hidden behind a hamburger menu.

Adding an animal profile to the family tree:

The actual adding of an animal is a single-page affair, designed to be easy to exit but also to proceed. Because all of the relevant info to be added is on a single page, there is reduced chance for the user to slip and forget to add information because they are not prompted. The single page also gives the user a sense of control over the information that they are adding to the app, discouraging the user from withholding information out of fears of privacy. The information boxes are drop down menus or radio buttons wherever possible to simplify database issues and to reduce mistakes. The option to register your animal is default unchecked, and the prompt to enter a registration number is given when the user wishes to specific that their animal is a registered purebred. If the animal registration does not verify, the user is unable able to specify that their animal is a purebred to others. When the form is done, the user is taken back to the home view and is immediately able to view their animal and determine whether the addition was successful.

Browsing other animals:

The user can click on the tab for browsing other animals and is presented with an interface unique to that tab, making it very clear which mode they are in. The user is presented with a search bar where they can search for other animals and filter/sort them based on breeder distance, characteristics, and other options. When the user finds an animal they are interested in, they can click on the profile and be taken to their profile page. On that page the user can see the full details and pictures of that animal. The profile page can easily be exited out by clicking the back button to return to the search results where the user started from, ensuring that they do not lose their search progress.

Calculating Inbreeding Coefficient:

The user can calculate inbreeding coefficient of either their own animals, or an animal of his own and another breeders animal. Because the registry is natively tied to the app, and registered animals are required to present at least 3 generations of full purebred genealogy, there is a huge amount of genealogy data in relatively complete form that the app can draw upon. This eliminates the guesswork out of selecting an animal to breed with, as well as gives the user a very simple way of working with a very large amount of tedious data.

From their own home menu, the user can select two animals and instantly be shown their connection and inbreeding coefficient. Or, the user can navigate to another animal’s profile and calculate the coefficient from that profile, selecting their own animal from the coefficient calculation menu drop down selection. This ensures that the user is sure of which animals they are selecting from when calculating the coefficient.

Heuristic Evaluation and Findings

The team heuristic evaluation identified a number of bugs and heuristic issues that could cause mistakes.

Major issues that we identified:

  • When adding an animal, both “Male” and “Female” radio buttons can be selected at the same time and cannot be un-selected.

    • Heuristic: Error Prevention

    • Severity: 4

    • Page: Add Animal

    • Justification: If a user adds and animal with both the “Male” and “Female” radio buttons selected, undefined actions and errors may occur and propigate issues throughout the entire system, especially since the database will need to check the gender of animals when searching for compatible breeders.

    • Solution: Link the "Male" and "Female" radio buttons together so that only one can be selected at a time, and add error handling conditions to the database to allow the database to function even if there is an error such as this.

  • The “Facebook Login” button logs the user in without prompting them for any sort of authentication.

    • Heuristic: Consistency and standards

    • Severity: 4

    • Page: Login

    • Justification: Allowing a user to login to the app without prompting them for any sort of credencials is a serious stability and security issue. If a user logs in this way, would they have a unique user ID? Would all of the information they entered be lost once the app closed? Could you gain access to someone else's account by logging in this way? The fact that any of these questions must be asked is completely unacceptable, and this problem must be resolved as soon as possible.

    • Solution: Link the facebook login button to Facebook's API, and ensure that there is no way to login to the app without entering valid credentials.

  • You can go through the process of adding an animal without filling out any information about it.

    • Heuristic: Help users recognize, diagnose, and recover from errors

    • Severity: 4

    • Page: Add Animal

    • Justification: This app is meant to help breeders find other breeders and track the genealogy of their animals, in the world of purebreeding, it is absolutely essential that breeders have as much information about the animals that they are breeding as possible - allowing people to add animals without filling in relevant information about said animals completely defeats the purpose of this app and service.

    • Solution: Do not allow users to add an animal without filling out all of the relevant information about said animal, especially if it is being listed as a purebred.

  • When an animal is selected from the "Animal Overview" tab, it cannot be un-selected.

    • Heuristic: User control and freedom

    • Severity: 3

    • Page: P2

    • Justification: This is a serious usability issue for the user, not being able to unselect an animal will either cause serious confusion/frustration or errors with the code for the intended function (checking the breeding coefficient of two animals).

    • Solution: Make it so an animal can be unselected by tapping on it again, and do not allow the user to select more than two animals at once.

Recommendations for Next Iteration of Design

A fully dynamic family tree and scroll was not implemented fully in this iteration, and plans for the next immediate iteration of the design should include this implementation in full as it is the primary functionality of the app. This is the primary goal for the next iteration of the app and is feasible. Implementation of this could make use of the Google touch special navigation framework, the style of which is most popularly used in the Google Maps Navigation iphone/android apps. The navigation feature should aim to use the Schneiderman principals of heuristics for spatial data presentation.

Possible issues raised also included privacy issues for breeders not wanting to make certain animals or information public. A fix for this would be to allows users to set their own privacy settings of profiles and animals, similar to privacy settings found on social media network giant Facebook. This is a simple fix that would turn animal searchability off depending on the privacy settings, and can be done by the next iteration.

Issues regarding of secure login credentials were raised during the heuristic evaluation. Given that sensitive personal information is in the app, two-part security authentication as well as the possibility of secure data encryption are suggested as possible improvements on this issue. Two-part security authentication is feasible by the next iteration, but is only a secondary goal behind the primary goal of family tree implementation. Two-part authentication should be implemented by the third iteration. Secure data encryption libraries are available for use for small applications and allow this fix to be feasible by the third iteration. However, sensitive data such as registry numbers and personal information warrant the possibility of third-party privacy contractors for large scale data encryption, given that the app is being designed with the American Kennel Club registry and will need large-scale database implementation.

Currently, there are not enough sort and filter options for search results, and as such is it difficult to search for animals that will meet specific enough requirements for possible breeding. The immediate fix for this is to increase the options given for the filter and sort menus. A secondary fix for this is to add a “message the breeder” button to all profiles, to contact the breeder and setup further communications and meetings directly from the profile. This is feasible by the next iteration and more filter and sort options should be implemented, though they are not the primary goal.

There are consistency issues with the selection of animals for inbreeding coefficient calculations for the user’ss own animals and the user’s animal with another breeder’s animal. The selection from the user’s own animals is simple, straightforward, and provides immediate feedback. However, the selection of another user’s animal for inbreeding coefficient calculations involves a completely different series of steps and GUI interaction, which is confusing. A possible fix for this is to make both types of selection more similar. One way to do this is to give the option to add another breeder’s animal to the user’s own home family tree of animals as a type of “ghost” entry, a selectable and viewable animal profile that can be interacted with in the family tree for coefficient calculations, without actually being a part of the user’s own animals. The distinction between this entry and the user’s own entry could be done by using different colours for different animals belonging to different breeders. This will require restructuring of the dynamic family tree view, and while the base fix is doable by the next iteration, it is more practical to wait until the dynamic family tree is full implemented before adding.

Long term goals for AGA involve the full implementation of a messaging system between breeders, and search capability for different breeders, not just for animals. Links or a button that allow the user to navigate to the breeder page from their animal would allow more seamless integration of this functionality into the existing app, and increase the user freedom and functionality. This is not feasible for the next iteration of the app but is given as a directional guide for development, and will be revisited in the second or third iteration after full dynamic family tree functionality has been implemented.

Conclusions

In summary, inbreeding presents a large problem on both an ethical and financial issue for breeders and the animal industry as a whole. There is a wide niche for the AGA application and opportunity to be implement the original design problem as well as expand into communications between breeder-to-breeder as well as breeder-to-registry. The AGA app is on it’s way to providing seamless animal genealogy tracking and breeder networking while remaining lightweight and accessible for the target users. AGA has the potential to be the first of its kind in an industry devoid of natively driven technological development.

The current iteration had some bugs and design issues but provides a good framework for core bits of functionality for the primary functionality of genealogy tracking and breeder networking. Suggested fixes for the bugs and design issues are given for the next iteration of the design, and the long-term development goal of the app is also suggested given the current iteration functionality. The next iteration of the design should primarily be focused on a full implementation of the dynamic family tree, with minor tweaks to the privacy user settings and sort and filter options as a secondary goal, and minor bugfixes as a tertiary goal. Minor bugfixes will be ongoing throughout all iterations of the design, and so this should be the last priority.