Team:Michigan Software/Improve

Improvements



ProtoMetrics


     To read more about ProtoMetrics, please check out our Measurement page.

ProtoChat


ProtoChat is a messaging service built into ProtoCat to allow users to contact one another directly, as opposed to leaving comments on a protocol. Users have their own inboxes, where they can keep track of messages as they arrive, and respond to them. This can be used to communicate between collaborators of a protocol, or between researchers in order to share ideas prior to publishing them to ProtoCat.




Protocols.io Import Tool


     To read more about our import tool, please check out our Human Practices Gold page.

Visual Protocol History


     ProtoCat enables users to 'version control' their protocols; anyone can create a variant of a protocol and make modifications as they see fit. However, once multiple revisions are made, and the subsequent tree of protocol revisions gets unruly, it can be quite difficult to figure out which version one should be using. In ProtoCat 3.0, the only way to navigate through a set of protocols was to do it one level at a time, which was incredibly arduous and hard to keep track of. To address this issue, we have created a way for a user to view the history of protocols visually to make navigating to the best version of a protocol as efficient as possible.

     Protocol nodes are color coded from red (1 star) to green (5 star), and are transparent should they be hidden from search. These visual cues, in addition to the tree diagram, makes finding a well-written, tested protocol much easier. On hover, a user can see the title, author, and change log of that specific version of a protocol.

Favorite Protocols


     ProtoCat allows users to find protocols for a variety of disciplines, and gives easy access through an online catalog. However, a Primary Investigator may want his/her students to only use specific protocols that are, for example, optimized to the equipment in the lab. This PI could send everyone in the lab a link to the protocol that should be used, but what if a new version of the protocol becomes available? In addition, every time the PI finds a new protocol, it needs to be sent out to everyone in the lab. To address this, we have built a favorites system into ProtoCat, which allows users to signify a select set of "favorite protocols". Now, the PI only needs to update his favorites, and then when the students check the favorites section they'll find the new protocol.

Group Accounts


ProtoCat 3.0 enabled users have accounts, with which they can establish an identity in the ProtoCat community through uploading protocols, leaving comments, and rating other users' protocols. In ProtoCat 4.0, we've expanded these capabilities to include favorite protocols as well. However, what about organizations? Suppose we had the head of a lab who also works with a company? It would be difficult to separate the protocols just at the user level if the user simply favorites the protocols for his/her work; the distinction needs to be done at an organizational level. So, 'Group Accounts' were added to ProtoCat, allowing for favorite protocols at the lab (instead of individual researcher) level.

Improved Security


Security is important in any online domain; web security is especially important when dealing with sensitive information such as protocols. In addition, insecure websites can result in their users information being leaked. We have taken steps to ensure our site is safe and sescure, shown by our site receiving an A grade by SSL Lab's Server test, the results can be found at this link. These results are comparable to sites such as Google and Facebook. To get maximum security, we would need to disable encryption methods used by older browsers and disallow them from accessing ProtoCat; we opted for a wider audience at the cost of a marginal security increase.

michigan_security_security

Other Improvements


In addition to the above changes, we have also improved our searching service, our server infrastructure, as well as our internal team structure. ProtoCat now searches more fields when retrieving protocols, in order to make finding the relevant ones more effective. We have also improved our ProtoCat server, switching to a more scalable infrastructure. Lastly, we have adopted pair programming techniques in order to ensure that as our current members graduate and move on, that the knowledge of how ProtoCat works is not lost.