target release date: 2023-11-10
- announce react + better syntax for specifying behavior of data
tasks
- make it easier to specify how data should behave via property on default data
behavior: 'shared' | 'live' | 'local'
, defaults to shared?- also make all data objects inherently. should not support plain data or at least deprecate it
- make note in readme about migrating data and how it doesn’t handle
- need to support a custom persistence option?
- provide own S3 bucket
- provide own coda doc
- support a better way to access data segmented by user
- i like this
useOthers
react syntax https://discord.com/channels/1051830863576453180/1169383807368036562/1169415518248255540 - “playhtml bag” extension
- with lightweight authentication and data storage
- i like this
- move docs to the website using mDX?
- need to add tabs so examples for react in addition to plain html
- actually add web components part
- cursor hats / choose ur own cursor for all sites
2023-10-28
- working on this again to fix the new latency and connection issues with the latest partykit upgrade
- side bar: kinda annoyed at kevin for doing all his mmm page collaborative stuff without really talking to me, probably just thought he didnt really need playhtml whatsoever and used partykit on his own..
- he didn’t really get what i was going for.. i feel like collaborative editing for creating a site is completely different (and very standard) compared to what i was doing
- while im gonna be changing the room key to account for the partykit path thing anyways, thinking about automatically securing rooms to the same domain.
- the question that brings up is how to allow connection across domains.. and being able to do fun live, persistent stuff across domains (thinking about the love light)
- this requires multi-party support which might mean allowing per-element configuration of what party they are connecting to (which requires supporting multiple ydocs at a time..)
- Ok a
sharedRoom
parameter that can be specified? but if you’re going to provide an escape hatch it also would be nice to have individual element escape hatches for same-domain rooms (it would be even nicer if you could have invisible wrapper elements that would define the room for any elements below it like<Theme\>
in Tamagui..). How do make it intentional that you connect to something across domain?global
option as optional parameterglobal
option as named parameter- separate
sharedGlobalRoom
parameter
- Ok a
- move
updateElement
pieces into ahtml
package (or everything else into a shared@playhtml/core
so thatreact
package doesn’t need it?)
For “public” launch
tweet playhtml.fun is open in beta 🛝
enhance HTML elements with real-time interactivity that persists across refreshes
(open-source and configurable in a couple lines of code)
playhtml out-of-the-box supports common capabilities like can-move
, can-toggle
, can-duplicate
among others which all stack nicely together.
the best part is that it only requires the addition of a single attribute.
And if the built-in capabilities aren’t enough fun, playhtml is built to be extensible. The can-play
capability enables custom customization with javascript to make any interaction you want, saving just the data you desire.
playhtml builds on top of @partykit_io and @kevin_jhans Yjs for sync and persistence and allows you to focus on the interactions you want your website to have rather than the complexity to mange state.
its also fully configurable across the collaboration spectrum, from live sync (cursors) to local-only persistence (personal inputs), to synced global persistence (element positions).
future work includes
- native react support
- web components for built-in and community capabilities
- lightweight identity for permissioned actions
- choose your persistence layer
- a dynamicland / @FolkComputer-like “wish” system for capabilities dependent upon other elements
developing this has been so exciting because it feels like a seed for a new paradigm for building websites that are dynamic, collaborative, and durable by default (like multiplayer games!)
I hope this expands our collective imagination for a more playful and communal internet.
my mindset is already so diff when it comes to imagining what fun interactions would make a new site feel really unique and personal.
and because playhtml plugs into native HTML, it enhances the @htmlenergy and handmade nature of the web that I love so much.
I would love to see what you do with it (and would be honored to receive any contributions). Please share with me and consider starring the repo to follow along!
https://github.com/spencerc99/playhtml
private distro
reboot hi all, launched this open-source library ive been working on to magically enhance html elements with collaborative interactivity. would appreciate any support <3 and love to help folks if they’re interested in using. sfpc hi all, launched this open-source library ive been working on to magically enhance html elements with collaborative interactivity. it’s made it a lot more easier for me to make poetic websites so wanted to share with yall. would appreciate any support <3 and love to help folks if they’re interested in using :)
/r/internetisbeautiful open-source library for enhancing html elements with collaborative interactivity
sop in#protocol-watch hi all, launched this open-source library ive been working on to magically enhance html elements with collaborative interactivity. i think it introduces a new kind of freeform social protocol for behavior on websites