CSPro CAWI: 'Hello World' CSEntry Web
Posted: December 1st, 2025, 6:51 am
Dear All,
I am very happy to share with you the first alpha version of a CSPro CAWI version. It is a simple "Hello World" in the CSPro CAWI world!
I have been advocating for CSPro to go open source and support CAWI for a long time. Perhaps the recent changes in CSPro funding were a "blessing in disguise" (un mal pour un bien), as the software was finally released as open source earlier this year.
I started thinking about this project more two decades ago when I first tested CSPro in November 2004. While I discovered a paid CSProX CAWI version from Serpro, the public domain version lacked this feature—until this first alpha release.
I have always been convinced that if CSPro were open source and supported CAWI, it would become a major player. In my opinion, it is more powerful than any known CAPI software options (BLAISE, Qualtrics, ConfirmIt, Survey Monkey, ODK, Survey Solutions, etc.).
I am aware that the official CSPro Development Team is working on a CAWI version, which will be a game-changer. However, they will likely use a different approach than mine. While I suspect the official team will port the Android UI, my alpha version is based on the CSEntry Windows MFC UI.
Why?
Because I am old-fashioned and prefer entering matrix data in rosters rather than the "one question per screen" approach.
Technical Details & Testing
This alpha version (which is not yet bug-free) is a NodeJS WASM JSPI-enabled version. It runs the full CSEntry interpreter (runtime engine) on the server, rather than the browser, because JSPI is not yet widely available in browsers. I attempted to implement an Asyncify version to run serverless, but the build size was three times larger, slower, and more bug-prone than the JSPI version.
Test it here: http://185.144.157.25:3003/
Note: You can load "Simple CAPI" from Server or Assets. Please do not upload new applications yet; there is a bug regarding nested folders which I will fix this week.
Source Code: https://github.com/gregvolny/CSEntryWeb
Latest Branch: https://github.com/gregvolny/CSEntryWeb ... -Web_Nov30
CSPro logic Web/WASM compatibility dev report: https://github.com/gregvolny/CSEntryWeb ... Report.pdf
It would have been impossible for me to implement this without the latest LLMs. I used them as teachers (to understand the CSPro source code) and also as coding assistants.
As for today, the source code of this application is not well organized and cleaned. This will be fixed soon!
Please note that most menu entries are not yet implemented, and there are known bugs. I expect to release a beta version in the coming months.
Your contributions are welcome! Please use Github to post issues and contributions, ideas etc. I will be happy to merge your pull requests!
I will likely try to follow some of the recommendations of this guide : https://www2.census.gov/about/transform ... elines.pdf before the first production version.
Best,
I am very happy to share with you the first alpha version of a CSPro CAWI version. It is a simple "Hello World" in the CSPro CAWI world!
I have been advocating for CSPro to go open source and support CAWI for a long time. Perhaps the recent changes in CSPro funding were a "blessing in disguise" (un mal pour un bien), as the software was finally released as open source earlier this year.
I started thinking about this project more two decades ago when I first tested CSPro in November 2004. While I discovered a paid CSProX CAWI version from Serpro, the public domain version lacked this feature—until this first alpha release.
I have always been convinced that if CSPro were open source and supported CAWI, it would become a major player. In my opinion, it is more powerful than any known CAPI software options (BLAISE, Qualtrics, ConfirmIt, Survey Monkey, ODK, Survey Solutions, etc.).
I am aware that the official CSPro Development Team is working on a CAWI version, which will be a game-changer. However, they will likely use a different approach than mine. While I suspect the official team will port the Android UI, my alpha version is based on the CSEntry Windows MFC UI.
Why?
Because I am old-fashioned and prefer entering matrix data in rosters rather than the "one question per screen" approach.
Technical Details & Testing
This alpha version (which is not yet bug-free) is a NodeJS WASM JSPI-enabled version. It runs the full CSEntry interpreter (runtime engine) on the server, rather than the browser, because JSPI is not yet widely available in browsers. I attempted to implement an Asyncify version to run serverless, but the build size was three times larger, slower, and more bug-prone than the JSPI version.
Test it here: http://185.144.157.25:3003/
Note: You can load "Simple CAPI" from Server or Assets. Please do not upload new applications yet; there is a bug regarding nested folders which I will fix this week.
Source Code: https://github.com/gregvolny/CSEntryWeb
Latest Branch: https://github.com/gregvolny/CSEntryWeb ... -Web_Nov30
CSPro logic Web/WASM compatibility dev report: https://github.com/gregvolny/CSEntryWeb ... Report.pdf
It would have been impossible for me to implement this without the latest LLMs. I used them as teachers (to understand the CSPro source code) and also as coding assistants.
As for today, the source code of this application is not well organized and cleaned. This will be fixed soon!
Please note that most menu entries are not yet implemented, and there are known bugs. I expect to release a beta version in the coming months.
Your contributions are welcome! Please use Github to post issues and contributions, ideas etc. I will be happy to merge your pull requests!
I will likely try to follow some of the recommendations of this guide : https://www2.census.gov/about/transform ... elines.pdf before the first production version.
Best,