dev.metalisp.sbt/docs/pattern/survey-examples/user-research.org

3.8 KiB

Create lisp package

  (defpackage user-research-app
    (:use :cl)
    (:import-from :dev.metalisp.sbt :with-page)
    (:import-from :dev.metalisp.sbt/pattern/questionnaire :questionnaire))
#<PACKAGE "USER-RESEARCH-APP">

Demographics

  (in-package :user-research-app)

  (defun generate-demographics-survey ()
    "Generates an HTML page with questionnaires using questionnaire macros."
    (with-output-to-string (spinneret:*html*)
      (with-page (:title "Product Experience Survey" :main-con t)
        (questionnaire "/submit"
          (:ask "What is your age range?"
           :group "demo-age-range"
           :choices (:single "18-24" "25-34" "35-44" "45-54" "55+"))
          (:ask "What is your gender?"
           :group "demo-gender"
           :choices (:single "Male" "Female" "Non-binary" "Prefer not to say" "Other" :text "Other"))
          (:ask "What is your profession?"
           :group "demo-profession"
           :choices (:text "Profession"))
          (:ask "What is your educational background?"
           :group "demo-edu"
           :choices (:text "Last Degree"))))))

  (format t (generate-demographics-survey))

/marcuskammer/dev.metalisp.sbt/src/commit/b2ff3dc228395d9d413921f76b054923ff2e4168/docs/pattern/survey-examples/demographics-survey.html

Geographics

  (in-package :user-research-app)

  (defun generate-geographics-survey ()
    "Generates an HTML page with questionnaires using questionnaire macros."
    (with-output-to-string (spinneret:*html*)
      (with-page (:title "Product Experience Survey" :main-con t)
        (questionnaire "/submit"
          (:ask "Where are you located?"
           :group "geo-loca"
           :choices (:text "Country"))
          (:ask "Which timezone do you operate in?"
           :group "geo-timezone"
           :choices (:text "Timezone"))))))

  (format t (generate-geographics-survey))

/marcuskammer/dev.metalisp.sbt/src/commit/b2ff3dc228395d9d413921f76b054923ff2e4168/docs/pattern/survey-examples/geographics-survey.html

Behavioral

  (in-package :user-research-app)

  (defun generate-behavioral-survey ()
    "Generates an HTML page with questionnaires using questionnaire macros."
    (with-output-to-string (spinneret:*html*)
      (with-page (:title "Product Experience Survey" :main-con t)
        (questionnaire "/submit"
          (:ask "How often do you use our software?"
           :group "beh-useage"
           :choices (:single "Daily" "Weekly" "Monthly" "Less frequently"))
          (:ask "What features do you use the most?"
           :group "beh-feature"
           :choices (:multiple "Bookmarks" "KPI" "Contacts"))
          (:ask "Have you used our software for along period of time?"
           :group "beh-longuse"
           :choices (:single "Yes" "No"))))))

  (format t (generate-behavioral-survey))

/marcuskammer/dev.metalisp.sbt/src/commit/b2ff3dc228395d9d413921f76b054923ff2e4168/docs/pattern/survey-examples/behavioral-survey.html

Psychographics

  (in-package :user-research-app)

  (defun generate-psychographics-survey ()
    "Generates an HTML page with questionnaires using questionnaire macros."
    (with-output-to-string (spinneret:*html*)
      (with-page (:title "Product Experience Survey" :main-con t)
        (questionnaire "/submit"
          (:ask "What do you value most in our software?"
           :group "psy-value"
           :choices (:text "Most value"))
          (:ask "What motivates you to use our software?"
           :group "psy-motivate"
           :choices (:text "Your motivation"))))))

  (format t (generate-psychographics-survey))

/marcuskammer/dev.metalisp.sbt/src/commit/b2ff3dc228395d9d413921f76b054923ff2e4168/docs/pattern/survey-examples/psychographics-survey.html