Home

Awesome

[!IMPORTANT] Populus-Viewer is no longer actively maintained, so the information below may be out of date - If you'd like to take over the project, let me know and I'll redirect to your fork.

Populus-Viewer

Social Annotation Powered by Matrix

Populus-Viewer is a tool for decentralized social annotation, built on pdfjs, wavesurfer.js and the Matrix protocol. You can use it to read PDFs, listen to audio, or watch videos, and have rich discussions in the margins, with your friends, classmates, or scholarly collaborators.

Each uploaded file is attached to a matrix space, and each annotation to the file becomes a room within that space. Populus-Viewer has been tested with synapse and dendrite, but should be compatible with any spec-compliant matrix server.

To learn more or talk about the project, find us on Matrix. The project should currently be considered beta-quality. UX is unpolished, bugs are likely, and features are missing. Bug reports and feature requests are welcome.

Features

https://user-images.githubusercontent.com/6383381/183310450-fa4c1809-3e1b-4375-929e-b9eb20b5c4b5.mp4

Populus-Viewer currently supports:

If there's a feature supported by Matrix that you think would make for a better social annotation experience, please open an issue or a PR!

Populus' annotations are stored on your Matrix server in a format compatible with the w3c Web Annotation Data Model. The details are documented in a couple of related matrix spec proposals:

Usage

To try out Populus-Viewer, just point your browser at our github pages instance. You're welcome to use the default testing server, but be aware that this server may be torn down or replaced at any time. Also, be aware that the testing server isn't federated, so it won't be possible for users on other servers to join your discussions or vice-versa. We may consider running a larger public instance in the future once client development is further along.

To get started tinkering with the source code, clone this repository and then run:

Prior Art

Similar projects include:

But I couldn't resist trying something new :)