{"id":13769624,"url":"https://github.com/opentower/populus-viewer","last_synced_at":"2025-05-11T02:33:01.365Z","repository":{"id":37264050,"uuid":"350363258","full_name":"opentower/populus-viewer","owner":"opentower","description":"A Social Annotation Tool Powered by Matrix","archived":true,"fork":false,"pushed_at":"2024-11-03T16:24:15.000Z","size":6703,"stargazers_count":120,"open_issues_count":42,"forks_count":7,"subscribers_count":5,"default_branch":"development","last_synced_at":"2024-11-17T05:33:20.313Z","etag":null,"topics":["education","matrix","pdfjs","social-annotation"],"latest_commit_sha":null,"homepage":"https://opentower.github.io/populus-viewer","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opentower.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-22T13:57:24.000Z","updated_at":"2024-11-03T16:26:29.000Z","dependencies_parsed_at":"2024-11-17T05:41:37.226Z","dependency_job_id":null,"html_url":"https://github.com/opentower/populus-viewer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opentower%2Fpopulus-viewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opentower%2Fpopulus-viewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opentower%2Fpopulus-viewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opentower%2Fpopulus-viewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opentower","download_url":"https://codeload.github.com/opentower/populus-viewer/tar.gz/refs/heads/development","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253507177,"owners_count":21919162,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["education","matrix","pdfjs","social-annotation"],"created_at":"2024-08-03T17:00:29.577Z","updated_at":"2025-05-11T02:33:01.033Z","avatar_url":"https://github.com/opentower.png","language":"JavaScript","funding_links":[],"categories":["Annotation"],"sub_categories":[],"readme":"\u003e [!IMPORTANT] \n\u003e Populus-Viewer is no longer actively maintained, so the information below may\n\u003e be out of date - If you'd like to take over the project, let me know and I'll\n\u003e redirect to your fork.\n\n# Populus-Viewer\n*Social Annotation Powered by Matrix*\n\nPopulus-Viewer is a tool for decentralized social annotation, built on\n[pdfjs](https://mozilla.github.io/pdf.js/),\n[wavesurfer.js](https://wavesurfer-js.org/) and [the Matrix\nprotocol](https://matrix.org). You can use it to read PDFs, listen to audio, or\nwatch videos, and have rich discussions in the margins, with your friends,\nclassmates, or scholarly collaborators.\n\nEach uploaded file is attached to a matrix space, and each annotation to the\nfile becomes a room within that space. Populus-Viewer has been tested with\nsynapse and dendrite, but should be compatible with any spec-compliant matrix\nserver.\n\nTo learn more or talk about the project, [find us on Matrix](https://matrix.to/#/#opentower:matrix.org).\nThe project should currently be considered beta-quality. UX is \nunpolished, bugs are likely, and features are missing. Bug reports and \nfeature requests are welcome.\n\n## Features\n\nhttps://user-images.githubusercontent.com/6383381/183310450-fa4c1809-3e1b-4375-929e-b9eb20b5c4b5.mp4\n\nPopulus-Viewer currently supports:\n\n- Highlight and pin-drop annotations on PDFs \n- Timespan annotations on audio and video files \n- Annotating spatial regions of images and video files\n- Audio and video messages\n- Message edits and redactions\n- Replies and reactions\n- Unread message counts\n- Markdown for text formatting (via [commonmark.js](https://github.com/commonmark/commonmark.js))\n- LaTeX for mathematical notation (via [KaTeX](https://katex.org))\n- Integration with bots\n- Typing notifications\n- Room invitations\n- Synchronized reading positions across devices\n- Single Sign On (via Google, university, or another SSO provider), given a matrix server that supports it\n\nIf there's a feature supported by Matrix that you think would make for a \nbetter social annotation experience, please open an issue or a PR!\n\nPopulus' annotations are stored on your Matrix server in a format compatible\nwith the [w3c Web Annotation Data Model](https://www.w3.org/TR/annotation-model/). \nThe details are documented in a couple of related matrix spec proposals:\n\n* [MSC3775: Markup Locations for Audiovisual Media](https://github.com/matrix-org/matrix-spec-proposals/pull/3775) \n* [MSC3752: Markup locations for text](https://github.com/matrix-org/matrix-spec-proposals/pull/3752)\n* [MSC3592: Markup locations for PDF documents](https://github.com/matrix-org/matrix-spec-proposals/pull/3592)\n* [MSC3574: Marking up resources](https://github.com/matrix-org/matrix-spec-proposals/pull/3574)\n\n## Usage\n\nTo try out Populus-Viewer, just point your browser at our [github pages\ninstance](https://opentower.github.io/populus-viewer). You're welcome to use\nthe default testing server, but be aware that this server may be torn down or\nreplaced at any time. Also, be aware that the testing server isn't federated,\nso it won't be possible for users on other servers to join your discussions or\nvice-versa. We may consider running a larger public instance in the future once\nclient development is further along.\n\nTo get started tinkering with the source code, clone this repository and then\nrun:\n\n* `npm install` to download dependencies and install them locally.\n* `npm run-script build` to build the browser JS, which will end up in the `dist` directory. \n* `npm run-script serve` to serve the contents of `dist` at localhost:9000, and auto-reload on changes.\n\n## Prior Art\n\nSimilar projects include:\n\n- [Perusall](https://perusall.com)\n- [Hypothes.is](https://web.hypothes.is)\n- [PeerLibrary](https://peerlibrary.org)\n- [BookWyrm](https://joinbookwyrm.com)\n\nBut I couldn't resist trying something new :)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopentower%2Fpopulus-viewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopentower%2Fpopulus-viewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopentower%2Fpopulus-viewer/lists"}