# Easing users communication with developers

**URL:** <https://discourse.slicer.org/t/easing-users-communication-with-developers/36793>\
**Category:** Support\
**Created:** [June 14, 2024, 10:30pm UTC](https://discourse.slicer.org/t/easing-users-communication-with-developers/36793 "2024-06-14T22:30:03Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![mau\_igna\_06](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/mau_igna_06/32/9056_2.png) [@mau\_igna\_06](https://discourse.slicer.org/u/mau_igna_06)\
**Post date:** [June 14, 2024, 10:30pm UTC](https://discourse.slicer.org/t/easing-users-communication-with-developers/36793/1 "2024-06-14T22:30:03Z")

</div>

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

- See first button of section “Bug reports, Feature requests and Community”  
 ![Screenshot from 2024-06-14 19-20-02_2](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/5/6/5651a526adfafaf740ccfa62d489601d2cade775.png)

Logic for the first button:

```auto
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:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/0/6/06d79573b97fd5c1a37820c686f19c4b0c45d41e.png)

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](https://meta.discourse.org/t/create-a-link-to-start-a-new-topic-with-pre-filled-information/28074) 🙂

Thank you

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [June 15, 2024, 5:32am UTC](https://discourse.slicer.org/t/easing-users-communication-with-developers/36793/2 "2024-06-15T05:32:20Z")

</div>

You probably don’t want to discuss issues in private emails, so you would either want to create a [github issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-an-issue#creating-an-issue-from-a-url-query) or a [discourse post](https://meta.discourse.org/t/create-a-link-to-start-a-new-topic-with-pre-filled-information/28074) by opening a URL.

This is already implemented in the error report dialog:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/3/a/3afde9cef4ae6124b1572e943c45ba0e1e053210.png)

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

---

<div class="post-metadata">

**Author:** ![mau\_igna\_06](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/mau_igna_06/32/9056_2.png) [@mau\_igna\_06](https://discourse.slicer.org/u/mau_igna_06)\
**Post date:** [June 15, 2024, 2:40pm UTC](https://discourse.slicer.org/t/easing-users-communication-with-developers/36793/3 "2024-06-15T14:40:57Z")

</div>

> [@lassoan](#):
>
> so you would either want to create a [github issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-an-issue#creating-an-issue-from-a-url-query) or a [discourse post](https://meta.discourse.org/t/create-a-link-to-start-a-new-topic-with-pre-filled-information/28074) by opening a URL.

I may do that using _bone.reconstruction.planner(at)[gmail.com](http://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

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [June 16, 2024, 5:34pm UTC](https://discourse.slicer.org/t/easing-users-communication-with-developers/36793/4 "2024-06-16T17:34:42Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![mau\_igna\_06](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/mau_igna_06/32/9056_2.png) [@mau\_igna\_06](https://discourse.slicer.org/u/mau_igna_06)\
**Post date:** [June 16, 2024, 6:44pm UTC](https://discourse.slicer.org/t/easing-users-communication-with-developers/36793/5 "2024-06-16T18:44:00Z")

</div>

Thanks for the feedback

> [@lassoan](#):
>
> 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.

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.

> [@lassoan](#):
>
> 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.

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

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [June 17, 2024, 12:29am UTC](https://discourse.slicer.org/t/easing-users-communication-with-developers/36793/6 "2024-06-17T00:29:35Z")

</div>

> [@mau\_igna\_06](#):
>
> 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.
