Tech Talk: Smoke Signal Events
Smoke Signal is an events & RSVP system, built by Nick Gerakines on top of ATProtocol.
We'll be hosting developer Nick Gerakines, creator of Smoke Signal, an Events and RSVP protocol.
Nick has has an extensive background in social platforms:
I started Smoke Signal because users should have ownership and control of the content that they create. Having built sites like del.icio.us at Yahoo in the Social Search group and contributed to early web 2.0 sites like upcoming.org and Flickr, I firmly believe that there is sustainable demand for online services that are both functional and not harmful.
Nick has written some great posts on the Smoke Signal blog that go into more detail.
The Why ATProtocol post describes his experiments and experience with ActivityPub and ActivityStreams, but finding challenges with data portability in those protocols. Nick worked at Yahoo and used Upcoming before it was shut down, and then goes on to describe challenges with Meetup and Facebook platforms, and his conclusion that ATProtocol gets data portability right:
It all boils down to data portability. The Atprotocol spec documents identity and data portability, and the open source reference implementations demonstrate its power and usefulness.
In For Communities, Nick describes how he sees Smoke Signal working:
Walled garden platforms like Facebook and Meetup are closed ecosystems where they control your activity and data. They impose limits and restrictions on what you do and, most relevantly, who you can engage with. This forces communities to commit to entering and staying in those closed-off systems.
Smoke Signal is radically different. When you create an event, the data is securely stored in your personal data server, giving you complete control. Smoke Signal is the tool to create and manage those events, but it respects your data ownership and preferences.
And Smoke Signal isn't even the only AT Protocol related project that Nick is working on. He just recently announced a project for issuing verifiable badges, Blue Badge.
We're looking forward to digging into the current design and future plans for Smoke Signal with Nick. Register via Luma below so we can send you the Zoom link, and try out Smoke Signal by RSVP'ing for this event.
More about Nick on his site:
Video
Chatlog
00:22:06 Dietrich Ayala: jetlagged hot takes, yessss
00:28:26 Boris Mann: DPoP
00:28:31 Boris Mann: (Yes?)
00:28:39 Tom: Reacted to "(Yes?)" with 👍
00:28:49 Paul Frazee: https://darutk.medium.com/illustrated-dpop-oauth-access-token-security-enhancement-801680d761ff
00:29:00 Chad Kohalyk: Reacted to "https://darutk.mediu..." with 👀
00:29:58 Paul Frazee: DPoP protects from an auth token leak. If the token leaks (eg log exfiltration) that isnt an instant pwn
00:30:26 Bryan Newbold: Mushroom Servers!
00:30:27 Eric Bailey: “The Mycosphere”
00:30:39 Boris Mann: Bluesky runs multiple PDS servers and they are all named after mushrooms
00:31:49 Paul Frazee: that naming scheme is in honor of Jay, who loves foresty nature things like mushrooms and moss
00:33:08 Paul Frazee: “AppView” is one of those names that had a very technical origin and stuck
00:34:02 Paul Frazee: it’s 100% legit to skip the relay and connect directly to relays. Relays are just an optimization
00:34:11 Paul Frazee: just connect directly to PDSes* excuse me
00:34:14 Boris Mann: “Directly to PDS” ^^^
00:34:22 Boris Mann: Reacted to "just connect directl..." with 👏
00:34:26 Michael Staub: I consider any app that has private keys an ‘AppView’.
00:34:57 Bryan Newbold: can't hear anything, you are clear!
00:35:26 Boris Mann: The reverse domain DNS actually reads well when you have readable TLDs
00:36:29 Paul Frazee: Reacted to "The reverse domain D..." with 🔥
00:36:42 Boris Mann: events.smokesignal.calendar <— yay!
00:45:42 Paul Frazee: I’d be interested to hear if a lexicon package manager would be helpful
00:46:12 Bryan Newbold: multi-day events!
00:46:17 Chad Kohalyk: “Revents”
00:46:28 Laurens Hof: Replying to "multi-day events!"
Bryan parties hard
00:46:34 Boris Mann: Replying to "multi-day events!"
Conferences where “events” are bundled
00:46:41 Boris Mann: Replying to "multi-day events!"
Literally anything but Sched.com
00:47:39 Boris Mann: Ouranos https://useouranos.app is the client I mentioned
00:47:52 Chad Kohalyk: I was going to cheekily ask about video, but I see he has it on the list! Nice job Nick 👍
00:48:06 Nicolas Gimenez: Was it difficult/long to support OAuth?
Do you plan to allow users to register directly on smokesignal instead of redirecting to Bluesky? So you would host their PDS for them.
00:48:46 Will Corrigan: he's a serial glutton for punishment
00:49:00 Tom: Reacted to "he's a serial glutto..." with 😂
00:49:25 Paul Frazee: Reacted to "he's a serial glutto..." with 😂
00:49:44 Laurens Hof: Reacted to "he's a serial glutto..." with 😂
00:50:44 Chad Kohalyk: Collated gallery of images of the event posted on BSky?
00:50:56 Nicolas Gimenez: for blobs, moderation can be tricky
00:51:00 Boris Mann: “Related to” (other ATProto object)
00:52:32 Bryan Newbold: event "likes"
00:52:48 Boris Mann: Paul is dropping $10USD bills every time we mention it. I didn’t even cringe when I said it.
00:53:14 Tom: Analytics feels like an easy monetisation route
00:53:30 Paul Frazee: Reacted to "Paul is dropping $10..." with 😂
00:55:21 Boris Mann: https://badge.blue
00:55:43 Tom: I love this idea of micro lexicons
00:56:01 Paul Frazee: oo fun
00:57:02 Boris Mann: He’s picking domain names so that they…. Read well in types …
00:57:05 Paul Frazee: oh interesting youre putting in a proof
00:57:36 Paul Frazee: no yeah it’s an interesting conversation
00:58:32 Paul Frazee: https://en.wikipedia.org/wiki/Verifiable_credentials just bc
00:59:20 Michael Staub: NFTs on ATproto!
00:59:27 Michael Staub: ( just kidding )
00:59:28 Eric Bailey: Reacted to "NFTs on ATproto!" with 😂
00:59:32 Will Corrigan: Reacted to "NFTs on ATproto!" with 🥲
00:59:38 Chad Kohalyk: EVENT FLAIR ✨
00:59:43 Laurens Hof: Reacted to "NFTs on ATproto!" with 😂
01:00:25 Will Corrigan: have you thought any more about the invalidation of awards, or do you want to keep it to just awarding?
01:00:25 Boris Mann: CRYPTOGRAPHY
01:00:46 Will Corrigan: ah it's literally in this slide I'm looking at :D
01:01:57 Paul Frazee: where’s the ZK snarks
01:03:14 Tom: Yes please!
01:03:37 Boris Mann: I love how feeds and labelers are also “social objects”
01:03:40 Boris Mann: It’s a great pattern
01:03:49 Michael Staub: Reacted to "I love how feeds and..." with 👍
01:04:30 Will Corrigan: the lexicon library
01:04:37 drew mcarthur: $type should be a strong ref with a cid too, no?
01:06:14 Tom: rkey could be the nsid to keep the human readable nature of the $type
01:12:35 Tom: Can’t wait for left-pad in the atmosphere
01:12:43 Michael Staub: Reacted to "Can’t wait for left-..." with 😂
01:12:46 Eric Bailey: Reacted to "Can’t wait for left-..." with 😂
01:12:51 Michael Staub: I like the idea of using the handle system. The Lexicon registry can just be a PDS
01:12:53 Boris Mann: Is left a gTLD? pad.left
01:14:06 Tom: Reacted to "Is left a gTLD? pad...." with 👀
01:14:32 Paul Frazee: I unfortunately have to bounce right at the hour
01:15:05 Paul Frazee: awesome stuff Nick, be well everyone, look forward to the next one
01:15:26 Michael Staub: Would be cool if Lexicons could extend others like in Typescript
01:17:26 Boris Mann: Reacted to "Would be cool if Lex..." with 👏
01:19:17 Boris Mann: JSON stream is the simplification? I forgot the name
01:21:12 Michael Staub: It’s basically the same as verifying a git commit?
01:23:29 Laurens Hof: 300 dollar per month is same as a small (500 mau) mastodon server, so I don’t see a problem 🙃
01:23:42 Boris Mann: Replying to "300 dollar per month..."
🥲
01:24:34 Boris Mann: Replying to "JSON stream is the s..."
Jetstream! That’s it
01:27:23 Bryan Newbold: that still needs to be implemented on the PDS (similar to deleting app passwords today)
01:28:09 Bryan Newbold: there is also a token revocation endpoint for OAuth but we haven't documented or folded it in to the specs yet
01:28:38 Michael Staub: Reacted to "there is also a toke..." with 👍
01:31:51 Boris Mann: ActivityStreams / ActivityVocab
01:32:31 Bryan Newbold: GraphQL or protobuf are other examples of a formats/interfaces that could be machine-translated from lexicons
01:32:40 Bryan Newbold: (in addition to JSON-LD)
01:32:55 Michael Staub: Reacted to "GraphQL or protobuf ..." with 👍
01:34:18 Boris Mann: Lexicon Engineer / Protocol Engineer
01:34:27 Will Corrigan: The Librarian
01:35:02 drew mcarthur: W3C approved lexicons
01:35:10 Michael Staub: Reacted to "W3C approved lexicon..." with ❤️
01:35:12 Boris Mann: Replying to "W3C approved lexicon..."
Noooooo.....
01:35:20 Boris Mann: Replying to "W3C approved lexicon..."
IETF approved (bottoms up org)
01:35:30 drew mcarthur: Reacted to "IETF approved (botto..." with ❤️
01:35:33 Chad Kohalyk: Reacted to "IETF approved (botto..." with ❤️
01:35:35 Michael Staub: Reacted to "IETF approved (botto..." with ❤️
01:36:14 Boris Mann: Replying to "W3C approved lexicon..."
Sorry, governance pedantry 🙂
01:37:02 Bryan Newbold: W3C would probably be the venue! "documents"
01:37:30 Boris Mann: Two Decade Club!
01:39:47 Boris Mann: Upcoming was the original community RSVP space —> https://upcoming.org
ATProtocol Dev is a blog, newsletter, and event series following the development of protocol apps building on top of ATProtocol, which powers the Bluesky micro-blogging network and an emerging set of open social apps.