Towards Viable Google Slides in Open Source

From Open Source Ecology
Revision as of 12:39, 6 April 2026 by Marcin (talk | contribs) (→‎7. The Problem Scope Can Be Narrowed)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

https://chatgpt.com/share/69d3a033-ca24-8331-98ea-093fbcf0c01e

Why This Is Now Achievable

1. Real-Time Collaboration Is No Longer a Research Problem

Previously, this was the hardest part:

  • Operational Transform (OT) or CRDT design
  • Conflict resolution
  • Cursor syncing
  • Offline/merge behavior

Now:

  • Libraries like Yjs and Automerge provide:
    • Shared data structures
    • Real-time sync
    • Offline-first behavior
    • Awareness (who’s editing what)

Impact:

  • You no longer build the collaboration engine—you plug it in

2. The Browser Became a Serious Application Runtime

Previously:

  • Canvas/WebGL were immature
  • Performance was inconsistent
  • Input handling (drag, resize, selection) was painful

Now:

  • Stable Canvas/WebGL stacks
  • High-performance rendering
  • Mature UI ecosystems (React, etc.)

You can build:

  • Slide canvases
  • Object manipulation (resize, rotate)
  • Zoom/pan editors

Impact:

  • The visual editor layer is now straightforward engineering, not experimental

3. Editor Frameworks Exist (You Don’t Start From Zero)

Previously:

  • You had to write:
    • Selection models
    • Cursor logic
    • Document trees

Now:

  • Rich-text and structured editors exist (ProseMirror, Slate)
  • Canvas editors (Fabric.js, Konva) handle object manipulation

Impact:

  • You assemble instead of invent

4. AI Removes the Integration Bottleneck

This is the biggest shift.

Previously:

  • Integrating all components took weeks or months
  • Debugging edge cases was slow and manual

Now AI can:

  • Generate working scaffolds
  • Wire Yjs into an editor
  • Build drag/resize behavior
  • Implement undo/redo stacks
  • Handle serialization (JSON ↔ UI)

Impact:

  • What used to be hard engineering glue work is now mostly automated

5. Cloud/Backend Complexity Collapsed

Previously:

  • You had to design:
    • WebSocket servers
    • Sync layers
    • Persistence models

Now:

  • Yjs providers (WebRTC, WebSocket)
  • Firebase/Supabase-type backends
  • Serverless infrastructure

Impact:

  • Backend is no longer a primary blocker

6. Open-Source Examples Exist (Huge Accelerator)

You are no longer guessing architecture.

There are working systems you can study:

  • Collaborative editors
  • Whiteboards
  • Slide tools
  • Notion-like systems

Impact:

  • You start from patterns, not theory

7. The Problem Scope Can Be Narrowed

This is subtle but critical.

Google Slides is hard because it tries to be:

  • Universal
  • Fully featured
  • Backward compatible
  • Enterprise-grade

You do not need that.

For OSE, the likely needs are:

  • Structured slides tied to ideas/build systems
  • Embedded editing in wiki
  • Export capability

Impact:

  • This is a much smaller and more tractable problem space

Links