<div dir="ltr"><div dir="ltr">Am Sa., 27. Apr. 2019 um 22:29 Uhr schrieb Chris Muller <<a href="mailto:ma.chris.m@gmail.com">ma.chris.m@gmail.com</a>>:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> One of the things I think we need to collectively get better at (and I suppose it extends to all software developers!) is handling errors more helpfully.<br>
<br>
What is more helpful than the debugger?  <br></blockquote><div><br></div><div>I think a debugger popping up is intimidating for beginners and non-programmer users, and it looks like somebody did not properly guard against error cases.</div><div>Tim and I are neither beginners nor non-programmers, so it is probably even "uncomfortable" for people who just don't know the code that raised the debugger.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
>  It's hard and tedious in too many cases but worth it eventually. Saving a mcz to SqueakSource for example is *really* annoying when it fails after what seems like a lot of faffing just because you forgot to edit the repository stuff to add the uid/pwd. I bet there's a way to test it immediately and get the user to update before carrying on to success, for example.<br>
<br>
No, the way Monticello handles that now is the right way.<br>[...]  First it saves your Version to<br>
your package-cache, [...] you have the saved<br>
Version window on your desktop where you can then copy it once you get<br>
your connection sorted.<br></blockquote><div><br></div><div>New users don't know about this fail-safe mechanism, and probably neither that they can retry the upload with the copy button. Years ago I would have believed that the save failed altogether and I got a worthless, leftover (probably defunct) window for the version anyway. Of course, this perception is wrong, but what tells one otherwise? Some kind of diagnostic and instruction text could do that. One could display it instead of or in addition to a debugger.</div><div><br></div><div>We have this notifier window with the proceed, abort, debug buttons. One solution might be to fill it with more helpful text in such situations, instead of the stack trace. Like it is done for Warnings.</div><div><br></div><div>"Your version was saved to the disk, but it could not be uploaded to the server. You can retry the upload by using the Copy button on the Version inspector that was opened for you [could add a Text action here to make that SystemWindow flash]. Press "Proceed" to [...]. Press "Abort" to [...]. Press "Debug" to look into the issue. Useful information to mention if you want to ask for help: [exception message or a context-specific excerpt of variables]"</div><div><br></div><div>Sometimes I wish for a "Retry" button there and a restart mechanism like the one in Common Lisp.</div><div><a href="http://www.gigamonkeys.com/book/beyond-exception-handling-conditions-and-restarts.html">http://www.gigamonkeys.com/book/beyond-exception-handling-conditions-and-restarts.html</a>  <br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
If we were to improve this area of configuration, let it be to help<br>
the user get their mc settings file set up -- because that is the very<br>
best solution to that configuration issue.  A one time thing, and they<br>
never have fiddle with mc id's / pw's in any image again.<br></blockquote><div><br></div><div>Maybe, I didn't know about this settings file until you mentioned it a few weeks ago. Is there anything that tells one how to use it at the moment?</div><div>Note that it does not resolve the situation when there is a connection problem not related to configuration, such as an outage.</div></div></div>