ssbc grant proposal for June: mutable messages
The June grants thread is here
Background For the past month I've been working on a mutable (aka editable) messages prototype within a new built-from-scratch ssb client called mvd
http://github.com/evbogue/mvd.
The prototype totally works, and you can try it right now: http://mutable.evbogue.com/
Check it out! Mutable messages update in real-time! Open http://mutable.evbogue.com/ in two browser windows. Next, post and edit a message. The message will show the edit in your other browser window!
Why? Mutable messages have been the most requested feature on ssb of all time. Everyone wants to be able to fix their spelling mistakes and retract messages. Mutable messages doesn't mean you can delete messages, they will always exist on your append-only log. However, it does mean you can change your mind if you want to fix a mistake or retract an opinion.
How? A new message type called edit
. edit
messages are queried and then used to replace existing messages in the DOM when new edit
messages are discovered.
Right now mutable messages only work in mvd
. If awarded this grant, I will use the granted resources to:
- Finalize the message schema for mutable messages
- Implement
diff
messages, so you can see how messages change over time - Work towards implementing mutable messages in your favorite ssb clients
- Optimize mutable messages rendering to be as efficient as possible
If these goals are achievable before the end of the month, I will use the rest of the grant money to work towards creating an ssb-wiki application that uses multi-user mutable messages to create shared documents.
Who? I'm Everett Bogue. Right now I live in Rosemont, Illinois. I work at Levi Strauss in Rosemont. I've been a contributor to the ssb community since the original scuttlebutt gossip protocol, and a member of the ssbc since July 2016. I maintain %decent, %minbase, and %mvd
Last A special thanks to @suzi, who encouraged me to submit another grant application, despite my having hesitation about the process.