Presnly logoPresnly
Protocol v1.0Open Standard

Build Presnly-Compatible Presentations

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.

Quick Start

Add PPP support to an existing Reveal.js presentation in under a minute.

Option 1: Script Tag (simplest)

Add to your HTMLhtml
<script src="https://presnly.com/ppp/presnly.min.js"></script>
<script>
  new Presnly({ adapter: 'reveal' }).connect()
</script>

Option 2: ES Module

Import in your projecttypescript
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.

Why PPP?

The Problem

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."

The Solution

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.

What You Unlock

Jump to any slide by number
Speaker notes on iPhone/Watch
Navigate by section/topic
Accurate slide count always
Blackout/whiteout display control
Presentation metadata/structure

Works With

Reveal.js
Adapter included
Slidev
Adapter included
Vanilla HTML
Adapter included
Custom frameworks
Implement PPPAdapter