The Presnly Presentation Protocol (PPP) is an open standard for controlling web presentations. Add deep remote control (jump to slide, speaker notes, section navigation, and more) to any web presentation with a single script tag.
PPP uses JSON-RPC 2.0 with capability negotiation. Implement only what you need. No lock-in. Works with Reveal.js, Slidev, or your own framework.
Full PPP specification with all methods, capabilities, and message formats.
Step-by-step integration guides for Reveal.js, Slidev, and vanilla HTML.
Interactive editor: build a presentation and see PPP messages in real-time.
Add PPP support to an existing Reveal.js presentation in under a minute.
<script src="https://presnly.com/ppp/presnly.min.js"></script>
<script>
new Presnly({ adapter: 'reveal' }).connect()
</script>import { Presnly } from 'presnly'
const ppp = new Presnly({
adapter: 'auto',
capabilities: ['navigation.jump', 'content.notes']
})
ppp.connect()That's it. Open your presentation in the Presnly Mac app and it will automatically detect PPP support, enabling jump-to-slide, speaker notes on your iPhone, section navigation, and more.
Every presentation tool has its own incompatible remote control. Most only support next/previous. There is no standard protocol for rich presentation control, no "LSP for presentations."
PPP defines a JSON-RPC 2.0 protocol with capability negotiation. Presentations declare what they support. Controllers adapt automatically. Implement the core (next/previous) in 5 minutes, add capabilities as needed.