These are my weekly Patch Notes – a log of the mental model updates I’m making and a braindump of things I’m leaning, building, or thinking about. Subscribe on Substack here.

In this version:

  • An exploration into virtual online parties and how we might make them happen

  • My journey in extracting Twitter’s bookmarks

  • Software is hard, and some reassuring quotes

  • Cool remote tools I’ve been using

  • Westworld thoughts

  • Awakening from the Meaning Crisis

The visual and spatial qualities of avatar worlds lead to something that is lacking in the text-only environments of cyberspace – something that has a subtle, yet profound impact on socializing: human interaction feels embodied.

Psychology of the Digital Age, John Suler

How do we throw online parties properly? #

Part of what makes New York City such an incredible place is the density allowing for groups of diverse people to come together, meet each other, and have a good time. There were two types of gatherings I enjoyed: friend-of-friend parties where you walk around and meet a bunch of people (<25-30 people total) and concerts/clubs/music festivals (up into the thousands). As both types are gone for the foreseeable future, I’ve been thinking about how we might replicate them online.

The former seems reasonably easy to replicate online but anyone who’s been in an online conference call with more than 10 people knows it gets messy very, very fast. You either have to have a strict order to who talks when or you get chaos – and parties aren’t seminars. Breakout rooms exist, sure, but a house party doesn’t have breakout rooms. Instead it has clusters of people talking about an idea/question/event, to which people can naturally wander up to or leave at will. The conversation topic will shift over time as well, so trying to assign a topic to a room would be useless.

  • A related idea I’ve thought about is to have a “lobby” of sorts, where all the side-room conversations are transcribed from audio to text live like a scrolling teleprompter. My hypothesis being it’s easier to visually scan a set of conversations and identify the most interesting one rather than switching between audio channels one-by-one.

  • I have been seeing some online dance parties happening, and I am tempted to join one soon.

    • Collin Morris: One of my favorite moments from last night’s Existential Dance Party. My god. Thanks for the suggestion @eigenrobot . “FUCK YOU CORONVAVIRUS, FUCK. YOU.” (tweet)

    • When I picture “online dance party”, I think the nightclub scene in Ready Player One paints the picture pretty well. (youtube video)

As presented by Azlen, one interesting solution worth exploring here is positional/spatial audio.

Azlen: This opens up so many possibilities for online interaction

  • wander up and join in on conversation
  • make eye contact by looking towards cursor
  • point, poke, high-five, and emote
  • less stress worrying about appearance on webcam
  • eavesdrop of conversations…
  • dynamic lectures (turn to person beside you and…)
  • contextual hand-raising
  • go back to slide you missed without interrupting
  • feel more spatially aware of other students

Up until now, the most common applications of this I’ve seen have been in virtual reality (VR) such as in AltVR. As much as I like VR (I own a first-gen HTC Vive and am largely still excited about the whole idea) I’ve accepted it’s going to be a long while before the {group of people I want to potentially meet} intersects enough with {people who own VR headsets}. So in order to have the level of adoption we’re looking for, we should be exploring options accessible from a phone.

Of course, pure voice chat doesn’t come close to the emotional bandwidth that an in-person conversation or even a video call does. That’s where I propose a second component enters in: the seamless ability to “upgrade” a group conversation to video as required. This might in turn change the “floor” representation of those members & their group somehow – perhaps to having little floating video monitors above their 2D avatars.

Apart from this navigational layer, I’m also imagining the online party needs to be treated like offline ones are: friends should invite friends so there’s always a way to be introduced to people, there should be some sort of common theme (a person, an event, etc). A collaborative playlist playing. Perhaps some virtual boardgames which wouldn’t require fumbling with browsers, logins, or Facebook. If we move physical to digital interactions, we should take full advantage of what our new medium allows us to do. Lastly, it needs to have a low barrier to entry (just a microphone + speaker) but still support rich experiences as needed.

To recap: I think throwing a good online party will involve building software that allows for more fluid interaction in an environment optimized for interpersonal digital engagement, and this doesn’t necessarily mean waiting for full-body VR.

I think digital devices unlock modes of communication not easily established offline (partial-anonymity, more control of presentation of self, custom environments, roleplaying) that our current, in-person environments don’t allow for so comparing digital to offline interactions one-to-one may be somewhat apples:oranges. I’d like to write more on this at some point.

As far as movie night parties go, the NetflixParty chrome extension seems to be working well enough but it’s the equivalent of what my friends and I used to do in 2014 with no fancy extensions. I imagine much cooler online social interaction experiences are on the horizon.

Side Projects, Programming, Remote Tools #

Made some progress getting my Tweets out of Twitter. No, this wasn’t easy. Look, I’m a software developer, I do this stuff for a living. I’m not saying I’m a good one, just that I do this a lot and have come to reasonable expectations about how online platforms should let us access data. A short timeline of my experience thus far:

  • The exported archive of my account doesn’t include my bookmarks, but it does contain 20x more data on my ad impressions than all my other data combined.
  • So, I thought, let me create a developer account. Turns out, I actually applied for one (yes, applied) a few months ago. Probably to do more or less the same thing. Did I get approved?
  • Apparently I’m not alone. (google results)

  • Deep breath.

  • This is ok. I spent the first 3 years of my developer life getting data out of services that didn’t want to give it to me. Go enjoy the atrocity that is one of the largest repositories of state campaign contribution data in the United States.

  • I’ll need to be able to generate new tokens when my current one expires. So, I set up a small Selenium instance to pretend I’m me. Except for whatever reason just the cookies weren’t enough, so I had to run the requests through a nifty proxy named BrowserMob (and a nice Python/selenium wrapper for it) which worked well.

  • Finally, we can make valid requests! Given this is a completely undocumented API endpoint it of course, did not cooperate. From what I can tell, sending the requests at anything other than 5 seconds apart will cause the server to panic and melt and explode. But it’s working!

  • Short term plan is to automatically ingest my most important tweets & bookmarks into Roam Research through a rough prototype selenium instance. Looking forward to posting this up for others to poke at in a week or two!

  • Long term plan, however, is to give myself full-text search of every tweet my account has ever seen regardless of whether I clicked anything on it.

  • Long long term plan is to build a memex. Or die trying.

Software is hard. As if the Twitter fiasco wasn’t enough, I spent a higher-than-morally-acceptable amount of time this past week wrangling the select2 javascript library into an Elixir Phoenix project. That was not fun, and if there’s anything I took away from the ordeal it’s that building user interfaces that work like you want is hard – and I’m not sure it’s going to get easier anytime soon. Things are simpler in backend-land.

Frustration reaching a tipping point and boiling over is my gateway into the code these days.

This above is a quote from dang’s insightful comment on Hacker News, which I thought was really true for me lately as well. My spirits were somewhat raised by watching Tom Scott’s This Video Has 4,658,228 Views, which had a great quote in it as well:

Just because something is going to break in the end, doesn’t mean it can’t have an effect that lasts into the future.

Collaboration tools #

I’m beginning to run across cool stuff in the remote collaboration space. These aren’t affiliate links – I’m just genuinely excited about tools progressing beyond Zoom and Google Drive.

  • At work we’re using Tandem, which is basically a layer on top of all your other productivity apps, along with conferencing and whatnot. It enables things like one-click joining into google drive docs being edited, shared cursors during screenshares, dedicated video/voice room channels, etc. Pretty neat overall.

  • Tuple has been by far, the best screensharing experience I have ever had but the price point was a bit too high for us to keep using it.

  • We’ve also been using Loom to send short screencasts while working on features for feedback or showing bugs. Significantly easier than the Quicktime method I’ve used in the past, and it’s free for the next few months.

  • Around is still in private beta, but I’m excited to try it as well.

Cool Stuff I’m Enjoying #

  • In another interesting thread started by Azlen he explored what blogging interfaces might look like in the future which soon led me down the rabbit hole of looking at futureofinformation again, and then that led me to Christoph Labacher’s personal landing page. It is beautiful.

  • Started listening to John Vervaeke’s Awakening from the Meaning Crisis, upon Stian’s recommendation in his latest newsletter. The lecture series is about 50 hours long, so this will take me a while. A description:

[H]ow cognitive science, existential philosophy, Buddhism, Hellenistic philosophy and psychedelics can be used to address the meaning crisis. John Vervaeke, PhD is an award-winning lecturer at the University of Toronto in the departments of psychology, cognitive science and Buddhist psychology. In this series Vervaeke will give the history of the meaning crisis, how it is affecting society today, and then give an account on how we can address this problem. Very well integrated understanding. Weaving together historical narrative and contemporary science to paint a compelling picture of foundation of the meta-crisis of out times.

  • Watched Season 3 episodes 1 & 2 of Westworld, and wow.


A few scenes that caught my attention and made me think:

  • The AR call scene on the balcony. Wow, just wow, that was seamless and I cannot wait for meetings to feel like that.

  • Halting stock trades on one unconfirmed news story? The sell-off must’ve been enough to start some serious chain reactions and I can’t even imagine what the market cap of Delos must be.

  • The GTA-like app was terrifying. But that interface was gorgeous. Can we please build a version that takes you to the nearest person needing help, or at least just build an app for better navigation?


Life & Health #

Finally running more consistently in the nearby grassy fields.

Hope you enjoyed this! Always feel free to reply with any comments or things I might find interesting.