Difference between revisions of "Team:Michigan Software/Improve"

Line 114: Line 114:
 
             <br>
 
             <br>
 
             <p id = "doubleSpace" class="p-font grey-text">
 
             <p id = "doubleSpace" class="p-font grey-text">
                 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 <a href="https://www.ssllabs.com/ssltest/analyze.html?d=protocat.org">this link</a>. These results are comparable to sites such as <a href="https://www.ssllabs.com/ssltest/analyze.html?d=google.com&s=2607%3af8b0%3a4005%3a807%3a0%3a0%3a0%3a200e&hideResults=on">Google</a> and <a href="https://www.ssllabs.com/ssltest/analyze.html?d=facebook.com&s=2a03%3a2880%3af10d%3a83%3aface%3ab00c%3a0%3a25de">Facebook</a>. With regards to our rating, we compromised getting a higher grade by maintaining support for older versions of browsers.
+
                 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 <a href="https://www.ssllabs.com/ssltest/analyze.html?d=protocat.org">this link</a>. These results are comparable to sites such as <a href="https://www.ssllabs.com/ssltest/analyze.html?d=google.com&s=2607%3af8b0%3a4005%3a807%3a0%3a0%3a0%3a200e&hideResults=on">Google</a> and <a href="https://www.ssllabs.com/ssltest/analyze.html?d=facebook.com&s=2a03%3a2880%3af10d%3a83%3aface%3ab00c%3a0%3a25de">Facebook</a>. To get maximum security, we would need to disable encryptions used by older browsers and disallow them from accessing ProtoCat; we opted for a wider audience at the cost of a marginal security increase.
 
<table><tr><td><img style="width:500px;" src="https://static.igem.org/mediawiki/2017/thumb/7/7a/Michigan_software_2017_security.png/1599px-Michigan_software_2017_security.png" alt="michigan_security_security" /></td></tr></table>
 
<table><tr><td><img style="width:500px;" src="https://static.igem.org/mediawiki/2017/thumb/7/7a/Michigan_software_2017_security.png/1599px-Michigan_software_2017_security.png" alt="michigan_security_security" /></td></tr></table>
 
             </p>
 
             </p>

Revision as of 02:53, 2 November 2017

Improvements



ProtoMetrics


     ProtoCat is meant to enable lab researchers to get feedback on their lab procedures; in order to improve efficiency or gather feedback. But how can they quantify which version of a protocol is better? What if a researcher wants to gather feedback about a specific step, or specific product? Ask for the calibration of the equipment that other people are using? And even if they can get it in the comments, how will they get that information in a readily accessible and usable form? This need gave rise to ProtoMetrics, our way to allow researchers to get quantitative metrics on their protocols.

     ProtoMetrics allows users to specify three types of questions: Text, Numeric, or Polls. Text and Numeric are relatively straightforward; the former asks for a text response (ex: describe the resulting solution), whereas the latter is for strictly numeric responses (ex: How many grams of product were you able to produce?). Polls allow for a respondent to choose from a selection of responses, which can be used for specific equipment calibration. Once the users have submitted the responses, the publisher of the protocol can download the results in a Comma Seperated Value (csv) file for easy import into Excel, MATLAB, or a similar analysis too.

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 encryptions 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.