联系我们

广州有点牛科技有限公司

广州市天河区东东路27号201室

黄经理

15219366905

1037378521@qq.com

浏览器实验程序

发布者:管理员发布时间:2024-12-21访问量:6

我们基于浏览器开发了一个实验程序,旨在研究学生学习数学知识的内在认知机制。这个实验程序通过提出问题并根据被试的回答的正误给予不同级别的提示和题解,以促进他们的学习过程。

通过结合浏览器技术、创新的实验设计和数据收集方法,我们的实验程序为学生提供了一个互动和个性化的学习体验,同时为研究人员提供了宝贵的数据资源,以促进对于学习过程中的认知机制进行深入的了解。

这个实验是 2 年前“反馈学习实验” 的后续实验,采用了相同的代码库,但额外增加了 GUI 实验控制台与被试数据监控、分析能力。

案例亮点

无偏、自适应设备宽度的心理学问卷界面

a93c4894_图片.png

df30d679_图片.png

实验数据实时监控分析,筛选无效被试,改进实验设计

b6a5a34c_6ae0b524ab58752dba270b15aa66471.png

ba35763a_5bb3747de6d63bdf49d9fabda5ef181.png

实验控制台,支持一键启动实验、数据收集与下载

1697ce4a_bd96d10f4bb1a33897ad1e354203ff4.jpg

技术方案

我们使用 ClojureScript 结合 React.js(Reagent)和 re-frame 实现界面展现和数据上报。ClojureScript 是一种功能强大的编程语言,它是 Clojure 语言的一种方言,专门用于编写运行在浏览器环境中的代码。它具有简洁、表达力强和函数式编程的特点。借助于阿里云对象存储和 CI/CD 系统,实验版本更新能够自动进行远程分发,只用刷新浏览器即可使用,避免了本地下载安装和部署的繁琐,减少了错误。

被试实验数据通过 Clojure Web 服务器进行收集并持久化存储,并提供解析和下载功能,借助于 Clojure 的代码实时热更新能力,数据预处理、Excel 下载可以在无需重启 Java 虚拟机的情况下进行,避免被试数据收集的中断。

实验控制台使用 Clojure 开发,借助 seesaw 库,背后使用 Java 运行时和 Swing 库实现 GUI 界面。实验控制台程序创新性的使用了 Aliyun OSS 托管脚本和依赖,并借助于一个 500kb 大小的二进制程序在每次执行程序时实时获取依赖项并执行在线脚本代码并展示 GUI 界面。这种设计允许控制台应用实时修复 BUG,增添已开发好的新版本实验程序,而完全无需重新下载应用,不仅降低了沟通成本,还提升了开发和实验效率。

被试行为实时监控系统借助于 Microsoft Clarity,能够做到对被试实验鼠标轨迹、点击和滚动行为的实时监控和事后分析,以更好筛选无效被试并改进实验设计以提升实验效果。

总的来说,借助于 ClojureScript/Clojure 和其背后的 JS/JVM 运行时,实验具有了快速开发、部署的能力。通过 Clojure 后端的异步和 Virtual Thread 支持,我们能够保证大规模上报实验数据的吞吐量和效率。这种组合为我们提供了一个强大而高效的工具链,使得开发和管理实验过程变得更加简单和可靠。

客户收益

  • 通过一个自动更新的桌面程序打开实验控制面板,执行实验或查看当前数据收集情况。

  • 实验数据会自动收集并上报,即使遇到网络故障也会自动重试。

  • 实验过程用户鼠标点击、滚动行为实时监控,统计与分析,以更好筛选无效被试并改进实验设计。

  • 实验结果会进行批处理,只需点击链接即可下载按照实验条件分类的 Excel 数据结果。