惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Security Latest
Security Latest
P
Palo Alto Networks Blog
AWS News Blog
AWS News Blog
NISL@THU
NISL@THU
T
Threatpost
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Latest news
Latest news
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
J
Java Code Geeks
P
Privacy International News Feed
阮一峰的网络日志
阮一峰的网络日志
S
Schneier on Security
博客园 - 聂微东
Project Zero
Project Zero
美团技术团队
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Scott Helme
Scott Helme
I
Intezer
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Hacker News: Front Page
S
Security @ Cisco Blogs
博客园 - 司徒正美
O
OpenAI News
Last Week in AI
Last Week in AI
L
LINUX DO - 热门话题
酷 壳 – CoolShell
酷 壳 – CoolShell
SecWiki News
SecWiki News
月光博客
月光博客
S
Security Affairs
The GitHub Blog
The GitHub Blog
P
Privacy & Cybersecurity Law Blog
S
Secure Thoughts
V
V2EX
S
Securelist
F
Fortinet All Blogs
W
WeLiveSecurity
D
Docker
博客园 - 三生石上(FineUI控件)
Simon Willison's Weblog
Simon Willison's Weblog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
C
Cyber Attacks, Cyber Crime and Cyber Security
V
Visual Studio Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Webroot Blog
Webroot Blog
Engineering at Meta
Engineering at Meta

Maggie Appleton

The Dark Forest and Generative AI One Developer, Two Dozen Agents, Zero Alignment Gas Town’s Agent Patterns, Design Bottlenecks, and Vibecoding at Scale January 2026 | Maggie Appleton A Treatise on AI Chatbots Undermining the Enlightenment A Brief History & Ethos of the Digital Garden Vibe Code is Legacy Code May 2025 | Maggie Appleton Home-Cooked Software and Barefoot Developers Statistically, When Will My Baby Be Born? Speculative Calendar Events ChatGPT Would be a Decent Policy Advisor March 2025 | Maggie Appleton The Expanding Dark Forest and Generative AI Humanity's Last Exam Squish Meets Structure Common Misconceptions in AI Undetected AI Exam Answers Unbaited Smidgeons Growing a Human: The First 30 Weeks How to Import Academic Papers from Zotero into Tana December 2024 | Maggie Appleton Aesthetic Command Lines with Hyper, Spaceship, and Oh My Zsh Leaving Elicit July 2024 | Maggie Appleton A Short History of Bi-Directional Links The Pattern Language of Project Xanadu Assumed Audiences On Opening Essays, Conference Talks, and Jam Jars Spinning Worlds, Seasickness, and Dealing with Vestibular Neuritis A Collection of Design Engineers Gathering Structures Daily Notes Pages Historical Trails December 2023 | Maggie Appleton September 2023 | Maggie Appleton Digital Gardening for Non-Technical Folks Language Model Sketchbook, or Why I Hate Chatbots June 2023 | Maggie Appleton Computational Notebooks Folk Interfaces Reverse Outlining with Language Models Command K Bars Spatial Web Browsing A Picture Worth a Thousand Programmes Programmable Notes Programming Portals Teenage Skeuomorphic Desktop Designs Tending Evergreen Notes in Roam Research Growing the Evergreens Why You Own an iPad and Still Can't Draw A Brief Introduction to Digital Anthropology Transclusion and Transcopyright Dreams The Block-Paved Path to Structured Data Empty Pointers and Constellations of AI Metaphors We Web By The Gift Economy Epistemic Disclosure November 2022 | Maggie Appleton Joining Ought July 2022 | Maggie Appleton The Linear Oppression of Note-taking Apps Paleolithic Nostalgia Interoperable Personal Libraries and Ad Hoc Reading Groups The Finest Narrative Non-Fiction Essays Algorithmic Transparency October 2021 | Maggie Appleton Plebeian Programming with Keyboard Maestro The Cultural Anthropology of React August 2021 | Maggie Appleton Natureculture, Moral Purity, and Cultural Boundaries The Echo & Narcissus Writing Club Pink, Soft, Glittering Developers Fetishism & Mechanical Keyboards Making Programming Visual, Spatial, and Learnable Organic, Local, Artisan Data Storage Positioning Elements & Scrollytelling in CSS Painting Roam Research with Custom CSS A Digital Anthropology Reading List The Eponymous Laws of Programming A History of Cyborgs Neologisms GreenSock Animations with React Hooks The Bare Essentials of Greensock September 2020 | Maggie Appleton Illustrating Gatsby's Key Concepts Problematic Proteins New Harvest & Illustrating the Cultivated Meat Podcast Synecdoche: Drawing the Part for the Whole A Meta-Tour of This Site Douglas, Dirt, and Matter Out of Place The Knowledge Hydrant A Naïve Exploration of Computer-Supported Collaborative Learning Silent Synchronous Reading Sessions What the Fork is React Suspense? Visually Workshopping the AWS Cloud Are Data Unions the Future of Data? Pattern Languages in Programming and Interface Design A Metaphorical Reading Collection
Ambient Co-presence
Matt Webb · 2024-05-01 · via Maggie Appleton

The Context

It’s hard to create a subtle sense of shared, synchronous space among multiple people on the web.

You and I are currently in an asynchronous exchange. I’ve written these words in the past. You’re reading them at a point in the future. We are not in sync.

Despite being on the same website – which suggests a shared digital space – it bears very little resemblance to how we might interact in a shared physical space in real-time.

We currently have no visual, audible, tactile, spatial, or embodied awareness of one another. We also have no awareness of the other people reading this post, even if they’re doing it at the exact same moment.

For a long time, the asynchronous nature of the web was a technical limitation. Internet speeds and bandwidth simply couldn’t accommodate anything beyond sending reams of static text to one another with long, slow lags in between.

Two old desktop computers slowly sending signals to one another over a dial-up connection

But things have progressed. We now take for granted that our web connections refresh every few milliseconds. We experience most of it in real-time; spicy Twitter drama, collaborative editing in Google docs, overcrowded Zoom meetings, sensationalist BBC breaking news coverage, World of Warcraft tournaments, and the flood of emoji reactions on Twitch livestreams load in the blink of an eye.

A Twitch live stream of a video game with a flood of comments pouring in each second

But it feels as though we haven’t quite clocked what’s possible here. The synchronous, multiplayer web is brand new, and the design space around it is still relatively unexplored.

Most of the web is still designed to accomodate slow-loading, single-player experiences. We all stare into linear, individualised feeds that lack the qualities of shared physical space; directionality, subtle awareness of those around us, opportunities for ad-hoc interactions, freedom to explore, and most critically, a shared understanding we are seeing the same reality as people in our immediate vicinity. There is no ‘vicinity’ when you are alone staring down a personalised content stream that no one else will ever see or know.

Me having deeply meaningful interactions with people on LinkedIn.

Me having deeply meaningful interactions with people on LinkedIn.

We don’t necessarily need to constantly interact with people “around” us on the web. The sensation of being in the quiet companionship of someone else, like reading next to them in a cafe, is what we’re missing. The sense of ambiently sharing space – of being co-present – while engaged in other activities is a staple of shared public spaces that we’re still figuring out how to design in the digital realm.

Our current “multiplayer” experiences draw too much attention to the multiplayer-ness. The other people around you demand attention. They move. They flash. They point to exactly what they’re focused on, drawing you away from your own focal point. We are missing out on a fuzzier, softer sense of the shared web.

The Pattern

Ambient co-presence is the sensation of sharing a space or context with other people, without directly interacting or continuously communicating with them. You’re all aware of each other through peripheral vision, ambient noise, and embodied sensations but aren’t necessarily doing the same tasks or directing your attention to the same things.

This looks like quietly reading on the back porch with family, sitting in a cafe full of people softly chatting or tapping away at laptops, or people watching from a shabby seat on the London underground, marvelling at the vast array of people that can exist in a single space.

The others rarely demand your attention or strike up conversations. They just exist nearby, unobtrusively doing whatever they’re doing. Providing companionship, comfort, and small windows of insight into how others choose to show up in the world and spend their time.

Multiplayer Cursors

Our current digital attempt at this is multiplayer cursors and selection. Other people who have access to your file are visible in the interface as small, pointy, colourful cursors or text markers within a document, canvas, or spreadsheet. Sometimes with little names or floating profile pictures next to them to help identify people.

As far as I’m aware, Google Docs was the first to implement this, quickly followed by everyone else. Notion, Figma, Miro, Mural, and most other collaborative platforms now use this pattern.

Multiplayer cursors in Google Sheets showing which cells users have selected
Multiplayer cursors in Google Sheets showing which cells users have selected

It’s fairly easy to implement this nowadays. My friends over at PartyKit have been exploring ideas ways to enable multiplayer experience with a few lines of code. For example, Cursor Party is a one-line script that gives every visitor to your webpage their own cursor, country flag, and chatbox.

Multiplayer cursors can add a sense of shared activity in digital spaces but lacks the ambient quality we’re seeking. Seeing exactly which word or design mock your manager is focused on isn’t the chill background sensation we’re going for.

They also don’t scale. Having hundreds of individual cursors zooming around an interface quickly feels overwhelming. Anyone who has been in a massive shared Google Doc or Figma file knows this sensation well. They’re better when used for smaller-scale, closed contexts like private teams and internal work.

To scale this feeling of sensing others in a workspace without being distracted by them, we could turn the pointy, specific, animated cursor into a softer, fuzzier hint of presence. More like a heatmap. Imagine having this on everything from New Yorker articles to little independent blogs.

You’d get a vague sense of other people reading live on the page. Perhaps this would feel a bit gimmicky and distracting. Or maybe we’d feel a little companionship. Perhaps a little thrill that someone else is reading the same words as us.

Here’s a less attention-grabbing variant that shows the volume of other readers on a page with a single soft, glowing blob:

This second approach is much calmer and allows us to show the presence of a large number of people in a space – hundreds or thousands – without it feeling chaotic.

It’s a soft starting point for layering on more attention-heavy interactions; leaving inline comments, making connections with people who always show up in the same spaces as you, or creating trails for others to follow.

Spatial Audio

Spatial audio feels like one of the most promising avenues to explore ambiently sensing many people in a space. Sound naturally follows a spatial gradient in physical space; people close to you are louder, and people further away are quieter, with many shades in between.

This gives us some flexibility between private and public conversations. We can move in and out of earshot of other people, or enjoy the low hum of other voices in larger spaces without being distracted.

Gather Town has done this well in digital space. It’s designed for distributed teams, and I’ve seen used for everything from unconferences to team retreats.

You appear as a game-like character in a fake living room or office, and can then move around the space. The clever bit is the video and audio channels of people around you fade in and out as you move closer and further from them. You’re able to move around a room and jump between conversational groups, just like at a cocktail party.

Gather town spatial audio and video

Gather town spatial audio and video

Gather town spatial audio and video

Gather town is fairly attention-heavy at the moment, but there’s room for more ambient versions of spatial audio.

It makes me think of the background sound apps like Noizio that many of us use in our deathy quiet home offices. They play the soft sounds of Parisian cafes and campfires to help you focus.

Perhaps in a Google Doc writing session with your colleagues you might hear the muffled taps of their keyboard, sighs, and light background music. Much like sitting next to them IRL.

Annotations and Trails

Annotations and markers left on public websites are less synchronous than the other patterns here, but give us a peripheral sense of other people’s activities. A few products are exploring this approach:

1. Highlights on Medium

The notoriously walled-off publishing platform Medium shows you the single most highlighted line from other users on article. But only one. As if no longform writing could possibly contain more than one useful insight. The ones published to Medium certainly don’t.

A popular highlight on a Medium article
A popular highlight on a Medium article

Readers can also comment on these highlights, but these are hidden in a side panel and hard to read.

Comments on Medium highlights
Comments on Medium highlights

This feature is, of course, only available on their platform, which makes it remarkably less interesting or compelling.

2. Hypothesis

Hypothesis is a browser plugin that does this much better. It allows you to highlight and take notes on any content on the web. It works as an annotation layer over the internet. But one that everyone shares.

You have control over how public or private you want to make these annotations; public, semi-private within an invite-only group, or fully private.

Highlights and corresponding notes in the Hypothesis sidebar
Highlights and corresponding notes in the Hypothesis sidebar

This makes it possible to open any article on the web and see what others have written in the “margins” of it.

I’ve done a few Silent Synchronous Reading Sessions

Silent Synchronous Reading Sessions

Notes on how to run silent meetings and reading sessions with friends where we all open the same article, quietly annotate with Hypothesis for 30 minutes, then debrief on a zoom call. It works quite well!

I’d love to see more products exploring features that facilitate live, synchronous reading and highlighting. Hypothesis works, but it doesn’t feel very alive, reactive, or ambient when you’re using it.

Striking the balance between drawing too much attention to other people’s actions and providing ambient compansionship is tricky, but we manage it in physical spaces. We just need to keep exploring patterns for our digital ones too.

References and Further Reading