We’ve released a public test of the Worm Spreadsheet - an innovative collaborative spreadsheet built on top of our append-only worm bin storage system!
What is the Worm Spreadsheet?
The Worm Spreadsheet is a browser-based collaborative spreadsheet application that demonstrates the power of our worm bin extension. Unlike traditional spreadsheets, data is stored using an append-only format, ensuring data integrity and providing an audit trail of all changes.
Key Features
- Real-Time Collaboration: Multiple users can edit simultaneously
- Automatic Recalculation: Row sums, column sums, and global totals calculated automatically
- Export Support: Download data in multiple formats (.log, .csv, .json)
- Append-Only Storage: All changes are preserved in an append-only log format
- Offline Support: Works offline with local storage fallback
- Progressive Polling: Smart polling with exponential backoff reduces server load
How It Works
The spreadsheet uses our worm bin extension to store data in an append-only format. Each cell edit is appended to a log file with a timestamp, creating a complete audit trail. The browser automatically polls for changes and updates the spreadsheet in real-time.
Security
The spreadsheet uses a secret directory model - you need to know the specific directory path under /worm/ to access files. This provides basic access control while keeping the system simple and transparent.
Try It Out
The public test uses the public_test directory. You can:
- Edit cells by clicking and typing
- Watch the sums recalculate automatically
- Export your data in different formats
- Share the link with others for real-time collaboration
Technical Details
- Pure JavaScript: No frameworks, just vanilla JS
- Modern Browser API: Uses Fetch API, EventSource for SSE, and localStorage for offline support
- Smart Polling: The delay between polls increases by 10% each time, reducing server load when idle
- Poll Resets: Returns to default polling speed when changes are detected or submitted
Learn More
- Check out the Extensions documentation for information about the worm bin extension
- Explore the Source Code to see how it all works together
- Read about our Development Process
The Worm Spreadsheet is just one example of what you can build with the easyp web server and its extensible architecture!
Leave a Comment