diff --git a/config/survey.jl b/config/survey.jl index db39d1e..1c2ac5f 100644 --- a/config/survey.jl +++ b/config/survey.jl @@ -21,8 +21,8 @@ the questions you see now will not necessarily be in the final survey.", elseif v > 45 "Oh really? 🤨" end), - RadioSelect(:emacs_version, - "Which version of Emacs do you use?", + MultiSelect(:emacs_version, + "Which version(s) of Emacs do you use?", ["29 (master/HEAD)" => "29.0", "28.2", "28.1", "27.2", "27.1", "26.3", :other], validators = v -> if isnothing(match(r"^\d+\.\d+$", v)) @@ -90,7 +90,8 @@ the questions you see now will not necessarily be in the final survey.", validators=[wordlimit(400), charlimit(6*400)], mandatory=false), TextArea(:emacs_difficulties, - "Can you recall any difficulties you faced when initially learning Emacs?
Please be as specific and concrete as your memories permit.", + "Can you recall any difficulties you faced when initially learning Emacs?" * + "

Please be as specific and concrete as your memories permit.

", validators=[wordlimit(400), charlimit(6*400)], mandatory=false), RadioSelect(:emacs_introduction, @@ -121,7 +122,7 @@ the questions you see now will not necessarily be in the final survey.", MultiSelect(:package_discovery, "How do you learn about new packages?", ["Reddit", "GitHub", "Mailing lists", - "IRC servers", "Matrix servers", "Discord servers", + "IRC servers", "Matrix servers", "Discord", "Discourse", "Blogs", "Web search engines", "GNU ELPA/MELPA online package lists", "M-x list-packages", :other]), MultiSelect(:package_research, @@ -211,10 +212,10 @@ the questions you see now will not necessarily be in the final survey.", RadioSelect(:email_package, "Do you use an Email client in Emacs?", ["No", "Gnus", "Mu4e", "notmuch", "Wanderlust", "Rmail", :other]), - RadioSelect(:spell_package, + MultiSelect(:spell_package, "Do you use a spell checker in Emacs?", ["No", "My framework/starter kit's default" => "framework default", - "flyspell", "spell-fu", "ispell", :other]), + "flyspell", "spell-fu", "ispell", "langtool", :other]), RadioSelect(:undo_package, "Do you use an undo package in Emacs?", ["No", "My framework/starter kit's default" => "framework default", @@ -234,7 +235,9 @@ the questions you see now will not necessarily be in the final survey.", "Have you contributed to Emacs or a GNU ELPA package?", ["Frequently", "Often", "Sometimes", "Rarely", "Never"]), TextArea(:emacs_contribution_feedback, - "Have you got any feedback on the Emacs/GNU ELPA contribution process?", + "Have you got any feedback on the Emacs/GNU ELPA contribution process?" * + "

This regards the overall process: obtaining FSF assignment, " * + "path submission and review by email, etc.

", validators=[wordlimit(400), charlimit(6*400)], mandatory=false), RadioSelect(:package_contribution, @@ -243,18 +246,22 @@ the questions you see now will not necessarily be in the final survey.", RadioSelect(:isa_package_maintainer, "Do you maintain any Emacs packages?", ["Yes", "No"]), - RadioSelect(:has_donated, - "Have you ever contributed financially to Emacs development (via the FSF)", - ["No", - "Yes", + RadioSelect(:has_donated_fsf, + "Do you contribute financially to Emacs development (via the FSF)", + ["No", "I have in the past" "Yes", "I would if I could donate to Emacs directly" => "Would directly", - "I would like to, but cannot" => "Cannot"])), + "I would like to, but cannot" => "Cannot", :other]), + RadioSelect(:has_donated_community, + "Do you contribute financially to members of the Emacs community?", + ["No", "I have in the past", "Yes", + "I would like to, but cannot" => "Cannot", + :other])), SurveyPart("Demographics (all questions are optional)", NumberInput(:respondent_age, "How old are you?", validators = n -> if n < 8 "My, you're advanced for you're age. Suspiciously advanced…" - elseif n > 100 + elseif n > 99 "Congratulations on becoming a centenarian! How about you get one of your grandchildren to do this survey instead?" end, mandatory=false),