Easing users communication with developers

I made this that I would be adding to my extension, see picture and code below:

Logic for the first button:

def prepareSendEmailOnWebBrowser(self, emailVariable, subjectVariable, bodyVariable, ccVariable="", bccVariable=""):
  parsedBodyVariable = bodyVariable.replace(" ", "%20").replace("\n", "%0D%0A")
  parsedBodyVariable = "asdasfasfsafsaf"
  #
  prepareEmailString = (
    f'mailto:{emailVariable}?'
    f'subject={subjectVariable}&'
    f'body={parsedBodyVariable}'
  )
  #
  if ccVariable != "":
    prepareEmailString += f'&cc={ccVariable}'
  #
  if bccVariable != "":
    prepareEmailString += f'&bcc={bccVariable}'
  #
  prepareEmailUrl = qt.QUrl(prepareEmailString)
  #
  # Open email client
  qt.QDesktopServices.openUrl(prepareEmailUrl)

This is how it looks like on Ubuntu:

But Body variable does not work, could offer help on making it work or feedback on making this feature better (I would think other developer would like to have this on their extensions)

PS: not only email but discourse use should also be considered :slight_smile:

Thank you

2 Likes

You probably don’t want to discuss issues in private emails, so you would either want to create a github issue or a discourse post by opening a URL.

This is already implemented in the error report dialog:

But it may be useful to add module-specific links for some modules or make these links more visible (because probably you haven’t noticed them).

I may do that using bone.reconstruction.planner(at)gmail.com as a github bot or a discourse bot by forwarding received emails (I would prefer eliminating the friction that having to sign up causes).

Do you think this is possible?

cc: @jcfr

I agree that it could be useful to have a link in the module “Help & Acknowledgment” section that lets users directly send bug report to the module developers. No scripting is needed for this, but instead you can add links in the module help text (as it is already done by default for the module documentation). This requires zero coding and maintenance and also a more compact and elegant way than adding a large button box.

You can use mailto: as URL protocol in the link to initiate sending an email instead of opening a forum or github page, but I don’t think we should encourage people to disclose their email address or communicate via disposable email addresses.

Thanks for the feedback

But what’s not good about this solution, IMHO, is that users would find this section very hard to discover (I don’t think users are curious enough to find the links) so it would not solve the problem.

Agreed this would be easier for developers in general, but we should be the ones doing the effort to ease users communication. In a worst case scenario, user needs to report some part of the workflow always crashes Slicer and does not do it because of high friction to do the report: sign up to Github or sign up to Discourse

Some people may prefer disclosing their email address, some may prefer a click in the browser to authenticate. We may offer both and then see if one is much more popular than the other. Even anonymous submission could be implemented. However, overall I would not expect this to make a big difference in the number of people reporting problems.

Probably it would be more impactful if we added a crash reporting dialog, which would collect system information and application log (and maybe other data) and let the user submit by a single click.

1 Like