First round of suggestions

This commit is contained in:
TEC 2022-05-21 00:26:08 +08:00
parent a2929b97d2
commit 63d851e65c
Signed by: tec
GPG Key ID: 779591AFDB81F06C
1 changed files with 48 additions and 33 deletions

View File

@ -24,6 +24,12 @@ the questions you see now will not neccesarily be in the final survey.",
"Which version/fork of Emacs do you use?", "Which version/fork of Emacs do you use?",
["29 (master)" => "29", ["29 (master)" => "29",
"28", "27", "26", :other]), "28", "27", "26", :other]),
MultiSelect(:emacs_motivations_current,
"Which features keep you using Emacs?",
["Extensibility", "Package(s)", "Text editing features",
"Community", "Part of the GNU project / FSF",
:other],
mandatory=false)),
MultiSelect(:operating_system, MultiSelect(:operating_system,
"Which operating system to you use Emacs on?", "Which operating system to you use Emacs on?",
["GNU/Linux", "Windows", "MacOS", "BSD", :other]), ["GNU/Linux", "Windows", "MacOS", "BSD", :other]),
@ -32,6 +38,10 @@ the questions you see now will not neccesarily be in the final survey.",
["Graphical Application (GUI)" => "GUI", ["Graphical Application (GUI)" => "GUI",
"Terminal (TUI)" => "TUI", "Terminal (TUI)" => "TUI",
"Daemon/Client" => "daemon"]), "Daemon/Client" => "daemon"]),
RadioSelect(:emacs_performance,
"How well does Emacs perform in your experience?",
["Very well, it's snappy", "Good but not great",
"Alright", "Not well", "Poorly, it's slugish"]),
RadioSelect(:keybindings, RadioSelect(:keybindings,
"Which keybindings do you use?", "Which keybindings do you use?",
["Default (Emacs)" => "Emacs", "Vim", "CUA", :other]), ["Default (Emacs)" => "Emacs", "Vim", "CUA", :other]),
@ -50,17 +60,17 @@ the questions you see now will not neccesarily be in the final survey.",
"I maintain multiple packages" => "many packages"]), "I maintain multiple packages" => "many packages"]),
MultiSelect(:languages, MultiSelect(:languages,
"Which languages do you program (in Emacs) in?", "Which languages do you program (in Emacs) in?",
["Assembly", "C++", "C", "C#", "Clojure", ["Assembly", "C++", "C", "C#", "Clojure", "Elixir",
"Erlang", "Go", "HTML/CSS", "Haskell", "Javascript", "Erlang", "Go", "HTML/CSS", "Haskell", "Javascript",
"Julia", "Java", "Lisp", "Python", "PHP", "Perl", "Julia", "Java", "Elisp", "Python", "PHP", "Perl",
"R", "Rust", "Ruby", "Shell scripting" => "Shell", "R", "Rust", "Ruby", "Scheme", "Shell scripting" => "Shell",
"SQL", "Typescript", :other])), "SQL", "Typescript", "Prose (writing)" => "Prose", :other])),
SurveyPart("First time questions", SurveyPart("First time questions",
"All of these questions are <i>optional</i>. Answer these if you're doing the survey for the first time.", "All of these questions are <i>optional</i>. Answer these if you're taking the survey for the first time.",
RadioSelect(:prior_editor, RadioSelect(:prior_editor,
"Which editor did you use before you started using Emacs?", "Which editor did you use before you started using Emacs?",
["None", "Vim", "VS Code", "IntelliJ", "Atom", ["None", "Vim", "VS Code", "IntelliJ", "Atom",
"Eclipse", "Nodepad++", :other], "Sublime Text", "Eclipse", "Nodepad++", :other],
mandatory=false), mandatory=false),
TextArea(:emacs_strengths, TextArea(:emacs_strengths,
"What do you think are Emacs' greatest strengths?", "What do you think are Emacs' greatest strengths?",
@ -72,12 +82,14 @@ the questions you see now will not neccesarily be in the final survey.",
mandatory=false), mandatory=false),
RadioSelect(:emacs_introduction, RadioSelect(:emacs_introduction,
"How were you introduced to Emacs?", "How were you introduced to Emacs?",
["Friend", "University", "Some part of the internet" => "Internet", :other], ["Friend", "Recommended by a collegue" => "Collegue",
"University/College", "Some part of the internet" => "Internet", :other],
mandatory=false), mandatory=false),
MultiSelect(:emacs_motivations, MultiSelect(:emacs_motivations_initial,
"What features motivated you to initially try Emacs?", "Which features motivated you to initially try Emacs?",
["Extensibility", "Package/ecosystem", ["Extensibility", "Package(s)", "Text editing features",
"Community", "Part of the GNU project / FSF"], "Community", "Part of the GNU project / FSF",
:other],
mandatory=false)), mandatory=false)),
SurveyPart("Packages", SurveyPart("Packages",
MultiSelect(:package_manager, MultiSelect(:package_manager,
@ -91,19 +103,18 @@ the questions you see now will not neccesarily be in the final survey.",
MultiSelect(:package_repositories, MultiSelect(:package_repositories,
"Which package repositories do you use?", "Which package repositories do you use?",
["My framework/starter kit's default" => "framework default", ["My framework/starter kit's default" => "framework default",
"GNU ELPA" => "ELPA", "Melpa", "Melpa Stable", "GNU ELPA" => "ELPA", "NonGNU Elpa", "Melpa", "Melpa Stable",
"Built from source (e.g. using straight)" => "Source", "Built from source (e.g. using straight)" => "Source",
"not sure", :other]), "not sure", :other]),
TextArea(:favorite_packages, TextArea(:favorite_packages,
"Could you list some of your favourite packages? (comma-seperated)"; "Could you list some of your favourite packages? (comma-seperated)";
validators = [t -> if length(split(t, ',')) < 2 validators = [t -> if length(split(t, ',')) > 10
"Come on, surely you like at least two packages?"
elseif length(split(t, ',')) > 10
"That's a lot of packages. Surely you can cut that down to a top 10?" "That's a lot of packages. Surely you can cut that down to a top 10?"
end, wordlimit(30), charlimit(200)]), end, wordlimit(30), charlimit(200)]),
MultiSelect(:theme, # people can use a light and dark theme MultiSelect(:theme, # people can use a light and dark theme
"Which theme do you use?", "Which theme do you use?",
["The default theme" => "default", ["The default <i>light</i> theme" => "default light",
"The default <i>dark</i> theme" => "default dark",
"my own custom theme", "my own custom theme",
"doom-one", "dracula", "gruvbox", "doom-one", "dracula", "gruvbox",
"modus-operandi", "modus-vivendi", "nord", "modus-operandi", "modus-vivendi", "nord",
@ -118,10 +129,10 @@ the questions you see now will not neccesarily be in the final survey.",
mandatory=false), mandatory=false),
RadioSelect(:magit_usage, RadioSelect(:magit_usage,
"How often do you use Magit?", "How often do you use Magit?",
["Frequently", "Rarely", "Never"]), ["Frequently", "Often", "Sometimes", "Rarely", "Never"]),
RadioSelect(:tramp_usage, RadioSelect(:tramp_usage,
"How often do you use TRAMP?", "How often do you use TRAMP?",
["Frequently", "Rarely", "Never"]), ["Frequently", "Often", "Sometimes", "Rarely", "Never"]),
MultiSelect(:term_package, MultiSelect(:term_package,
"Do you use a terminal emulator in Emacs?", "Do you use a terminal emulator in Emacs?",
["No", "eshell", "shell", "term", "ansi-term", "vterm", :other]), ["No", "eshell", "shell", "term", "ansi-term", "vterm", :other]),
@ -131,11 +142,11 @@ the questions you see now will not neccesarily be in the final survey.",
RadioSelect(:spell_package, RadioSelect(:spell_package,
"Do you use a spell checker in Emacs?", "Do you use a spell checker in Emacs?",
["No", "My framework/starter kit's default" => "framework default", ["No", "My framework/starter kit's default" => "framework default",
"flyspell", "spell-fu", :other]), "flyspell", "spell-fu", "ispell", :other]),
RadioSelect(:undo_package, RadioSelect(:undo_package,
"Do you use an undo package in Emacs?", "Do you use an undo package in Emacs?",
["No", "My framework/starter kit's default" => "framework default", ["No", "My framework/starter kit's default" => "framework default",
"undo-tree", "undo-fu", :other]), "undo-tree", "undo-fu", "vundo", :other]),
RadioSelect(:project_package, RadioSelect(:project_package,
"Do you use an project management package in Emacs?", "Do you use an project management package in Emacs?",
["No", "My framework/starter kit's default" => "framework default", ["No", "My framework/starter kit's default" => "framework default",
@ -148,15 +159,15 @@ the questions you see now will not neccesarily be in the final survey.",
:other])), :other])),
SurveyPart("Contribution", SurveyPart("Contribution",
RadioSelect(:emacs_contribution, RadioSelect(:emacs_contribution,
"Have you ever contributed to Emacs or an ELPA package?", "Have you contributed to Emacs or an ELPA package?",
["No", "Occasionaly", "Frequently"]), ["Frequently", "Often", "Sometimes", "Rarely", "Never"]),
TextArea(:emacs_contribution_feedback, TextArea(:emacs_contribution_feedback,
"Have you got any feedback on the Emacs/ELPA contribution process?", "Have you got any feedback on the Emacs/ELPA contribution process?",
validators=[wordlimit(400), charlimit(6*400)], validators=[wordlimit(400), charlimit(6*400)],
mandatory=false), mandatory=false),
RadioSelect(:melpa_contribution, RadioSelect(:package_contribution,
"Have you ever contributed to a Melpa package?", "Have you contributed to an Emacs package?",
["No", "Occasionaly", "Frequently"]), ["Frequently", "Often", "Sometimes", "Rarely", "Never"]),
RadioSelect(:isa_package_maintainer, RadioSelect(:isa_package_maintainer,
"Do you maintain any Emacs packages?", "Do you maintain any Emacs packages?",
["Yes", "No"]), ["Yes", "No"]),
@ -182,7 +193,7 @@ the questions you see now will not neccesarily be in the final survey.",
RadioSelect(:respondant_education, RadioSelect(:respondant_education,
"What is the highest level of education you have completed?", "What is the highest level of education you have completed?",
["High school" => "School", ["High school" => "School",
"Asosociate's Degree" => "Asosociates", "Associate's Degree" => "Associates",
"Bachelor's Degree" => "Bachelors", "Bachelor's Degree" => "Bachelors",
"Master's Degree" => "Masters", "Master's Degree" => "Masters",
"PhD or equivalent" => "PhD"], "PhD or equivalent" => "PhD"],
@ -214,18 +225,22 @@ the questions you see now will not neccesarily be in the final survey.",
"Qatari", "Romanian", "Russian", "Rwandan", "Salvadorean", "Sammarinese", "Samoan", "Sao", "Tomean", "Qatari", "Romanian", "Russian", "Rwandan", "Salvadorean", "Sammarinese", "Samoan", "Sao", "Tomean",
"Saudi Arabian", "Scottish", "Senegalese", "Serbian", "Seychelles citizen", "Sierra", "Leonean", "Saudi Arabian", "Scottish", "Senegalese", "Serbian", "Seychelles citizen", "Sierra", "Leonean",
"Singaporean", "Slovak", "Slovenian", "Solomon Islander", "Somali", "South African", "South Korean", "Singaporean", "Slovak", "Slovenian", "Solomon Islander", "Somali", "South African", "South Korean",
"South Sudanese", "Spanish", "Sri", "Lankan", "St Helenian", "St Lucian", "Stateless", "Sudanese", "South Sudanese", "Spanish", "Sri Lankan", "St Helenian", "St Lucian", "Stateless", "Sudanese",
"Surinamese", "Swazi", "Swedish", "Swiss", "Syrian", "Taiwanese", "Tajik", "Tanzanian", "Thai", "Togolese", "Surinamese", "Swazi", "Swedish", "Swiss", "Syrian", "Taiwanese", "Tajik", "Tanzanian", "Thai", "Togolese",
"Tongan", "Trinidadian", "Tristanian", "Tunisian", "Turkish", "Turkmen", "Turks and Caicos Islander", "Tongan", "Trinidadian", "Tristanian", "Tunisian", "Turkish", "Turkmen", "Turks and Caicos Islander",
"Tuvaluan", "Ugandan", "Ukrainian", "Uruguayan", "Uzbek", "Vatican citizen", "Vanuatu citizen", "Tuvaluan", #"United States citizen" => "American",
"Venezuelan", "Vietnamese", "Vincentian", "Wallisian", "Welsh", "Yemeni", "Zambian", "Zimbabwean"], "Ugandan", "Ukrainian", "Uruguayan", "Uzbek",
"Vatican citizen", "Vanuatu citizen", "Venezuelan", "Vietnamese", "Vincentian", "Wallisian", "Welsh",
"Yemeni", "Zambian", "Zimbabwean"],
mandatory=false), mandatory=false),
RadioSelect(:respondent_ocupation, RadioSelect(:respondent_ocupation,
"Which industry do you work in?", "Which industry do you work in?",
["Academia (Student)" => "Student", ["Academia (Student)" => "Student",
"Academia/Research" => "Research", "Academia/Research" => "Research",
"Education", "FinTech", "Creative/Writing",
"Education services", "FinTech",
"Healthcare", "Legal", "Manufacturing", "Healthcare", "Legal", "Manufacturing",
"Media/Publishing",
"Software Development", "Telecom", "Software Development", "Telecom",
:other], :other],
mandatory=false)), mandatory=false)),
@ -235,8 +250,8 @@ the questions you see now will not neccesarily be in the final survey.",
["Yes", "No"]), ["Yes", "No"]),
RadioSelect(:survey_referrer, RadioSelect(:survey_referrer,
"How did you find out about this survey?", "How did you find out about this survey?",
["r/emacs", "Hacker News", "Direct message", ["r/emacs", "Hacker News", "Direct message / friend" => "Friend",
"Discord", "Twitter", "Blog post", "Mailing list", "Discord", "Twitter", "Blog post", "Emacs mailing list",
"lobste.rs", "Telegram", "Emacs China", "IRC", "lobste.rs", "Telegram", "Emacs China", "IRC",
:other]), :other]),
RadioSelect(:survey_ux, RadioSelect(:survey_ux,