Pair programming often relies on video conferencing tools that lock shared screens into rigid grids or single-stream tiles [S2, S4]. This creates friction when developers need to keep a partner’s code visible while maintaining their own workspace [2].
Petal is an open-source collaboration tool designed to solve this by treating shared content as native desktop elements [S1, S4]. Developed by former founders of CoScreen, the project aims to provide a permanent, community-driven alternative to proprietary tools that are frequently sunset after acquisition [S4, S7].
Как работает совместное использование нативных окон
Unlike traditional screen sharing, Petal does not use a meeting grid [S1, S2]. When a user shares a window, it appears on every participant’s desktop as a real, borderless native window [S2, S4].
These windows are independent, meaning users can move, resize, and stack them freely [2]. This allows a developer to dock a teammate’s shared editor directly next to their own local IDE while the call continues [2].
To support this, Petal uses hardware-encoded H.264 streams for each window shared [2]. This architecture enables several users to share multiple windows simultaneously without the constraints of a single shared screen [S1, S2].
Интерактивные элементы управления и совместная работа
Petal focuses on reducing the “single-player” feel of remote work through high-resolution, low-latency interaction [S1, S3]. Every participant sees labeled cursors for all users over the shared windows [S1, S4].
Beyond viewing, the tool includes several interactive mechanisms:
- Удалённое управление: Users can hand over control of a shared window, allowing teammates to type, scroll, and click as if the window were their own [S1, S2].
- Телепойнтеры и рисование: Users can sketch directly on a shared window, with strokes that automatically fade after ten seconds [2].
- Постоянные комнаты: Teams can create named rooms, such as “eng-sync,” allowing members to join with one click rather than exchanging meeting links [S1, S4].
Remote control requires Accessibility permissions on the host machine [2]. By default, the system prompts the host for consent each time control is requested, though this can be adjusted in settings [2].
Развёртывание и контроль данных
Because Petal is open source, teams can choose how they handle their media traffic and infrastructure [S1, S4]. The tool is built on LiveKit video infrastructure [S1, S3].
Users have three primary deployment options:
- Petal Cloud: A zero-config option using the hosted LiveKit infrastructure [1].
- Самостоятельный хостинг: Teams can point the app at their own LiveKit server using a single docker-compose file, ensuring traffic stays within their own network [S1, S4].
- Форк и сборка: Developers can fork the GitHub repository to customize the app or bring their own stack [1].
Текущая поддержка платформ и статус
Petal is currently in a pre-1.0 state, with varying levels of stability across operating systems [2]. The macOS client is the most mature, being signed and notarized for macOS 13 (Ventura) or later [2].
Windows support is available but considered early and under active development [2]. The Windows installer is currently unsigned, which may trigger SmartScreen warnings [2]. Support for Linux is planned for future releases [S1, S4].
If you are looking for a low-friction way to pair program, you can explore the source code or download the client at petal.live [S1, S4].
Источники
- Petal — Open Source Pair Programming
- Show HN: Petal, open-source CoScreen/ScreenHero finally free
- Show HN: Petal, open-source CoScreen/ScreenHero finally free | Hacker News
- GitHub - kiruna-labs/petal: Petal: low-latency, multi-window …
- Show HN: Petal, open-source CoScreen/ScreenHero finally free
- GitHub - shreyagarwal72/petal
- Petal - EpicSaaS
- We’re back. Meet Petal, an open source collaboration app … - LinkedIn