jsPsych課題でオンライン実験を行う方法
jsPsychを使ってオンライン実験をする場合は,サーバーを借りて実行・データ保存するホスティングが必要になります。以下を参考に,ご自身の目的にあった方法を選択ください。
| サービス | 設定方法 | 費用 | 実施の難易度(完全主観) |
|---|---|---|---|
| JATOS | 自分が管理するサーバーにJATOSを設置して実験実施(DigitalOceanを使う方法もある) | レンタルサーバー代 | 初期設定をすれば利用は難しくない。サーバーの管理とJatosifyの知識が必要 |
| Pavlovia | Pavloviaが管理しているサーバー上で実験実施 | 有料 | サーバーの管理は不要。Gitに慣れていると難しくない |
| Firebase | 自分で設定したFirebase上で実験実施 | 大規模な運用でなければ無料 | サーバーの管理は不要。Firebaseの知識が必要 |
| Google Spreadsheet | Google SpreadsheetのGASを使って実験実施 | 大規模な運用でなければ無料 | サーバーの管理は不要。GASの知識が必要 |
GitHub Pagesを使ってjsPsych課題をオンライン公開する方法
すぐに試すことが出来る方法として,以下では,GitHub Pagesを使ってjsPsych課題をオンライン公開する方法について説明します。
- まず,GitHubアカウントをお持ちじゃない方は,GitHubにてアカウントを作成してください。
- GitHubアカウントを作成したら,右上の+の横の下矢印を押して,「Import repository」をクリックします。

- 以下のようなページがでてきたら, https://github.com/ykunisato/template-jsPsych-task をコピーして,オレンジの枠内にペーストします。そして,青の枠内好きなリポジトリ名をつけて,「Begin import」をクリックします。これで,国里のリポジトリにあるjsPsychの基本的な設定がなされたリポジトリがインポートされます。

- 以下のようになったらインポート完了です。

- インポートするとリポジトリは以下のようになります(jatos用HTMLなど,今回に関係のないファイルも含まれていますが,気にならず・・・)。

- このリポジトリのブラウザ画面上で,ピリオド(.)をタイプするか,URLのgithub.comをgithub.devに変更します。すると,ブラウザ上で以下のようなVisual Studio Codeの編集画面になります(コードの編集がブラウザ上でも実行できます!)

- このリポジトリではHTMLとjsを分けているので,TWSで作成したjavascriptのコードをtask.jsに上書き保存をしてください(インポートしたリポジトリのjsファイルにはストループ課題がはいっていたので,TWSのフランカー課題を上書きします)。その際に,別途,以下のタイムラインを追加ください。
var timeline = [inst_flanker, flanker_task];

- 変更を加えると,オレンジで囲った部分のように,変更したファイルがあることが表示されます。GitHubは,Gitというバージョン管理ソフトを使ったリポジトリです。
- ファイルに変更を加えた場合は,変更についてのメッセージを加えたコミットをします。まず,オレンジで囲われた部分をクリックすると,上に何か入力欄がでてきます。この青で囲われた入力欄に変更についてのメッセージをいれます(日本語でも問題ありません)。そして,上の赤で囲われたチェックボックスをクリックします。これで,変更がメッセージを含めて保存され,リポジトリが更新されました。

- リポジトリが更新されたか確認するために,リポジトリに戻ります。左上の角をクリックして,「Go to Repository」をクリックします。

- リポジトリに戻って,task.jsが変更されているか確認します。

- それでは,作った課題をGitHub Pagesで公開してみましょう。「Settings」(赤枠)をクリックして,左下の「Pages」(緑枠)をクリックしてください。GitHub Pagesというページが開きます。

- Sourceのところで,「main」, 「/root」を選んで,「Save」をクリックします。

- 以下のようにURLが出てきたら,成功です。URLをコピーします。

- 上でコピーしたURLに"task.html"を追加すると(https://・・・/task.html),以下のようにオンライン上で課題を実施できます。

GitHub Pagesで公開したオンライン課題のデータの保存
GitHub Pagesでは,データを保存できないので,実際にウェブ実験をする場合は,サーバーを借りたりする必要があります。ただ,GitHub PagesからデータをDropboxに保存させる方法もあります。若干リスクのある方法ですので,Saving jsPsych data to your Dropbox folderを読んだ上で利用ください。
執筆者: 国里愛彦