Frequently Asked Questions (FAQ)
Quick Summary: Common questions about PEBL, the PEBL Online Platform, licensing, permissions, technical specifications, and system requirements.
What You'll Learn
- Whether you need permission to use PEBL in your research
- Current PEBL version and build information
- Platform architecture and technology stack
- Browser compatibility requirements
- System specifications and limitations
Video Overview
New to PEBL Hub? Watch this 13-minute overview video that demonstrates how to use the platform:
📺 PEBL Hub Overview (13 minutes)
The video covers platform navigation, creating studies, configuring tests, and collecting data. For a step-by-step written guide, see Getting Started.
General Questions
Do I need permission to use PEBL software in my research study?
No, you do not need permission to use PEBL.
PEBL is free and open-source software licensed under the GNU General Public License (GPL) version 2. This means:
✅ You can use PEBL freely for any purpose:
- Academic research
- Clinical studies
- Educational projects
- Commercial applications
- Personal projects
✅ No permission required to:
- Run PEBL tests with participants
- Modify PEBL tests for your needs
- Publish research using PEBL
- Cite PEBL in your papers
✅ No licensing fees:
- PEBL is completely free
- No cost per participant
- No usage restrictions
- No registration required
What is the GNU General Public License (GPL)?
The GPL is a free software license that guarantees users the freedom to use, study, share, and modify software.
Key points:
- Freedom to use: You can run the software for any purpose without restriction
- Freedom to study: Source code is available for you to examine and understand
- Freedom to share: You can redistribute copies to help others
- Freedom to modify: You can change the software to suit your needs
- If you distribute modified versions of PEBL (give copies to others), you must also make your modifications available under the GPL
- If you only use PEBL for research (without distributing modified versions), there are no additional requirements
Do I need to cite PEBL in my publications?
While not required by the license, citing PEBL is encouraged and appreciated:
Recommended citation:
Mueller, S. T., & Piper, B. J. (2014). The Psychology Experiment Building Language
(PEBL) and PEBL Test Battery. Journal of Neuroscience Methods, 222, 250-259.
For the PEBL Online Platform specifically, consider acknowledging:
Tests were administered using the PEBL Online Platform (https://peblhub.online),
which uses PEBL version [version] compiled to WebAssembly.
Can I modify PEBL tests for my research?
Yes, absolutely! The GPL explicitly grants you this right.
You can:
- ✅ Adjust test parameters (timing, trial counts, etc.)
- ✅ Change instructions or stimuli
- ✅ Translate tests to other languages
- ✅ Add or remove test components
- ✅ Create entirely new tests using PEBL
If you modify tests:
- You do NOT need to share your modifications if you only use them internally
- You MUST share modifications if you distribute them to others (but can do so through the platform's custom test upload feature)
Can I use PEBL for commercial purposes?
Yes! The GPL allows commercial use.
Examples of allowed commercial uses:
- ✅ Clinical assessment in private practice
- ✅ Corporate training programs
- ✅ Consulting services using PEBL tests
- ✅ Educational institutions (universities, schools)
- ✅ Research services companies
However:
- You cannot remove the GPL license from PEBL
- If you distribute modified PEBL software, it must remain GPL-licensed
Who created PEBL?
PEBL was created and is maintained by Dr. Shane Mueller (Michigan Technological University) and contributors from the research community.
Development history:
- Original release: 2003
- Current version: 2.2 (WebAssembly-enabled)
- Active development: Ongoing
- Community: Hundreds of researchers worldwide
More information:
- PEBL website: http://pebl.sourceforge.net
- Source code: https://sourceforge.net/projects/pebl/
Platform Version Information
What version of PEBL is the platform running?
PEBL Version: 2.3
Build Type: WebAssembly (Emscripten)
Git Commit: cb2eaa506e32494f77f54f9059a5c2d25479ea8e
Commit Date: 2026-01-21 23:19:31 -0500
Last Deployed: 2026-01-23
Note: Version information is automatically updated during deployment. The commit hash and date reflect the exact PEBL codebase currently running on the platform.
What is PEBL?
PEBL (Psychology Experiment Building Language) is a free, open-source programming language and software platform designed specifically for creating psychological experiments and cognitive tests.
Key Features
- Cross-platform: Runs on Windows, macOS, Linux, and web browsers
- Purpose-built: Designed specifically for psychological research
- Free and open-source: No licensing fees or restrictions
- Extensive library: 100+ pre-built cognitive tests
- Multi-language support: Tests available in multiple languages
- Precise timing: Millisecond-accurate response time measurement
- Flexible: From simple reaction time tests to complex experimental designs
How is PEBL used in this platform?
The PEBL Online Platform compiles PEBL code to WebAssembly (Wasm), allowing PEBL tests to run directly in web browsers without requiring participants to install any software.
Technology Stack:
- PEBL Language: C++-based interpreter compiled to JavaScript/Wasm
- Emscripten: Compiler toolchain for C/C++ to WebAssembly
- SDL2: Graphics and input handling (compiled to Wasm)
- Virtual File System: Emscripten's FS API for data file access
Browser Requirements
Supported Browsers
The platform requires a modern web browser with WebAssembly support:
Desktop:
- ✅ Chrome 57+ (recommended)
- ✅ Firefox 52+
- ✅ Safari 11+
- ✅ Edge 16+ (Chromium-based)
- ✅ Opera 44+
Mobile (limited support):
- ⚠️ iOS Safari 11+ (some tests may have issues)
- ⚠️ Chrome for Android (some tests may have issues)
- ❌ Mobile browsers not recommended for complex cognitive tests
Required Features
Your browser must support:
- ✅ WebAssembly (Wasm)
- ✅ JavaScript ES6+
- ✅ HTML5 Canvas
- ✅ Web Audio API (for tests with sound)
- ✅ Fullscreen API (for fullscreen tests)
- ✅ IndexedDB (for local data caching)
Checking Browser Compatibility
Visit this page to verify your browser supports required features:
- WebAssembly test: https://webassembly.org/
Platform Architecture
How do PEBL tests run in the browser?
- Compilation: PEBL C++ interpreter is compiled to WebAssembly using Emscripten
- Test Loading: PEBL test scripts (.pbl files) are loaded into virtual file system
- Interpretation: WebAssembly PEBL interpreter executes test scripts
- Rendering: Graphics rendered to HTML5 Canvas element
- Data Collection: Results saved to virtual file system, then uploaded to server
What is WebAssembly?
WebAssembly (Wasm) is a binary instruction format that runs at near-native speed in web browsers. It allows languages like C++ to be compiled to run efficiently in browsers.
Benefits for PEBL:
- Near-native performance (within 20% of native C++ speed)
- No software installation required
- Cross-platform compatibility
- Secure sandbox environment
- Access to web APIs (graphics, audio, networking)
Build Configuration
Emscripten Settings:
- Optimization level:
-O3(production builds) - Memory: Initial 256MB, growable to 2GB
- Filesystem: MEMFS (in-memory) + preloaded assets
- Asyncify: Enabled (for event loops and timing)
- SDL2 support: Full graphics, audio, input handling
Performance and Limitations
System Requirements
Minimum:
- CPU: 2 GHz dual-core processor
- RAM: 4 GB
- Internet: 5 Mbps broadband connection
- Display: 1024×768 resolution
Recommended:
- CPU: 2.5 GHz quad-core processor
- RAM: 8 GB
- Internet: 10+ Mbps broadband connection
- Display: 1920×1080 resolution
Platform Limitations
Data Storage:
- Browser IndexedDB: ~50 MB per origin
- Virtual filesystem: Limited by available RAM
- Large datasets should be downloaded frequently
Network:
- Test bundles cached locally after first load
- Data uploads require stable internet connection
- Offline mode not supported
Timing Precision:
- Display timing: Limited by browser vsync (~60 Hz)
- Input timing: ~1 ms precision (browser-dependent)
- Audio timing: ~10-20 ms latency (Web Audio API)
Mobile Devices:
- Touch input may not be suitable for all tests
- Screen size limitations for complex layouts
- Battery drain during long test sessions
- Background app switching may interrupt tests
Version History and Updates
How often is PEBL updated?
The PEBL Online Platform is updated whenever significant improvements or bug fixes are made to the PEBL codebase.
Update frequency:
- Bug fixes: As needed (immediate for critical issues)
- New features: Monthly to quarterly
- Test library updates: Ongoing as tests are developed
Where can I find the full PEBL changelog?
The complete PEBL development history is available in the Git repository:
- Repository: https://sourceforge.net/p/pebl/git/
- GitHub mirror: (if available)
What's the difference between PEBL versions?
PEBL 2.2 (current):
- WebAssembly/Emscripten support
- Modern SDL2 graphics
- HTTP parameter loading
- Improved translation system
- Enhanced Layout.pbl library
PEBL 2.1 (previous):
- SDL 1.2 graphics
- Native builds only
- Limited web support
PEBL 2.0:
- Major rewrite with object-oriented design
- Cross-platform support
- Standard library expansion
Open Source and Licensing
Is PEBL open source?
Yes! PEBL is fully open source under the GNU General Public License (GPL) v2.
What this means:
- ✅ Free to use for any purpose (research, education, commercial)
- ✅ Source code is publicly available
- ✅ Can be modified and redistributed
- ✅ No licensing fees or restrictions
- ⚠️ Modifications must also be GPL-licensed
Where is the source code?
PEBL Core:
- SourceForge: https://sourceforge.net/projects/pebl/
- Git repository: https://sourceforge.net/p/pebl/git/
PEBL Online Platform:
- (Repository URL if public)
How can I contribute?
Contributions to PEBL and the platform are welcome:
- Report bugs and issues
- Submit test improvements
- Create new battery tests
- Contribute translations
- Improve documentation
Contact the maintainers for contribution guidelines.
Security and Privacy
Is the platform secure?
Security measures:
- ✅ HTTPS encryption for all data transmission
- ✅ WebAssembly sandbox isolates test execution
- ✅ Server-side validation of all uploads
- ✅ SQL injection protection
- ✅ XSS prevention in user inputs
- ✅ Regular security updates
What data is collected?
Participant data:
- Test responses and reaction times
- Browser user agent (for compatibility)
- IP address (for geolocation analytics, anonymized)
- Timestamps
- Unique participant fingerprint (privacy-preserving)
Researcher data:
- Account information (username, email, institution)
- Study configurations
- Usage statistics
See the Security & Privacy Guide for complete details.
Troubleshooting Technical Issues
Tests won't load or run
Check:
- Browser supports WebAssembly (visit webassembly.org to test)
- JavaScript is enabled
- Browser is up to date
- Clear browser cache and reload
- Disable browser extensions (especially ad blockers)
Slow performance or lag
Try:
- Close other browser tabs and applications
- Use a wired internet connection
- Ensure computer meets minimum requirements
- Try a different browser (Chrome recommended)
- Disable browser animations and effects
Data not saving
Check:
- Browser allows IndexedDB storage
- Not in private/incognito mode
- Sufficient disk space available
- Browser data not set to auto-clear
Display or rendering issues
Try:
- Ensure display resolution meets minimums (1024×768+)
- Disable browser zoom (should be 100%)
- Update graphics drivers
- Enable hardware acceleration in browser settings
- Try fullscreen mode
Related Documentation
- User Guides:
- Technical Documentation:
- External Resources:
- PEBL Manual: (URL to PDF manual)
- PEBL Website: http://pebl.sourceforge.net
- PEBL Forums: (if available)
Contact and Support
How do I get help?
For technical issues:
- Check Troubleshooting Guide
- Search existing documentation
- Contact platform administrators
- Consult PEBL Manual
- Check PEBL documentation
- Contact PEBL developers
- Include browser version and OS
- Describe steps to reproduce
- Include error messages if any
- Mention PEBL version and commit hash (from this page)
Last Updated: 2026-01-03 Document Version: 1.0 PEBL Version: 2.2 Platform Version: 1.0.0