<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/128466/">https://git.reviewboard.kde.org/r/128466/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On July 18th, 2016, 2:05 p.m. CEST, <b>Sebastian Kügler</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Please don't ship it, yet.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I find the UI illogical. There's a groupbox grouping the checksum buttons, but then you can input the checksum above, so essentially, the groupbox is unnecessary and confusing.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Perhaps the whole thing could be simplified by naming the tab "Checksums" and removing the groupbox altogether, as it's not providing any semantic value.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">A usability reviewer should have a look.</p></pre>
 </blockquote>




 <p>On July 18th, 2016, 2:08 p.m. CEST, <b>Kai Uwe Broulik</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This dialog has been created in Review 128283 and Usability has been involved from the beginning...</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 2:13 p.m. CEST, <b>Sebastian Kügler</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">It has changed in a significant way, though, making it illogical.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">(Not that I understand the "Share" title in the original review, but that's another matter.)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This needs more work.</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 2:28 p.m. CEST, <b>Elvis Angelaccio</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Perhaps the whole thing could be simplified by naming the tab "Checksums" and removing the groupbox altogether, as it's not providing any semantic value.</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Preview here: https://share.kde.org/index.php/s/RUs9gAhIQqpFIqF</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 2:31 p.m. CEST, <b>Sebastian Kügler</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This looks logical to me, and it's simpler: Very good!</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">(Take that as "sebas withdraws his objection" :))</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 3:33 p.m. CEST, <b>Thomas Pfeiffer</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Clear -1 to removing the group box.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Here is tha rationale:
For most "regular" users, only the lineedit at the top is relevant. The calculate stuff is just distraction and - worse - potential confusion. If we remove any visual distinction between the two, we just make the situation worse for them.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I agree that calling the tab "Checksums" is still better, though, because "Integrity" is too vague.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">For the "average user" I just re-tested this with, what would actually help her is creating a second box around the verification part, calling the top one "Verify checksum" and the bottom "Calculate checksums".
That way if she was told e.g. by a website to verify a checksum, she'd knew she could simply ignore the whole calculation part.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Overall simplicity should not be the top priority here: The priority should be to make it clear to users who just want to check whether a download went okay which part they should care about and which they can ignore, while still providing the calculation part for advanced users who want to do that.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Of course another option would be to split it in two tabs, but that might make the tab bar quite long especially in languages like German.</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 3:43 p.m. CEST, <b>Sebastian Kügler</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The latter part seems redundant then. How can you verify a checksum without calculating it?</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 4 p.m. CEST, <b>Thomas Pfeiffer</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">See <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">that</em> is why the bottom box was originally called "Share". Of course the verification part also does calculation, but it does so without you telling it to. You paste in the checksum, and it tells you whether it matches or not.
The manual calculation at the bottom is for people who share a file with others and want to accompany it with a checksum for <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">them</em> to verify it.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I think we might get away with "Calculate" anyway because those who don#t know much about checksums don't need to know that the verify part calculates as well, and those who know it should still be able to use the thing correctly.</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 4:08 p.m. CEST, <b>Sebastian Kügler</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">That 'Share' title completely puzzled me, and I think I'm the kind of user this dialog should work for very well. (I need to verify checksums all the time.)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">To be quite honest, from getting it explained, I get the strong impression that you're overthinking it.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">To me, the most logical would be:</p>
<ul style="padding: 0;text-rendering: inherit;margin: 0 0 0 1em;line-height: inherit;white-space: normal;">
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Calculate checksums at the top</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Under that, the input field so I can c/p or type my checksum in there to have it compared automatically. </li>
</ul>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">That's both, the order of the workflow as well as the logical order of operation. 'Calculate' underneath would raise exactly the same question as I put above: "...but but but ... it could not verify it without calculating it, yet I have to hit a button to calculate ... maybe I should try again and maybe I should just use the commandline to be sure". </p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Point in case: for this kind of stuff, simplicity trumps since it makes it easier to TRUST the dialog. I can't trust anything I don't fully understand or have doubts about, and that's what the groupbox design and the share title cause: doubts.</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 4:13 p.m. CEST, <b>Ivan Čukić</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">See that is why the bottom box was originally called "Share".</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">When I saw the UI, it did not even occur to me that it behaves like this comment suggested. I'd say that is a wrong thing to happen with an UI.</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">To me, the most logical would be:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Calculate checksums at the top
   Under that, the input field so I can c/p or type my checksum in there to have it compared automatically.</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">+1</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Additionally, whe are there 3 buttons for calculating the check-sums. All those can be calculated in-parallel without any noticeable performance impact. All of them (IIRC) read the file in 512-bit chunks and perform some computations. Computations are insignificant compared to file-reads, performance-wise.</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 5:23 p.m. CEST, <b>Thomas Pfeiffer</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Sebas, Ivan, please read the discussion here: https://git.reviewboard.kde.org/r/128283/ None of the things you're commenting on here fell from the sky, there were reasons for them.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">As for what is "logical": Yes, this is the logical progression for <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">you</em>, who know how this whole checksum business works. You, however, can also just use [whatever]sum from the command line. This dialog was designed with users in mind who don't know how checksum verification works (the vast majority of "regular" computer users, I can assure you). They don't and need not know that a checksum has to be calculated first.
All they should need to know is what they should do, and the instruction at the very top of the dialog explains exactly that. And if they follow those instructions, they get a result.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">In the first iteration, the dialog just threw three checksums at you, which leaves ordinary users utterly puzzled (I tried it with one). Plus, David Faure advised against calculating them automatically, and since he has a certain reputation of knowing what he's talking about, we followed his advice.
Of course we could just use one "Calculate" button.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Still, I don't see a point in making the vast majority of users who just want to verify a checksum they found a website calculate the checksum first.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I'm open for ideas on how to separate the two usecases (verifying the integrity of a file and getting checksums to do whatever with them) better, but I strongly oppose bothering users who know nothing about checksums with any information they don't need (and yes, that includes the calculated checksum, as that is 100% irrelevant to them).</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 6:41 p.m. CEST, <b>Sebastian Kügler</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">So you're saying that I'm too advanced a user for this dialog to make sense? I'm at a loss for words here. Maybe you can view Ivan and me as the kind of user this dialog should be used by and should work for well, and not try to conveniently place us outside of the target group by just telling us that the target user is dumber, but still not dumb enough to not need checksums. This way a bad design doesn't get fixed.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">As to my actual issue, it's not addressed in the review you link, it rather leaves me more puzzled:
- the checksum must not be calculated automatically (I completely agree, I don't want my disk to be thrashed once I open this dialog or tab; it's unrelated to my comment, however)
- so I paste the checksum in there, and then hit calculate (which button, btw, how do I tell?)
- When I just need the checksum (for example when handing it out with a file, or to verify a file with a user), I hit calculate, and I can copy the resulting string?</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">For me, calculating the checksum and showing me is what this dialog really should do. Comparing it to something typed or copy/pasted is an extra, which can only happen once the checksum has been calculated. Calculating is clearly the first, necessary step. Why the paste box is above it ... I simply don't understand. Why a groupbox for the primary function that distinguishes it from the copy/paste part (which, without calculating is entirely useless) -- I don't know. It serves no purpose (and none is given in the link you post).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I rest my case, the design of this dialog doesn't make a lot of sense as it is, it can be done simpler, easier to understand and thus, better.</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 6:45 p.m. CEST, <b>Ivan Čukić</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Thomas, I have read the discussion before commenting here, although it is strange to call a mostly one-way conversation (you as the UI expert advising on the UI) a discussion :)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I don't see 'we already had a discussion' as a valid answer for users' confusion with the UI (not only Sebas and me, which is also mentioned in Rangar's comment in the review #128283)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I do agree that the two work-flows are separate. Still, the UI does not make that obvious to me. The UI does not make it obvious that it <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">has</em> two work-flows.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">So, from my point of view, these are the problems:</p>
<ul style="padding: 0;text-rendering: inherit;margin: 0 0 0 1em;line-height: inherit;white-space: normal;">
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Even if the group says 'Sharing', it does not have any sharing mechanisms. It would be similar to having the file metadata under a share tab because somebody would want to share the song name and the artist with someone;</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">If the group is named 'Checksums', it implies that the thing outside is not a checksum;</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">The 'share' workflow is unfortunately a part of the verification workflow since it needs to calculate the sums;</li>
</ul>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">p.s. sharing a checksum is also for advanced users - users that could do it from CLI.</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 6:50 p.m. CEST, <b>Thomas Pfeiffer</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Do whatever you want, I'm outta here.</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 6:56 p.m. CEST, <b>Ivan Čukić</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I'm sorry if you are offended, but you need to be open to discuss potential problems of your work just like everybody else here.</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 6:58 p.m. CEST, <b>Olivier Churlaud</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">@sebas: the way I understood it (but maybe I'm wrong) is:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">First user case: Check a file. You paste your checksum, and without clicking anything it goes red or green (or with a small message) and tells you if it's the good checksum. This mean that you don't need to hit any [calculate] button.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Second user case: Share the checksums. You calculate, and copy/paste the output.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">IMHO they don't need to be in separate tabs but separated with meaningful titles in the "checksum" tab.</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 7:33 p.m. CEST, <b>Thomas Pfeiffer</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I'm sorry if you are offended, but you need to be open to discuss potential problems of your work just like everybody else here.</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I do discuss problems with my designs, all the time. But not the way you (and especially sebas) barged in here, weeks after the original design was agreed upon with everyone involved in that review request, and telling me that because it doesn't conform to your logic, it must be wrong.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I never said it was perfect, there surely are things that can still be improved, but this discussion is not worth my time.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Let Elvis decide what to do with his feature.</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 7:41 p.m. CEST, <b>Gregor Mi</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I followed this thread closely. I tried to combine</p>
<ul style="padding: 0;text-rendering: inherit;margin: 0 0 0 1em;line-height: inherit;white-space: normal;">
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">the latest screenshot (https://share.kde.org/index.php/s/RUs9gAhIQqpFIqF)</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">with the approach to have the Calculate buttons on the top (although the primary use case is to "verify a checksum", for me it also makes more sense that calculation part comes first, because verifing is the second step and even optional if some just wants to calculate it without verifying against another checksum)</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">more explanatory text (the intro sentenced comes from Wikipedia) to inform the user</li>
</ul>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This is the result:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%"><span style="color: #000080; font-weight: bold">Checksum</span>
<span style="color: #000080; font-weight: bold">--------</span>

A checksum provides a means to detect errors in a file which
may have been introduced during its transmission or storage.

There are different methods to calculate a checksum:

MD5:    [Calculate]
SHA1:   [Calculate]
SHA256: [Calculate]


If you downloaded this file from a website, it is common that
a checksum is provided so you can verify that the data you
received is valid.

Paste the given checksum in the field below:

[Expected checksum (...)]
</pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">It is more verbose than the original designs and does not tell the user in advance that if he pastes a checksum that the correct checksum method will be used and auto-calculated. I assume that he/she will find out when using it (or a tooltip could be added).</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 7:45 p.m. CEST, <b>Olivier Churlaud</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The problem here is that the user must do </p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">1) which type of checksum do I want
2) explicitely calculate
3) paste the checksum he has.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The current design makes this better I think: most of the time you only want to compare 2 checksums, but doing steps that can be automatized (choose type + calculate)? This is faster, and easier. Then if the user wants to know the checksum he has, he could explicitely calculate them, but most of them won't.</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 7:48 p.m. CEST, <b>Olivier Churlaud</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Proposition to make things more obvious:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Can't you hide the [calculate part] so that there is only the option to paste a string that will be controled, with a "[] More option" check box that would show the other options (which are "only calculate the checksum"). With this it is just simple by design. The complexity is only there if the user needs it.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This way, the problem raised by Sebas and Ivan would disappear.</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 7:48 p.m. CEST, <b>Ivan Čukić</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">@Gregor</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">+1 (though, like in my previous comment, I don't think we actually need three separate 'Calculate' buttons)</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 8:14 p.m. CEST, <b>Gregor Mi</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">@Oliver:</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The problem here is that the user must do </p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">1) which type of checksum do I want
2) explicitely calculate
3) paste the checksum he has.</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">My suggestion was not to change the functionality when the user pastes the checksum (the checksum type is automatically detected). So the user <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">may not</em> do those three steps (but he might think he has to, yes).</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 8:15 p.m. CEST, <b>Olivier Churlaud</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">(but he might think he has to, yes).</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This is a usability problem.</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 8:17 p.m. CEST, <b>Gregor Mi</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">@Ivan: I understand that technically the parallel computation is possible but does the API allow for it without reading the file again? (I did not look into the current code) And is this scalable if more methods are added later?</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 8:29 p.m. CEST, <b>Gregor Mi</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%"><span style="color: #000080; font-weight: bold">Checksum</span>
<span style="color: #000080; font-weight: bold">--------</span>

A checksum provides a means to detect errors in a file which
may have been introduced during its transmission or storage.

There are different methods to calculate a checksum:

(+) Show -----------------
<span style="color: #666666">|</span>  MD5:    [Calculate]   |
<span style="color: #666666">|</span>  SHA1:   [Calculate]   |
<span style="color: #666666">|</span>  SHA256: [Calculate]   |
--------------------------

If you downloaded this file from a website, it is common to
provide a checksum so you can verify that the data you
received is valid.

Paste the given checksum in the field below to trigger
calculation of the file's checksum and verification against
the expected one:

[Expected checksum (...)]
</pre></div>
</p>
<ul style="padding: 0;text-rendering: inherit;margin: 0 0 0 1em;line-height: inherit;white-space: normal;">
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">The "Show" box is initially collapsed (@Ivan: the three Calculate buttons could be replace with one, but now that they are hidden, it might matter less)</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">The only prompting widget is the "Expected checksum" text box. So, maybe the user will see it despite the fact that it is at the bottom of the dialog? (The first time the user would have to read much text but then he/she knows how the dialog works)</li>
</ul></pre>
 </blockquote>





 <p>On July 18th, 2016, 8:38 p.m. CEST, <b>Thomas Pfeiffer</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">(but he might think he has to, yes).</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This is a usability problem.</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Exactly. Again: Users who know little about checksums should not have to know that technically, a checksum has to be computed first. That's an implementation detail which is of no concern to users. They paste the checksum they have in there (like the text tells them to), they get a response, done. They never have to touch the "calculate" button.</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 9 p.m. CEST, <b>Gregor Mi</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%"><span style="color: #000080; font-weight: bold">Checksum</span>
<span style="color: #000080; font-weight: bold">--------</span>

A checksum provides a means to detect errors in a file which
may have been introduced during its transmission or storage.

(+) Advanced (initially collapsed) -----------------------
<span style="color: #666666">|</span>                                                         |
<span style="color: #666666">|</span> There are different algorithms to calculate a checksum: |
<span style="color: #666666">|</span>                                                         |
<span style="color: #666666">|</span>  MD5:    [Calculate]                                    |
<span style="color: #666666">|</span>  SHA1:   [Calculate]                                    |
<span style="color: #666666">|</span>  SHA256: [Calculate]                                    |
<span style="color: #666666">|</span>                                                         |
----------------------------------------------------------

If you downloaded this file from a website, it is common to
provide a checksum so you can verify that the data you
received is valid.

Paste the provided checksum in the field below:

[Expected checksum (...)]   *)



*) Tooltip: "Advanced information: When the checksum is pasted,
   at first the correct checksum algorithm is determined,
   then the file's checksum is calculated with this algorithm
   (if not already done) which then will be verified against the
   pasted checksum and finally the result is displayed to you."
</pre></div>
</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 9:06 p.m. CEST, <b>Olivier Churlaud</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Collapsable area make more sense being below, don't they? At the end you provide the exact same design in more verbose (too much I think: once you have read it twice, it must really being nerving). However it's interesting: Maybe all your text could be in a "What is it for?" tooltip or link.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I think that having a collapsed advanced menu would solve the issue. It would be intersting to hear Ivan and Sebas on this.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">And Thomas, what about the usability side of this tooltip/advanced options?</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I think Elvis has his word to :P</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 9:33 p.m. CEST, <b>Thomas Pfeiffer</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I fully agree with everything Olivier said.</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 9:37 p.m. CEST, <b>Gregor Mi</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%"><span style="color: #000080; font-weight: bold">Checksum</span>
<span style="color: #000080; font-weight: bold">--------</span>

If you downloaded this file e.g. from a website which
also provides the expected checksum, then you can verify
if the data you received is valid.

[ Paste the expected checksum here       ]         (?)_1

( the initially hidden verification result )

(+) Advanced (initially collapsed) ----------------------------
<span style="color: #666666">|</span>                                                              |
<span style="color: #666666">|</span> There are different algorithms to calculate a checksum:      |
<span style="color: #666666">|</span>                                                              |
<span style="color: #666666">|</span>  MD5:    [Calculate]                                         |
<span style="color: #666666">|</span>  SHA1:   [Calculate]                                         |
<span style="color: #666666">|</span>  SHA256: [Calculate]                                         |
<span style="color: #666666">|</span>                                                              |
----------------------------------------------------------------

(?)_1 (What's this link):
  A checksum provides a means to detect errors in a file which
  may have been introduced during its transmission or storage.

  When text is pasted here, at first the correct checksum algorithm
  is determined (currently MD5, SHA1 and SHA256 are supported),
  then the file's checksum is calculated with this algorithm
  (if not already done) which then will be verified against the
  pasted checksum and finally the result is displayed to you.
</pre></div>
</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 10:37 p.m. CEST, <b>Jaime Torres Amate</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This is totally offtopic (but related to this tab).
I think the user should be informed about the colision problems of MD5: https://en.wikipedia.org/wiki/MD5 and SHA1: https://en.wikipedia.org/wiki/SHA-1. i.e. they do not provide, by themselfs, proof of non modification from http or ftp sites. It is a little bit better from an https or sftp site if the site has not been compromised.</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 10:42 p.m. CEST, <b>Olivier Churlaud</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I think it's not our role to tell them this. Maybe a line in the tooltip that say SHA256 is recommanded? But not more: we already have a lot of text here</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 10:56 p.m. CEST, <b>Elvis Angelaccio</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I think the user should be informed about the colision problems of MD5</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Please let's keep this thread on topic. By the way, there are no computationally feasible second preimage attacks against MD5 and SHA1, which means that both algorithms are still fine for file integrity purposes.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">@all: thanks for the impressive amount of feedback, I'm still trying to read all the replies :p</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 11:02 p.m. CEST, <b>Ivan Čukić</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">@Olivier</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I understand that technically the parallel computation is possible 
but does the API allow for it without reading the file again?
(I did not look into the current code) And is this scalable if
 more methods are added later?</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I haven't checked the API so I can't comment on that. As for scalability,
hashsums need to work on input/forward-only streams (would be quite 
problematic if they required random-access) so I'd say it would be 
scalable to have one button.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">@Gregor</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I'm not sold on the collapsing thing to be honest.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">@Olivier</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Collapsable area make more sense being below</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">And this is the reason why I'm not sold (though I do like the collapsed version better than the original one). The fact that it is more logical for collapsable part of the UI to go below the normal UI does not necessarily mean that something should be moved below, but that maybe a collapsing UI is not the right way to go.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">@Jaime</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">These hashsums are not meant to be used as tampering-elimination verification (even if a lot of people do use them for this) but for transfer verification.</p>
<hr style="text-rendering: inherit;margin: 0;padding: 0;white-space: normal;border: 1px solid #ddd;line-height: inherit;" />
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Anyhow, <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">if</em> collapsing is the way to go, there is no need for any buttons at all. Paste the hashsum, and during the file hashsum calculation, the insides of the collapsed part would be filled and shown when the user un-collapses.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Alternatively, if the user uncollapses, then it can automatically start the calculation of the hashes. It has the required pre-action so that it does not happen every time somebody opens this tab.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The reason why I like the collapsed version better than the original proposal is that it removes the initial confusion of 'what is what' when someone opens the dialogue.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">As for the verbosity of text, I'm not against it. We can expect that the users who have no idea about checksums will switch to this tab, and a paste-textbox is not really all they would need to understand what the hell it is.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">@Elvis</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Sorry for spamming you this much. :)</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 11:15 p.m. CEST, <b>Olivier Churlaud</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I agree 100% with what is below the ruler, and I think it brings much: no more buttons, everything is smooth.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">However I don't understand what is the problem with the proposed design, if the user knows what is what. For example, I don't see why I, as a user, would need to explicitely calculate the hashsums.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I do not see why you would paste the hash AND show the calculated ones. If you paste, you just say 'your hash is wrong'. No need to show strings that are worthless: the user won't be able to use this result, and he doesn't need to compare the strings, as he would be already told that it does not match.</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 11:31 p.m. CEST, <b>Gregor Mi</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Jaime:</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I think the user should be informed about the colision problems of MD5</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Oliver: </p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I think it's not our role to tell them this. Maybe a line in the tooltip that say SHA256 is recommanded? But not more: we already have a lot of text here</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Ivan: </p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">These hashsums are not meant to be used as tampering-elimination verification (even if a lot of people do use them for this) but for transfer verification.</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">If we put the website download example on the dialog, I think it is important to at least give a hint that there might be security problems of all kinds. Something like "Please be aware that the security and trustworthiness in the Internet is a complex matter. Please inform youself about potential issues when downloading files from the Internet and that checksums do not provide data authenticity."</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Ivan:</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Alternatively, if the user uncollapses, then it can automatically start the calculation of the hashes. It has the required pre-action so that it does not happen every time somebody opens this tab.</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Good idea. I still wonder how performance will be affected if all three checksums are calculated at once on a large file (e.g. a DVD image on old hardware). But maybe one could add "Stop" buttons to each algorithm (similar to the folder size calculation in the General tab).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Oliver:</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I do not see why you would paste the hash AND show the calculated ones. If you paste, you just say 'your hash is wrong'.</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">+1</p></pre>
 </blockquote>





 <p>On July 18th, 2016, 11:48 p.m. CEST, <b>Ivan Čukić</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I do not see why you would paste the hash AND show the
calculated ones. If you paste, you just say 'your hash is wrong'.</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">One of the mentioned use-cases is 'sharing the checksum' for which you need to have it shown.</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Good idea. I still wonder how performance will be affected if all three checksum [...]</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">If they are done with a single pass (single file read), it should be almost as fast as calculating one of them. I haven't benchmarked, but basing this on the fact that hash sums require rather simple calculations.</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">"Please be aware that the security and trustworthiness in the Internet is 
a complex matter. Please inform youself about potential issues when downloading
files from the Internet and that checksums do not provide data authenticity."</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This might be a good solution. What do others think?</p></pre>
 </blockquote>





 <p>On July 19th, 2016, 12:18 a.m. CEST, <b>Thomas Pfeiffer</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">One of the mentioned use-cases is 'sharing the checksum' for which you need to have it shown.</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Yes, but when you want to share the checksum, you don't want to verify with it. That's the thing: The verification and the "calculate and show checksums" feature serve different usecases. Either you already have a checksum from somewhere anduse that to verify the file, then you only need the paste box and the line below telling you whether it matches or not. If you want to share checksums, you can safely ignore the paste box.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Therefore it's fine if the collapsible area is below the paste box, as there is no two-step process of first showing the calculated checksum and then verifying with it.</p>
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">"Please be aware that the security and trustworthiness in the Internet is a complex matter. Please inform youself about potential issues when downloading files from the Internet and that checksums do not provide data authenticity."</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This might be a good solution. What do others think?</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Makes sense to me!</p></pre>
 </blockquote>





 <p>On July 19th, 2016, 11:37 a.m. CEST, <b>Thomas Pfeiffer</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Oh btw, now that we're discussing the whole UI in this review request, anyway: Is there any feedback given while the checksum is being calculated when you paste a checksum intop the field?
It should say "Comparing checksums..." in the line where then the result is shown, so that the user knows that they triggered a process by pasting the checksum, in case the calculation takes a while.</p></pre>
 </blockquote>





 <p>On July 19th, 2016, 12:34 p.m. CEST, <b>Elvis Angelaccio</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I think that replacing the current groupbox with a collapsiblegroubox might be the best solution:</p>
<ul style="padding: 0;text-rendering: inherit;margin: 0 0 0 1em;line-height: inherit;white-space: normal;">
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">It keeps separated the two use cases, even more separated than the current design. This should avoid any possible confusion.</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">The verification stays at the top of the dialog, which is good because verifying is much more common than sharing.</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">We could remove the three "Calculate" buttons and start the computation as soon as the box is expanded (though I'm not 100% sure this can be done without reading the file three times).</li>
</ul>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">If there is consensus on this proposal, I'm going to discard this review and open a new one :)</p></pre>
 </blockquote>





 <p>On July 19th, 2016, 12:52 p.m. CEST, <b>Ivan Čukić</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">@Elvis</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Seems QCryptographicHash does not have the support for this, so without reimplementing the hash functions (or stealing the QCH implementation), all the buttons are needed >:|</p></pre>
 </blockquote>





 <p>On July 19th, 2016, 1:33 p.m. CEST, <b>Sebastian Kügler</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">So the checksums tab is located in the file properties dialog, which is primarily an informational display. This dialog also holds the size, which is costly to compute, just like the checksum. The checksums tab serves two purposes: verify and display the checksum.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The verification can either be done manually (I read the checksum over the phone to the dude who has to work in IT support), or I compare it with a checksum on some website right after downloading the latest rebecca black OS iso.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Logically, having the checksum is a pre-requisite for comparing it, so a lineedit to paste a checksum which is then compared makes sense, but it's a helper tool. First and foremost, I trust nothing and nobody and want to actually see the checksum. (Also, if a checksum is different, it shows in the first few latters in the vast majority of cases, so a quick verification can easily done with the naked eye.) For those lazy bastards, who copy the checksum off the website, the lineedit is a handy tool.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">A problem I see with the three button approach is that it provides little guidance for the user: Which checksum do I want? I think a combo box to pick the algorithm with md5 as default (as it's the most widely used) would make this a bit nicer and easier to use.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">As a result, to me, a logical user interface would offer the following:</p>
<ul style="padding: 0;text-rendering: inherit;margin: 0 0 0 1em;line-height: inherit;white-space: normal;">
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">display of current checksum (possibly a hint that it needs to be computed first for files larger than N?)</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">a chooser (in the current approach, three buttons, I think one button + a combo would be nicer here, see above)</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">a way to make comparing easier (the lineedit seems like a nice idea)</li>
</ul>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">To me, this UI can be very easy, if done right, it displays, allows to compute (and pick the algorithm) and allows to compare (in that order).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I think groupboxes, collapsible widgets and advanced sections make this much harder than it really needs to be. Simplicity can be achieved quite easily here, and we should aim for that.</p></pre>
 </blockquote>








</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">As it was clear both sides had different understanding I spoke with Sebas and Thomas separately to understand what the issue was.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">So Sebas has another user case:
You can get a hashsum over the phone or on IRC but without copying, you can just compare yourself (while reading) the X first characters of the hash with your file. So hidding the 'calculate' part is not a good idea. Also it means that the shown hash <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">can</em> be part of the verification process. Therefore it makes not so much sense to have grouping boxes. Furthermore, it's too engineered or visually complex to surround 1 lineedit on the one side, and 3 buttons on the other side in boxes. </p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Finally all that is about verifying the checksum. Either you (compare in the line edit or visually) or someone else (the previously called "share" user case). They belong together.</p>
<h1 style="font-size: 100%;text-rendering: inherit;padding: 0;white-space: normal;margin: 0;line-height: inherit;">New proposition</h1>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The proposition I do is the following:
In the tab called "Checksum":</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">A line edit (with explaining labels, tooltips, whatever): you paste in it and it becomes either red or green, with a label explaining what happened in the same color ("the checksum do not match, your file might be corrupted"/ "the checksums match, your life is beautiful"). <strong style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">It should also state the type of algorithm used (MD5, SHA1,...)!</strong></p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">----------A separation line------------</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">A list with MD5/SHA1/SHA256 (and later others?). 2 options IMO: 
 - for small <strong style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">local</strong> files you compute directly and display the hash, for others go to option 2
 - have the name of the algo, followed by a [calculate] button, when calculated, the button is hidden and replaced by the hash string
    sha1:  [Calculate]   then   sha1: sjdljpfiljezflsjls</p>
<h1 style="font-size: 100%;text-rendering: inherit;padding: 0;white-space: normal;margin: 0;line-height: inherit;">Why does it work for both types of users</h1>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Someone like me or who does not know anything about hashsums will see on top a field where to paste the hash. He does it, get a green/red response and everything can be over here.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Someone like Sebas, who has no trust in this evil code written by Elvis (:P) will see what algo is used and be able to compare himself, visually, with the calculated string below, by clicking on the right [calculate] button. </p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Someone like Sebas or Ivan, who know the technicall part and don't want to use the text field, will directly click on the [calculate] button they are interested in and do whatever they want with the outcome (share, compare, ...)</p>
<h1 style="font-size: 100%;text-rendering: inherit;padding: 0;white-space: normal;margin: 0;line-height: inherit;">Finally</h1>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">In my personal opinion, all has been said. Several designs were proposed and discussed. I think it's time for Elvis to have his enlighted choice. If it's not mine, I will think it's suboptimal, but that is life. If it's the very first one, Sebas will think it's suboptimal, but that's life. Because I'm not sure more consensus can be found.</p></pre>
<br />










<p>- Olivier</p>


<br />
<p>On July 16th, 2016, 2:35 p.m. CEST, Elvis Angelaccio wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for KDE Frameworks, KDE Usability and Dominik Haumann.</div>
<div>By Elvis Angelaccio.</div>


<p style="color: grey;"><i>Updated July 16, 2016, 2:35 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kio
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Dominik suggested to rename the <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">Checksums</code> tab to <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">Integrity</code>, so that we can "free" the Checksums string and use it as the title of the groupbox below (in place of the current <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">Share</code> string, which can be confusing).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Preview in the attached screenshot.</p></pre>
  </td>
 </tr>
</table>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>src/widgets/checksumswidget.ui <span style="color: grey">(03c64db)</span></li>

 <li>src/widgets/kpropertiesdialog.cpp <span style="color: grey">(808765c)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/128466/diff/" style="margin-left: 3em;">View Diff</a></p>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">File Attachments </h1>


 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/07/16/6771ed06-c803-4d18-abe3-91e4f97c8c76__checksums-tab.png">Before</a></li>

 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/07/16/b2cd12c8-6bbf-4123-9e8e-59cb0c29cbdb__Spectacle.TJ7614.png">After</a></li>

</ul>




  </td>
 </tr>
</table>







  </div>
 </body>
</html>