5.7 KiB
Table of Contents
- dev.metalisp.survey
dev.metalisp.survey
Introduction
I am developing a simple web application in Common Lisp that facilitates the execution of the System Usability Scale (SUS) questionnaire. This app allows users to easily conduct usability evaluations by presenting the standard SUS questions and collecting responses. The goal is to streamline the process of gathering and analyzing usability feedback.
The survey software developed aims to simplify the creation, administration and integration of questionnaires into existing websites or software systems. The use of flexible templates should enable a high degree of reusability and adaptability of the survey components. Users can easily combine and analyze data from multiple questionnaires within a single study, leading to a deeper understanding of the collected data. The software is self-hosted, which means that the data is stored on its own servers. This approach reinforces data protection and gives users complete control over their data, which is particularly important for data-sensitive areas. Through these features, the survey web application strives to make a valuable contribution to research projects, market research and other application areas where accurate data collection and analysis is crucial.
Design Goals
-
Integrate questionnaires into your own website or software: The software enables seamless integration of questionnaires into existing digital environments to improve user experience and simplify data collection.
-
Reusability through templates: Through customizable templates, the software offers an efficient solution for creating repeatable and consistent survey formats for various use cases.
-
Ability to combine data from multiple questionnaires into one study: Users can merge and aggregate data from different questionnaires to provide more comprehensive insights and analysis in a single study.
-
Data protection through self-hosting: The self-hosting option ensures complete data control and strengthens data protection as sensitive information does not need to be transferred to external servers.
Dependencies
Mailing list
Issue tracker
News Feed
Installation instructions
1. Install a Common Lisp implementation
- Ensure you have a Common Lisp implementation installed. Common options include SBCL (Steel Bank Common Lisp) and CCL (Clozure Common Lisp). You can download and install them from their respective websites:
2. Set up ASDF
- ASDF is typically bundled with modern Lisp implementations. However, if it’s not present, you can download it from ASDF’s repository.
3. Organize the project directory
-
Place the
dev.metalisp.survey
project in the~/common-lisp
directory. Ensure the directory structure looks like this:~/common-lisp/ └── dev.metalisp.survey/ ├── dev.metalisp.survey.asd └── src/ └── app.lisp
4. Configure ASDF to find the project
-
Open your Common Lisp REPL and run the following commands to set up the ASDF central registry:
;; Ensure ASDF is loaded (require :asdf) ;; Add ~/common-lisp to the ASDF central registry (push #p"~/common-lisp/" asdf:*central-registry*)
5. Load the project
-
In your REPL, load the project by running:
(asdf:load-system :dev.metalisp.survey)
6. Run the project
-
After loading the system, you can run the main function or entry point of the project.
ml-survey:start
, you would execute:(ml-survey:start)
Optional: Example Initialization in .sbclrc
To make the ASDF configuration persistent across REPL sessions, you can add the
setup to your .sbclrc
file:
-
Edit
.sbclrc
-
Open (or create) the
.sbclrc
file in your home directory and add the following lines:(require :asdf) (push #p"~/common-lisp/" asdf:*central-registry*)
-
-
Reload SBCL
- The next time you start SBCL, it will automatically include the
~/common-lisp
directory in the ASDF central registry.
- The next time you start SBCL, it will automatically include the
License
MIT