Skip to content

Tech Talk: Smoke Signal Events

Smoke Signal is an events & RSVP system, built by Nick Gerakines on top of ATProtocol.

ATProtocol Developers
Aug 27, 2024 · 7 min read

e'll be hosting developer Nick Gerakines, creator of Smoke Signal, an Events and RSVP protocol.

Nick has has an extensive background in social platforms:

del.icio.us

upcoming.org

​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:

In For Communities, Nick describes how he sees Smoke Signal working:

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:

Nick Gerakines

Nick Gerakines is a software engineer, swing dancer, author, and technology enthusiast in Dayton, Ohio.

Register for Smoke Signal Tech Talk

Video

Slides: ATProtocolDev Tech Talk Smoke Signal EventsSlides of Nick Gerakines Keynote Presentation as PDFATProtocolDev Tech Talk Smoke Signal Events 2024-09-05.pdf2 MB.a{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;}download-circle

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.

Did you enjoy this article?

Recommend it — Standard Reader surfaces well-loved writing to more readers across the network.

Across the AtmosphereDiscussions