Skip to content
This repository has been archived by the owner on Apr 23, 2024. It is now read-only.

Digital Identity

Erlend Sogge Heggen edited this page Feb 7, 2023 · 17 revisions

Reclaiming my digital identity

Meaning making

This year marks the 10 year anniversary of my mother's passing. I spent five of those years in relative isolation, and the other five in union with a soul mate, finding great wisdom and comfort in solitude as well as companionship. To honor my mother's simple yet timeless teachings of loving kindness, I am determined to make this year count. I am hungry for meaning-making, and I sense many others are too.

The past decade has left a profound mark on my identity. At 34yo, I am truly starting to make peace with who and what I am, happily shedding any personal attachments that do not resonate with my most fundamental self.

My personhood is expressed through my relationship to myself and the persons around me. I exist in the world to the extent that my being is experienced by others outside of myself. It’s relationships all the way down; links.

When it's my turn to journey to the other side, like my mother before me, I plan to travel light. Who I was will be defined not by the accumulated material possessions or accolades I leave behind, but by the genuine connections I made along the way, which will endure long past my lifetime.

Connective tissue

I've grown up in an unprecedented time of connective magic. Unlike my ancestors, I have known not tens, not hundreds, but thousands of people with whom I co-created something of value. Such is the power of the digital age. My deepest connections exist locally, offline. Yet many of those connections were initially mediated through the incredible connective tissue of the internet.

My life as a somewhat odd person would have been a profoundly lonely one had it not been for the online spaces where I found The Others; fellow weirdos interested in play-crafts like storytelling and game development, coupled with an obsession for openness a means to digital emancipation. To most of the thousands of people I've come across in my two decades as a netizen, the digital expression of my persona is my entire persona. I hope to live long enough to engage in a physical handshake or even an embrace with many of my online friends, but I recognize that a large number of these connections will forever remain purely digital.

Therefore it is acutely important to me that my digital identity properly reflects my truest self. I want the people in my life to have seen and known the real me, regardless of whether they came into contact with my physical or digital being.

Identity prison

And therein lies my predicament: Ever since I first logged on to the internet, I've never had legitimate ownership of my own digital identity. My digital expression has always been mediated through some higher power. Sadly not of the paternal kind that intends to lift my spirit up until I can stand on my own.

No, for as long as I've lived my digital identity has been in the hands of an opaque and authoritarian power that intends to capitalize on my innate desire for expression by means of identity lock-in. The powers-that-be have been fairly benevolent, sure, but my independence is and never was their end-game.

This year, that is all going to change. It has to, for time is running out. With the help of numerous brilliant individuals I've connected with over the years, I'll be breaking free of the proprietary identity stack with which I’ve become so deeply entangled.

Community OS

to sufficiently express my identity as a netizen I require..

  • global group messaging: Discord
  • local group messaging: Telegram
  • secure & sovereign messaging: Element (Matrix)
  • first-contact messaging: Gmail

and..

  • collective thinking: GDdocs/Notion
  • collective learning: Raindrop, PocketCasts, Inoreader

and..

  • interactive social-sharing feed: Twitter/Reddit

and..

  • public, static identity: Linktree/GitHub
  • personal, dynamic identity: Google/GitHub

They’re all somewhat-interchangeable components of an overarching community platform in the making, with identity at the center. Not one single app, but rather the entire stack I want as a community-professional as well as a regular participant on the interwebs. Identity realized in community: Community OS.

Some of these tools are partially open source already, but by the end of 2023 I'd really like most of them to be so. That'll require some complete migrations on my part, like I recently did with GetPocket (fully proprietary) to Raindrop.io (open source client).

It'll also require a lot of building, because the open version of the tools I need won't come from the closed tools dominating the status quo. Thankfully, a lot of people are already working on the open version of the tools needed for the Community OS stack, so cOS will happily default to these applications.

Gardens, Streams and Campfires

Building on the terminology of Digital Streams, Campfires and Gardens and its forebearer and knowledge-management classic The Garden and the Stream: A Technopastoral, we will add in the concept of the Digital Experiencing-Self, aka your identity.

The Garden is the web as topology. The web as space. It’s the integrative web, the iterative web, the web as an arrangement and rearrangement of things to one another.

Things in the Garden don’t collapse to a single set of relations or canonical sequence, and that’s part of what we mean when we say “the web as topology” or the “web as space”. Every walk through the garden creates new paths, new meanings, and when we add things to the garden we add them in a way that allows many future, unpredicted relationships

In the stream metaphor you don’t experience the Stream by walking around it and looking at it, or following it to its end. You jump in and let it flow past. You feel the force of it hit you as things float by.

It’s not that you are passive in the Stream. You can be active. But your actions in there — your blog posts, @ mentions, forum comments — exist in a context that is collapsed down to a simple timeline of events that together form a narrative.

In other words, the Stream replaces topology with serialization. Rather than imagine a timeless world of connection and multiple paths, the Stream presents us with a single, time ordered path with our experience (and only our experience) at the center.

There are no hard boundaries between these categorizations of tooling. They greatly overlap with one another depending on how they are used and extended by their respective tool-users. That is why appreciated Tom’s addition of the campfire, which blurs the line between Garden and Stream.

Campfires - mostly blogging for me, though I know some folks gather around private Slack groups too. My blog functions as a digital campfire (or a series of campfires) that are slower burn but fade relatively quickly over the timeframe of years. Thinking out loud, self referencing and connection forming. This builds muscle, helps me articulate my thinking and is the connective tissue between ideas, people and more. While I’m not a daily blogger I’ve been blogging on and off for 10+ years.

  • Garden = Contemplative, bottom-up flow.
  • Streams = Declarative, linear flow.
  • Bonfires = Discursive, omnidirectional flow.

Your identity (ID) inhabits the places and behaviors which the Garden, Stream and Campfire represent, simultaneously experiencing and expressing itself through those outlets.

C157D24E-7B0A-4425-B211-9D2E27B672A1

To my great delight, three new internet protocols are emerging as a communications triumvirate of great promise. In order of maturity:

The missing piece is an identity protocol, but we’re on the verge of figuring that out as well.

Both Matrix and ActivityPub (currently represented chiefly by Mastodon) are adopting OIDC (OAuth), the Web2 standard for login.

Matrix’ progress can be tracked at https://areweoidcyet.com/ . Once complete, they will support logging in with Mastodon, among many other options.

Mastodon already supports OAuth 2, with ongoing discussion about improved SSO support and allowing Mastodon to be used as an OpenID provider.

On the horizon awaits OpenID Connect Federation.

Meanwhile, Noosphere is trying a brand new approach to fit its local-first, peer-to-peer paradigm: UCAN a Web3 login protocol that’s also been adopted by ATproto.

The requirements for centralized always-online identity and distributed local-first identity are very different, and thus not in opposition but rather complementary.

I don’t want to keep my money in a flimsy USB drive — I’m messy! I like banks in their essence: Hold on to most of my money for me in your super secure (always-online) vault, and let me access it with my (local-first) formal ID.

Both the old and the new have their part to play on The Path to Self-Sovereign Identity

Emancipatory migrations

I've been feeling a growing sense of anxiety related to account lockout lately. Horror stories about people getting locked out of their Google/Discord/GitHub accounts without due process and any form of appeal weighs heavy on my mind. While this type of event is extremely unlikely, the chance of it happening the way it does (expulsion without data export) ought to be exactly 0. And as someone who is explicitly working on alternatives to the dominant platforms, that does add a multiple to my chances of suffering a lockout, however small they may be.

Here's the migration plan for 2023 and beyond.

Conversation around the Bonfire 🏕️

Status quo Transition End-state
Discord Revolt Revolt(+Matrix)
Telegram - Commune(+Matrix)
Element - Commune(+Matrix)
Gmail CubeMail Dust+Stalwart Labs (+Postmoogle/Matrix?)

Thinking in the Garden 🌳

Status quo Transition End-state
GDdocs Notion (Markdown) Subconscious
GetPocket Raindrop.io Omnivore
PocketCasts PocketCasts open source Teacher-app(+ActivityPub/Noosphere)

Flowing through the Stream 💧

Status quo Transition End-state
Twitter/Tumblr Tumblr/Mastodon ActivityPub (ChatterNet)
Reddit/HN Lemmy/ChatterNet ChatterNet (ActivityPub)

Conversing, Thinking, Flowing self

Adding to this outer layer, we include the inner core: Identity, I.e. the digital-self.

Status quo Transition End-state
Linktree - Weird
Google/GitHub GitHub/Matrix Matrix/Chatternet

Key technology

Web standards

DID (see UCAN or ChatterNet). webauthn activitypub matrix

Tauri

I predict ALL of the app-archetypes listed above will exist in the form of a Tauri-based app by 2024. And by then, Tauri Mobile will be stable (enough).

Rust

Rust is undeniably next-gen, leading the charge for The Great Rewriting. Maximized performance without foot-guns is a huge force multiplier on its own, but Rust is so much more than that.

Links-app as MVP

Weird-app is the smallest possible beginning of this larger meta-app (a CommunityOS).

Weird starts us off somewhere in between business- and private-users. It appeals strongly to would-be professionals who wanna get their very first homepage started with ease.

These users will largely be interested in a free offer though. And while we will keep building out a free offer from the start, we will quickly have to start recommending (and helping) anyone who wants a free option to self-host for now, because we don’t (yet) have VC money to offer free at-scale.

Through various milestones of increasing feature complexity, weird-app will evolve as:

  1. a personalized calling card (Linktree spec)
  2. an identity aggregator (and validator of external identities.) (new spec)
  3. an identity provider (standard web2/3 specs)

Web identity aggregator

Weird-app is meant to give netizens back ownership of the data they’ve created and stored on other platforms. As such, Weird will be an increasingly capable aggregator of disparate web identities and their respective content silos -- siloed no more!

We’re gonna start off dev-centric and gradually work our way through all user types from there. Any identity-serving platform with an open API is ultimately up for grabs. Initial prototyping has commenced in uda-api and node-uda.

1: Single-source

Enter GitHub profile, get personal web page. Create help-wanted issue for how to do the same with gitlab, codeberg et.al.

2: Curated content

Handpick what source-content to use from source platform.

3: Feeds

Add blog feeds (multiple) & twitter/mastodon. A new tab will be added. See linksapp-fresh.

4: Multi-source

Add itch.io, stackoverflow, deviantart. Refine source-curation to facilitate easy combination of multiple sources.

5: Advanced feeds

Add getpocket/raindrop and pocketcasts/listennotes for ‘what I’m reading / listening to’ feeds.

6: ALL THE SOURCES

By this point we will have some sense of the best practice for adding additional sources, probably arriving at some sort of standardized plug-in system & docs to facilitate self-serve. First and foremost for devs, but also with an eye towards regular users.


Further reading:

Weird-app stack

Website generator: SvelteKit Desktop app: Tauri (Optional backend: Axum)

Extensions and Integrations

Centralized Identity: Ory Distributed identity: chatternet (+keyoxide?) Messaging: Revolt (+Discord) Blog: Write.as, Tumblr Notes: Noosphere/Subconscious, Mintter, (Notion) Microblog: tumblr, Mastodon, Bluesky, nostr Articles: Raindrop.io, BookWyrm, (Pocket, YakRead, Matter) Podcasts: Listennotes+Teacher-pod (PocketCasts) External messaging: Email, Matrix, Signal, Telegram…

(Send message through any platform, with a link to Connect Forever. I want to know if I’ve sent a message to a user on any of my connected messaging APIs.)