Skip to content

Node.js TSC Survey: Unhandled Promises #902

Description

@joesepi

Hey friends. I'm here to close the loop on spinning up this survey. Sorry for the delay.

Everything should be in place. See survey link below and respond in this issue if it needs updates/fixes.

Note: Survey Monkey doesn't allow markdown or code formatting in answers, so we decided to use bold to denote actual code in answers. Not ideal but is what it is.

The foundation suggested (and I think its a great idea) to do a blog post about the survey and follow up with results. I'm working with @mmarchini to quickly put that together, but it doesn't need to hold up the survey if we aren't fast enough, although it would be best to put it all out there at once.

Survey: https://www.surveymonkey.com/r/FTJM7YD
(Let's be sure its reviewed before blasting it out to the world)

References:

Below is what the foundation provided back to me. As we flesh out User Feedback Surveys at the foundation, the copy below will be abstracted into the user feedback repo as how the foundation can support requests like these. If anyone has any feedback on executing this survey or surveys in general, please let me know. I'm always wanting to make things better. And the more we have this formalized, the speedier they can be turned around. Thanks!

Node.js TSC Survey: Unhandled Promises

OpenJS Foundation Support Plan

Objective

To provide the Node.js TSC insights and feedback via survey data for decisions pertaining to Unhandled Promises.

Foundation Support to include:

  • Uploading survey questions into the survey tool (Survey Monkey)
  • Promoting the survey via OpenJS Foundation Social Channels and collaborating with other applicable audiences and projects to promote.
  • Providing survey links for individual promotion of the survey to drive respondents
  • Supplying data to the TSC
  • Working with TSC to create content based on the survey and its results

Additional Requirements

The Foundation would like to include an optional question requesting name and email. This is to provide survey results back to the respondent as well as collect contact information regarding people interested in the technical direction of Node.js.

Note: this copy currently reads as such

Please provide your name and email in order for us to deliver the results of this survey and if you'd like to be included in future communications regarding Node.js.

Personally, I think that copy should make it more clear that it is optional and I will work to get that updated to:

Please optionally provide your name and email in order for us to deliver the results of this survey and if you'd like to be included in future communications regarding Node.js.

Activity

  1. devsnek commented on Aug 6, 2020

    @devsnek
    Member

    all the code blocks are missing indentation and the one at the top is cut off:

    The first question seems to be asking about selecting multiple things but its a radio, same with second question. questions 3 and 4 have the same question text

  2. RRomoff commented on Aug 6, 2020

    @RRomoff

    Thanks for this, @devsnek

    1. I've gone through and fixed formatting on the code blocks, however, the character limit is 4000, and it's cutting off the summary. I'm exploring adding screenshots to save character count, however, we can also use the first paragraph and link to an issue or blog post for additional context.
    2. For question number 1. Are you currently using Promises, async functions, a mix, or neither?, and 2.How are you handling rejections today? do we want to provide the option for more than one selection? I can change that to a check all that apply.
    3. I've updated question 4 with the right copy.
  3. devsnek commented on Aug 6, 2020

    @devsnek
    Member

    @RRomoff

    Thanks. For the header, the only thing i would say there is that screenshots would not be ideal for people who use screenreaders, unless it provides the option for alt text. For question one, I think check all that apply is the best.

  4. mmarchini commented on Aug 6, 2020

    @mmarchini
    Contributor

    @devsnek agreed. We're exploring turning the summary/header into a blog post we can link in the summary (alongside a shorter summary).

  5. mmarchini commented on Aug 9, 2020

    @mmarchini
    Contributor

    Found some formatting issues and inconsistencies with the original proposed survey. @RRomoff let me know if you have any questions.


    Question 2 is missing the summary after the title. Summary should be:

    When consuming Promises, async functions or thenables, which of the options below do you use to handle rejections?

    SurveyMonkey:

    image

    Proposed question:

    image


    Options to question 3 are incorrect:

    image

    Should be:

    • I use process.on('unhandledRejection')
    • I don't use process.on('unhandledRejection')
    • I didn't know process.on('unhandledRejection') existed

    See: https://github.com/nodejs/TSC/blob/master/surveys/promise-rejections/survey.md#do-you-know-that-nodejs-has-a-global-handler-for-unhandled-rejections-processonunhandledrejection-if-so-do-you-use-it


    Question 5 in our proposed questions is missing: https://github.com/nodejs/TSC/blob/master/surveys/promise-rejections/survey.md#do-you-know-that-nodejs-has-a-global-handler-for-uncaught-exception-processonuncaughtexception-if-so-do-you-use-it

    image


    Question 7(When a rejected promise doesn't have a catch handler, what is the behavior of your application today?):

    • should be a radio button to select only one option
    • Match formatting after the code block with formatting before the code block.

    image


    Question 8:

    Extra a after databaseConnection.release in one of the options

    +  - [ ] I make sure (...) `databaseConnection.release`a throws(...)
    -  - [ ] I make sure (...) `databaseConnection.release` throws(...)

    Question 9:

    • Consider the following modes: missing
    • Not sure if it's possible, but Other (please elaborate) is clearer for this question than Other (please specify) (as we expect users to describe the mode they want if they select Other).
  6. mmarchini commented on Aug 10, 2020

    @mmarchini
    Contributor

    The survey is available at: https://www.surveymonkey.com/r/FTJM7YD

    We also wrote an accompanying blog post for extra context: https://medium.com/@nodejs/node-js-promise-reject-use-case-survey-98e3328340c9

    The survey will run for at least two weeks, at which point we'll evaluate if the number of replies is enough for us to move forward, otherwise we might extend it for a week or two. Please fill out the survey as it will help us decide the future of unhandled promise rejections on Node.js!

  7. mmarchini commented on Aug 18, 2020

    @mmarchini
    Contributor

    Linking here for TSC visibility: #857 (comment)

  8. mmarchini commented on Aug 19, 2020

    @mmarchini
    Contributor

    we reached our target number of responses (with 5 days left! 🎉). The survey will continue until Monday as planned, once it closes we'll share the results.

  9. mmarchini commented on Aug 24, 2020

    @mmarchini
    Contributor

    We got a total of 2,423 responses. Results are available at https://www.surveymonkey.com/results/SM-82X6PX3B7/, we'll be sharing the free-form results (Other field) as well soon too. I'll open a PR to add the results to this repo later.

  10. mhdawson commented on Oct 8, 2020

    @mhdawson
    Member

    @joesepi, @mmarchini I think this can be close now ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions