Lots of things have been in flow since I’ve posted here, but here are few tidbits to explore:
current-see & DNA for social organisms
writings on my working towards a post-monetary society
We: Social Spaces for Collaboration
Say that we agree to define collaboration as a group’s ability to coordinate effort to produce some work output. I believe that the effectiveness of collaboration improves in direct proportion to:
- how easy it is to create social spaces in which to do that coordination,
- the degree of composability of those social spaces (especially nesting)
- the variety and utility of the affordances provided in those spaces.
Together let’s call these the claims of Collaborative Power.
Let’s look at some examples:
Version control
Git enables easily creating a social space for coordinating work on a code base. It does this by providing affordances such as; committing, diffing, branching and merging, to assist in that coordination. The affordance of branching is itself an example of Collaborative Power. Within the social space of a code repository, a branch also creates a secondary, simple and secure, social space for further collaboration, or a sub-space. It’s a semantically separate and differentiated place for a sub-group (perhaps of one) to work on the code. This was Git’s “Killer Feature”, branching made trivially cheap.
Channel based messaging
Tools like Discord, Slack and Mattermost make it trivially easy to create the high-level social space of a “Team” or “Server”, and within that, semantically tagged sub-spaces of chat channels. This is analogous to the Repo and Branch levels of VCS systems but for messaging. The ease and low cost of creating social spaces at both of these levels, and the affordances in those spaces (video/audio chat, screen-sharing, bots, etc) make these tools easy to adopt and continue to use.
Generalized Collaborative Power
Is it possible to generalize tooling for Collaborative Power? In other words, what technical affordances would be necessary for creating generalized sub-spaces within a high-level social context?
Imagine being able to create a social space for collaborative work-groups, where what is made trivially easy to instantiate and assemble inside the space, is not one single secondary type of sub-space (i.e. a branch as in a VCS, or a channel in a messaging system) but the mini-apps of your choice, within a simple composible frame.
Enter We
We is a new Holochain app we’re building over at Lightningrod Labs that provides this heightened Collaborative Power. We makes it trivially easy for users to create high-level social spaces and add “applets” to them. These applets provide the functionality for the exact types of collaboration intended by the group.
The UI looks a little like Slack or Discord. There’s a left-hand bar showing your “we-groups”, but instead of the right hand being the channel text stream, there is a secondary bar of “Applets” that have been instantiated into that social space, with the main right-hand window space displaying the UI of one or more of those applets. Here’s a screenshot showing a social space with the Notebooks applet active, which provides a real-time collaborative markdown-editing:
The power of We comes from how easy it is from both a user’s and a developer’s perspective to add new collaboration affordances. End users simply pick them directly in the Applet Library:
For Holochain hApp developers, this addition makes it very simple to compile, build, and publish to the DevHub their existing hApps as “we-applets”. Then any such hApps become instantly available for composing into We social spaces.
Distributed Groupware
In a way, We might “just” look like another attempt at a groupware tool, but there are few things things that set it apart:
- Generality and Openness: We makes no assumption about the content of collaboration. The affordances of the social spaces are entirely customizable by each group according to the group’s purpose. If a group needs a new social tooling, it can just be added in.
- Decentralization: Although, as mentioned, cheap branching is a key feature of Git, its primary design goal was to make possible a fully distributed version control for the linux operating system, such that no central authority could possibly take ownership of its development. This design is arguably Git’s true super-power; and likewise, because We is built on Holochain, it also provides generalized group-forming capability in the fully distributed context. No central servers or infrastructure is necessary. Simply install the Holochain Launcher and then pick “We” from the App Library.
- Agent-centricity: As a consequence of being built on Holochain, We’s core intent of group collaboration happens from an architecture of empowered agency. Individuals can start groups on-the-fly without request from any authority. Within groups individuals must opt-in to any applet that other agents propose for the group.
Where “We” is going…
The initial release of We demonstrates the key Collaborative Power functionality of adding new applets into social spaces on-the-fly. The next steps come from adding compositional grammatics to applets. These grammatics exist at a few levels:
- Visual: the ability to visually compose applet UIs into complex dashboards/layouts instead of just toggling between monolithic UIs.
- Templating: the ability to create a preset menu of applets that work well together and are easily installable as a group, including their layouts.
- Functional (the 4 “F”s); the ability to evolve social spaces over time:
- Forge: meaning the visual and templating for new group formation.
- Federate: inter-group protocols and connections that allow groups membraned interactions
- Fork: easy spinning up of new groups from existing groups, including data transferability.
- Fuse: easy merging of groups together.
Subsequent releases of We will focus on adding in all these grammatical elements, listed above.
So, back to the claims of Collaborative Power:
Collaboration effectiveness improves in direct proportion to both how easy it is to create nested social spaces in which to do that coordination, and the power of the affordances in those spaces to be recomposed overtime
We provides a significant upgrade to the ease of assembling affordances in social spaces. And it does so while upholding the significant properties of Generality, Decentralization, Agent-Centricity along with providing explicit grammatics for visual assembly, templating and evolution of social spaces.
We hope to see you in We!
P.S: For the technically inclined, hop on over to our github repo and check out the instructions on how to convert your regular hApp to be We ready!
Decentralized Next-level Collaboration Apps with Syn
Usually I am more energized by building tech than by talking about it, but I am so excited about what my son and I did over winter break, that I just have to share about it here. In an odd kind of busman’s holiday, I spent a good chunk of my time off writing a Holochain application. Coding with my kid is just pure pleasure for me, but I have to describe the additional incredible experience of having spent 4 years building a tool, and now suddenly being able to use that tool to build what it was meant for: creating collaboration applications.
My passion for Holochain has always been sourced in upgrading our collective intelligence, which means making it easier and more joyful to collaborate together. In early December, Art and I sketched out, in an afternoon, a generalized pattern on Holochain for real-time collaborative apps like Google docs where you can type in the same document as others simultaneously, and see their cursor moving around.
Over the holiday break, it took qubist and me just one week to prove out SynText, a peer-to-peer collaborative text editing application
Not only will it be incredibly easy to add other such applications on top of the UI pattern and Holochain DNA that we built, but this pattern will allow git-like branching, forking, and merging, in a user-friendly way for any type of collaborative work, not just code.
My deep excitement in this achievement is two-fold: it’s both practical and also deeply philosophical:
- Syn demonstrates the technical threshold that we’ve crossed in landing Holochain. It was just easy and fast to build it, and things are working like a charm.
- The patterns in the app bring a level of awareness and embodiment of the deep principles of Holochain’s architecture to the forefront. These patterns are all about creating thrivable social-coherence. And by that I mean the kind of social-coherence that arises not from structural coercive centralization, but from peers collaborating by consent. This matters to me.
So, here’s the story about Syn, and bear with me through some back-story because it’s important.
Back-story: Agent-Centric Data Enables Collaboration
If you’ve been following the Holochain/Holo story at all, you’ve probably heard that Holochain is “agent centric.” Strictly speaking this is true, but unfortunately it has hidden a deeper truth about Holochain. Let me explain: we used the term *agent-centric* to distinguish Holochain from other software architectures (especially in the blockchain world) that are philosophically *data-centric*. The prime concern of blockchain ledgers is to create a single “consensus” view on a data reality in the distributed peer-to-peer world, where that’s a known hard problem. In the case of Bitcoin, the idea is to create a data reality of the location of digital coins: who spent them and with whom. In the case of Ethereum, the idea is to create a data reality of not just coin locations, but also the state of a global computer that you can write and run programs on, i.e. “smart-contracts”.
The reason creating these data realities is a hard problem in the decentralized network world is that it’s impossible to determine the absolute ordering of events. This is a simple fact of physics. In the client–server paradigm this isn’t even a problem, because we start from a centralized server where there is a canonical notion of what the data is and a canonical time. The central server stores the data reality. The brilliance of blockchain is that it provides a protocol for distributed peers to hold data reality together, be it the order of transaction of Bitcoins, or the ordering of computation steps on Ethereum. But it does this by enforcing a single ordering of events. The stupidity of blockchain is that the protocol it uses to enforce this single ordering of events is incredibly expensive, extremely wasteful of computation power, and generates obscene amounts of greenhouse gases. On top of all that, for almost all distributed collaborative applications it’s not even necessary to keep one single global ordering of events. It’s easy to make this mistake of thinking so if your purpose is a trust-less system that’s trying to track the location of digital coins, but it turns out that you can still solve that same problem a different way.
Where is true data? | Ordering of…. | Merge of Perspectives? | |
Data-Centric, Centralized client-server |
Central server, canonical version | …content is absolute as performed by the central server. | Forced (There is only one central perspective.) |
Data-Centric, Bitcoin | All peers hold copies of data processed via a validation protocol | …transactions is based on randomized selection of one miner’s sequencing for each block to construct Consensus of token reality. | Forced (One perspective is kept for each block, all others discarded) |
Data-Centric, Ethereum | All peers hold copies of data processed via validation protocols | …content is based on randomized selection of one miner’s or staker’s sequencing for each block to construct Consensus of a global computer and smart contracts. | Forced (One perspective is kept for each block, all others discarded) |
Agent-centric, Holochain | Peers hold data they’ve authored, as well as data they’ve validated from other peers. Agents can see or create different realities/times | …content is based on its actual local order, since data is only truly sequential in the experience of an agent. Relative ordering across many people’s local state orderings can be established by explicit protocols and agreements to create shared reality in a case-appropriate way. | Merges only when needed, functions like git. All perspectives are preserved. |
Enter Holochain. The **agent-centric** view point starts from the understanding that data is derived from agency. It does not have “primary” ontological status.
Data is essentially and fundamentally a record of a particular agent’s experience, be that a human, a sensor, or a device. In reality, agents see/sense/detect different things and receive feedback in different orders representing different realities. If any record’s provenance is separated from it, then the “data” represented by that record is fundamentally broken. We can only make sense of data if we know who sensed the data. This is why absolute ordering of massively simultaneous computation is impossible.
But herein lies the “unfortunate” part that I mentioned before. I have seen people jumping on Holochain’s agent-centricity as if it were an ideological stance about the supremacy of individual rights. It is true that the agent-centric approach will help achieve some crucial goals in individual rights, especially around privacy, and preventing inappropriately centralized entities (corporate or governmental) from abusing data privilege. But this is only the first part of the story.
A Holochain application’s architecture is better described as **collaboration-centric**. Start with the reality of agency. Don’t dis-empower these agents. Instead fully empower them to enter into non-coercive play together with agreed upon rule-sets. Then what you get is thrivable social-coherence. This is what Holochain is designed to embody. And it’s working!
So, enough back-story on the philosophy and infrastructure, now for the “front-story.”
Front-Story: Combining the two mother apps of collaboration
So here’s the big deal for me about Syn: It creates the possibility of merging the two most powerful aspects of collaboration software and doing so in the fully decentralized world. This merge, will, I believe have some really interesting consequences, but first the aspects are:
- Real-time multi-user “document” editing
- Alignment of multiple realities: i.e. branching and merging
I’m assuming that point #1 above isn’t controversial, as I will bet that upwards of 75% of everyone reading this has switched from a local word-processor to Google Docs or HackMD for almost all of their text editing.
Point #2 probably ought not be controversial as indicated by the prevalence of git in software development, but it might need a little explanation for those readers that don’t do team coding and therefore aren’t making code commits and branching, forking, and merging many times a day. Even for those of you who are, if you grew up doing so always with your git repos centralized on GitHub, you may be missing a key part of the decentralization story.
For me, the first time I understood what distributed software and peer-to-peer really meant as an architectural reality was when I switched from Subversion to Git for version control. Subversion was based on the mental model of a centralized repository (a database of changes to the code’s text files) from which coders would 1) make local check-outs of that source code 2) edit the files, 3) and then make a commit (which is storing back into the database a set of such changes), but 4) you might have to merge your changes before you could make the commit if someone else had committed first, which entailed resolving any conflicting changes. Coders could also make a branch (which was a copy of the repository) and create a bunch of commits on that branch and merge those in too, but the mental model was still of some central place with a single “canonical” reality that the group of coders was updating.
Git was different. Git assumes no center point. It assumes that each coder has their own copy of the code repository and can pull and push changes to any other distributed copy of the repo they have permission to access. It assumes that all changes are made to local branches and that branches will be created and merged all the time. It embraces locally divergent realities and eventual group consistency.
If you think that your git repository on GitHub is somehow special, well from git’s perspective it isn’t. It’s just a repo that a bunch of agents have agreed to use in a hub-and-spoke synchronization pattern. Your “git push” could be directly to your friends repos if they gave you access and you added them as a remote. In that case you would just be agreeing to a more mesh-like collaboration pattern.
Of course github has loaded lots of collaboration value-add on top of just being a place to embody the hub-and-spoke pattern, with issues, pull requests, kan-ban boards, integrated CI, etc. This is an important part of the story which is part of a pattern that repeats: decentralized public-domain protocols spawn centralized proprietary value-add silos built on top of those protocols. The detailed story of another example of this—about how AOL, GEnie, and Prodigy created chat-rooms, news services and all kinds of proprietary value-add on top of the primary feature of the internet’s SMTP protocol that provided the core service, email—is one I will tell some other time. But the key there is that proprietary value-add was erased by the arrival of another set of open protocols: http and HTML. And I think that Holochain/Syn may be yet another example of this story of the orders-of-magnitude value level-up that happens in this evolutionary process.
I’ll show how in a bit, but first it’s important to understand what it takes to build Syn apps.
To make a Syn app you have to do just a few things:
- Define a state model that represents your application. In the case of a text document this state model might be just two strings, the title and the document body.
- Create patch grammar that defines all the transformations that you can do to the state. In our text doc example that might be just three things: insert a character at a position, remove a character from a position, and set the value of the title.
- Create a delta function which, given a state and a transformation, produces a new state. This is pretty easy to do with simple patch grammars.
- Create a UI that:
- renders the state when it gets notified that the state has changed, and
- creates Syn transformations when the user would like to make a change.
Once you’ve done that, Syn takes care of the heavy lifting of coordinating between all the agents making and synchronizing changes, all without a central server.
That’s aspect 1 from the consequences of collaboration software above:real-time multi-user collaboration. With one additional app-design task, Syn’s architecture also handles aspect 2, Alignment of multiple realities, in a general way:
5. Define a merge strategy for resolving differences between states and transformation sets.
This last task is where things get tricky to do well, and in general can’t always be done in a fully automated way. However, the idea is that when necessary, a merge strategy would include human intervention: manually (i.e. using human judgement) resolving the differences between conflicting change sets. This is nothing new to git users who handle merge conflicts all the time! Note that it’s important that merge strategy is not generalized and specified per-app. This is part of the power of the Syn approach.
Once this fifth task is done, Syn becomes a general framework for adding branching and merging to any collaborative app. At any given time, Syn has the notion of a session, which is just like a branch in git. It’s a commit to treat as a starting point for a series of changes. Unlike Google Docs which just has a single revision history, Syn provides, at the low level, a space for multiple version histories based simply on which session users join and start making changes. With merging, the realities these branches represent can become aligned. Because Syn supports generalized UI for creating/viewing/switching sessions and can insert the merging strategy defined by the particular app, this is a powerful pattern that used to be available only to coders using git. Now, suddenly, it can be applied to arbitrary collaboration apps. In a way, it’s two-level collaboration, synchronously on the “same” state, and asynchronously on divergent/convergent state.
To me this is a big deal. If collaboration is about empowered agents entering into non-coercive playing together by agreed upon rule-sets, then this pattern in Syn is a massive level up meta-rule-set for doing so.
Imagine Wikipedia articles with multiple branches that reflect the true differences we have rather than just being fights in the talk pages, frozen around the assumption that there is a single, neutral point-of-view. And because of their many branches, they can actually merge when people find a way to represent those divergences in ways that can be understood by those who were arguing. That’s next-level collaboration.
Imagine creating branched spreadsheets where each branch models entirely different scenarios off of a core set of assumptions that can then get merged together as reality shows us what happens. That’s next level collaboration.
Imagine the concrete vocabulary of conflict resolution that emerges as we develop new and interesting merge strategies for conflicting change sets in different application contexts. What does it mean to resolve two different color choices applied to the same object by different people in a drawing program? I can imagine an ad-hoc Syn app spinning up that lets people on the fly make proposals and vote, or do rock-paper-scissors, or whatever… all as part of resolving a merge conflict in another Syn app! That’s next level collaboration.
Do you see the implications? I’m excited.
P.S. The holo-hosting team has been using an online-stickies tool to manage choosing topics for our virtual retros. On seeing Syn one of our team members dove right in and got this working in no time:
P.P.S. teaser for the hyper-nerdy reader:
P.P.P.S A number of folks helped with this article: Thanks first of all to Will for being a co-conspirator-in-syn-itself and for detailed edits and clarifications here. Thanks Jean Russell for supporting and pushing me to get this out, and especially for the initial draft of the comparison table. Thanks to Pospi, Guillem Cordoba, Siddharth Sthalekar, Hedayt Abedijoo, Emaline Friedman for comments edits and suggestions that made this article much better. And finally thanks to Art Brock for the usual co-creative sketching of things out that we can then turn into reality.
Supremacy Consciousness, Grammatic Capacity, & Play
As is pretty obvious I don’t write much here. My focus for the last 4 years has been pretty singular on getting Holochain and Holo built. And writing takes me a long time. I also have a hard time writing to the void of the Internet, I need to be in a direct conversation to share well. Recently a friend made an open invitation to respond “about what you’re seeing and thinking in the world right now.” and he provided these prompts:
- What are you seeing more clearly now? What seems less clear or certain to you now than it did previously?
- What are the biggest/most interesting/most urgent open questions on your mind at the moment?
- What issues do you think the world isn’t paying enough attention to?
- What could we be doing that we aren’t doing right now to move towards more positive outcomes for the world? What do you think is standing in the way of us doing that?
Given that we’ve recently crossed some major development thresh-holds in Holochain land, and I’m feeling really positive about where things are going, I felt that I had the spaciousness over my end-of-year break to actually sit down a respond. Here’s what I wrote (along with some images to spice it up):
Current-see and Death Straight Talk
I haven’t written much lately, I guess I’ve been busy… mostly with two things: Cancer & Ceptr.
Currently, my time is about living with a spouse with stage 4 metastatic breast cancer and all that it takes to support her as well I can. My work is about building tools for a post-monetary society; creating a new meta-language to allow a vast expansion in social forms that is currently limited primarily by the world’s current statement of value: money. These two worlds have recently come together in ways worth writing about.
When describing my work-in-the-world, people are always asking me for more examples. Because abstract descriptions like the one in the paragraph above don’t really do it for folks. I get it. But it’s hard for me! When what you are designing is like grammar for a kind of language that doesn’t exist, it’s pretty hard to give examples of sentences in that language, because it doesn’t exist yet! But there are openings into what that language looks like and what it might feel like to “speak” it. Here’s the one that comes from the intersection of my two lives. It’s called DST (Death Straight Talk).
First, go and read my post about DST on Ellen’s cancer blog. There I share the concrete personal story, when you get back here I’ll tell the current-see story that connects it to my work:
In the post-monetary world, value coordination isn’t reduced to a unidimensional bottom-line of money. We actually already live with one foot in that world. We are swimming in non-monetary current-sees like grades, credits, degrees, e-bay/Amazon/Uber ratings, food certifications of all sorts (USDA Organic, Fair-Trade, Non-GMO, etc)–the list goes on. We just normally don’t recognize them as “parts-of-speech” in a single “language.” When we do, new things become possible.
This is what happened to me around DST. Pretty much everywhere I go now I look at the world through the lens of seeing all the information token systems we use to coordinate our actions. Movie and train tickets are current-sees, so are postage stamps, and buy-10-get-1-free coffee cards, intake-forms, passports, and licenses, the list goes on and on. I look for the current-see life-cycle, the issuer, the redeemer, other co-functioning current-sees, and I look for the level of wealth the current-see corresponds to in our living systems model of wealth.
In December, Ellen got diagnosed with malignant pleural and pericardial effusions, which required hospitalization to get drains inserted to relieve fluid buildup in the sacs around her lung and heart (cancer cells muck up the usual flow paths). While in the hospital a protocol around a slightly lowered blood sodium level involved giving her “some fluids.” Seemed innocent enough. Well, in Ellen’s case, those IV fluids ended up causing pretty extreme swelling in her feet (she renamed her feet manatees). The swelling was bad enough on its own, but due to neuropathy from previous chemotherapy, meant that thereafter walking was almost impossible due to the pain in her feet. It took three weeks for the swelling to go down, and for Ellen to do more than hobble. This had a cascade effect on loss of muscle which still hasn’t returned.
It’s pretty clear to me that the protocol that triggered the IV fluids didn’t take into account increased swelling risk, that, it turns out, comes from protein loss from pleural fluid drainage. I really doubt it took into account added pain due to neuropathy. And I know for certain that it didn’t take into account quality-of-life assessment around the questions of balancing risk of loss of mobility for a person possibly in the last months of their life, because no-one asked.
At the end of January, I went to California to help co-facilitate a workshop on Deep Wealth Design principles. On the last day of my trip, I got word that Ellen was back in the hospital again. After the previous hospitalization we had talked lots, and felt pretty good, about how to communicate with the medical world about her specific risk around IV fluids to prevent immobilization by swelling. But this time around there was much more going on. The short version: I could tell that lots of hospital protocols weren’t going to take into account Ellen’s situation, and what she wanted given her prognosis of limited life span.
Then it hit me, probably because I was primed by the workshop: Medical staff have a current-see that they know how to pay attention to, the Do-Not-Resuscitate order (DNR). And it’s issued by the patient! I knew we need something like that, and that I had to have an acronym to refer to it. That’s how DST came to be. The rest of the story you know from my post on Ellen’s blog, but from a current-see perspective here’s the take-home: Adding a token issued by the patient allows re-evaluation of risks built into other protocols based on that patient’s stated understanding of what will create well-being for them.
Note that DST so far isn’t a real current-see, because, unlike a DNR, there’s no social agreement on its issuance, use and life-cycle. But just my words to nurses “pretend like she has a DST sticker in her chart” made it work as if it were. It connected the main current-see hospital staff has to work with, the chart, with Ellen’s particular place in the flow. It’s a pretty powerful example of the effect of current-sees on social systems, and my own beloved’s well-being in the midst of them.
I want this story to give you a visceral sense of how the social body gets built out of the formal information tokens we create Yes, underneath it’s the humans and their compassion and love and all that great gushy stuff that really matters. But the social body is built out of communication tokens and the agreements around their use –things like DST. We will lose what really matters if we don’t understand this. When we understand it, really and deeply, then we will also develop a kind of “language”, that can all “speak” to allow us to spin up various DST-like current-sees, and to evolve them on the fly.
When we have that new “language,” then we will have stepped fully into the post-monetary world. That’s why I work on Ceptr and the MetaCurrency project.
On Voles and Openings
I just signed up for Edgeryders and completed my first mission, which is to “share your ryde.” This provided me with an end-of-year opportunity to think about and document where I’ve been over the past years, so I’m reposting that “mission” here:
I’ll start the story of my Ryde by quoting my first blog post ever (back in 2005):
A few days ago I stopped at a gas station. As I was pumping, I noticed a vole scurrying across the parking lot. The lot was covered with a thin layer of that dry compacted, dirty snow that you get when it’s been cold enough that the snow never melted or turned ice. The vole would zip along for about six feet, and then try to burrow under a clump of snow, only to hit pavement so it would zip another few feet and try again. It had come from behind the gas station where there is a field, and it was headed in the direction of a very busy road. This vole was in for trouble and I’d better do something about it. I was half way through pumping so I finished filling my tank and then turned to see what I could do for the creature.
By the time I’d spotted it again, it was about twenty feet from the road. I headed not towards the vole, but at an angle that would cut it off from the road so I could shoo it back to the field. But it must have know that I was trying to prevent it from moving towards its intended direction because it immediately headed for the road at a modified angle calculated precisely to avoid me.
Within seconds the vole was in the middle of the road. The first semi missed it by five feet. The next one flattened it.
I don’t know if the vole would have gone on to the road had I not tried to save it, probably it would have. But I do know that if I had stopped pumping gas right when I realized that this vole was in for trouble, that I would have had a much better chance of saving it.
I hate pumping gas. Every time I do it, I feel like I’m that vole flinging myself and my fellow humans as fast as possible right toward those tractor-trailer truck wheels. The vole’s consciousness doesn’t even include roads and trucks, but unlike the vole, I know about peak-oil, and global warming. I can see the truck coming. But why didn’t I stop pumping for that vole? Why don’t I stop pumping for all us? How conscious can I become?
I decided to register for Edgeryders after reading this post of Vinay’s. Clearly there’s an affinity of sentiment between Vinay’s post, and mine from that blog post, but that’s not why I signed up. Instead it’s because I’ve been struggling with that sentiment for many years, and decided to take the “Share your Ryde” mission as an opportunity to continue with that struggle.
There’s something that feels righteous about “being willing to face the facts,” about not being in denial about how bad the situation is. It feels responsible, and grown-up. It feels like honesty, like trying not to be self-delusional, as well as being willing to take a stand. All these are attributes I strive for. But my struggle, is around being responsible not only to what is now, but also to what can be, to what is possible. In his post, Vinya writes: “If you’re not aware of this situation, I guarantee you it’s because you’re not paying attention, alas.” That’s a great rhetorical flourish: “If you’re not X, it’s because you’re not paying attention.” Makes me really want to be X because the last thing I want to be blamed of is “not paying attention.” But in attention lies the rub. There are different qualities of attention that yield awareness of facts (how things are), and of possibility (how things might be).
There’s that saying “A falling tree makes more noise than a growing forest.” What I’m most keen on doing, is focusing my attention on the space of actual new possibilities, on listening for the quiet growing forests of our time. For me the key experience in this regard over the last years has been what feels like “openings.” Though I cannot deny the importance of “facing the facts,” what seems of far greater import is to listen for the possibilities, the search for, and openness to, openings. When openings come, they have consequences. An open door is an invitation to at least look into the room behind it. So, to share my ryde is to share openings and their consequences. The direction of my life has changed drastically since 2003, because of a number of openings and the consequences of them. Here are the key ones, not strictly in chronological order, but close:
Opening #1: In 2003 my father gave me two books to read: Interest & Inflation Free Money, by Margrit Kennedy, and The Future of Money by Bernard Leitaer. For me these books were one-way doors. Once I’d stepped through, there was no going back, because suddenly I understood three things: 1) money was a human invention 2) this particular invention is foundational to all human social patterns 3) we can change it, and there-by change our social patterns. Thus, I became open to a huge new possibility.
The consequence of this opening was two-fold: first, that I became involved in a local currency project (one that never got off the ground), and second that I was invited on the board of the E. F. Schumacher Society, a small non-profit that for decades had quietly been working on many decentralist economic efforts, including local-currency efforts, which has now grown and become the New Economics Institute .
In 2004, the Schumacher Society held what I consider to be a pivotal conference called Local Currencies in the 21st Century. Plenary speakers at this conference included both Kennedy and Leitaer (authors of those two books), and also Tom Greco, but most importantly for me, it’s where I met Michael Linton, Jean-François Noubel, and Arthur Brock.
Opening #2: Michael Linton. I knew of Michael before the conference from my reading, as he is a pioneer in the community currency world, well know for his design of LETS, one of the most widely deployed community currency patterns. But at the conference Michael was talking about his ideas for open money. I daresay few people at the conference then, or since then, have understood the import of what Michael was sharing. He was explaining, as a unified vision, the necessary aspects of how the structure of money could to change. Namely that 1) money is information, 2) the pattern of flow of that information in relation to communities should be circular, i.e. issued within the community so it would flow around it, not through it as happens with moneys issued outside of communities. 3) That there must be a rich ecology of currencies appropriate to each communities circumstances. 4) That these currencies must exist in the context of a network that emerges out of an interplay between communities of function (what people do together) and communities of identity (how people see and name themselves). Michael was the first person I met who was thinking coherently on this level and actually trying to build a system that addressed these issues and was designed to scale. Over the next few years I came to work closely with Michael on the open money project.
Opening #3: Michael introduced me to Ashby’s Law of Requisite Variety, and to Reed’s Law of Group forming Networks. These two “Laws” are both fascinating and deep, and they clearly apply to money and currency systems. Single national currencies fail to provide the systemic regulatory variety necessary for a healthy economy. Also, a multi-currency network would be an incredible group-forming network. But the real opening for me was not so much in the laws themselves, but in that they both point to the fact that in networked and cybernetic systems, new ways of thinking are necessary, and the results are surprising and non-intuitive.
Opening #4: Jean-François Noubel. At the Local Currencies conference Jean-François was sharing his work on Collective Intelligence. This work identifies and describes the evolution of the forms of collective intelligence from “original collective intelligence” through where we are now, which he calls “pyramidal collective intelligence,” on to the possibility of “global collective intelligence.” In his work, Jean-François also focuses on “invisible architectures,” those patterns that, mostly unconsciously, regulate our lives. One of the most crucial that he identifies, of course, is the monetary system. Looking at the world through the this opening, the lens of collective intelligence and invisible architectures, gave me, and continues to give me, not only a powerful explanatory rubric for how things are now, but also where they might go.
Consequences, phase I: I’m trained as coder (I have a B.S in computer science), but just before my father gave me the books that constitute opening #1, I had decided to give up coding. Over the years I had written a bunch of a good code that had made a bunch customers happy, but I didn’t feel like it was right. I wanted to be focusing on something that had a deeper impact. So I gave it up, and told my partner that I wanted out of our small dev shop. Well, after openings 1-4, I found myself right back in coding land. I knew that now I had the opportunity to try and implement software systems that could realize the promise of a new monetary system. This felt like impact. So this led to working closely with Michael to build a web-app that was pretty much to his open money specifications, and was meant to be a single server fully functional prototype to demonstrate what a networked multi-currency system would look like. That system is still operational and used in a couple of places. You can check the dev site.
Opening #5: The levels of Wealth and their relation to systems. This opening was sparked by Jean-François Noubel, who described to me a taxonomy of wealth. He had realized that money is a tool that focuses on building tradable wealth, but that tradable wealth is just a small subset of measurable wealth, which itself is a subset of acknowledgeable wealth. What I realized, is that those levels exist because of systemic truths, i.e. that each level of wealth corresponds to levels of systemic integrity. That tradable wealth corresponds with parts and products of systems, and measurable wealth corresponds with properties of systems as a whole, and acknowledgeable wealth corresponds with relationships between systems. Here is where I first wrote about all this: http://openmoney.info/sophia/.
Opening #6: Arthur Brock, flow and current-see. The opening about the levels of wealth came pretty much at the same time as I was also deepening my association with Arthur Brock who I had first met at the Local Currency conference. When I met him at the conference he was championing what he called “targeted currencies,” special purpose currencies for solving particular community problems, rather than general purpose exchange currencies. Arthur had been using the metaphor of the electromagnetic spectrum, comparing monetary currencies to visible light, when there was actually much larger range of currency “frequencies” that were available to solve other problems. But it wasn’t until I came to understand Art’s deeper definition of currency, as “current-see” or formal information systems that allows us to see and interact with currents, flows, that the things really came together. These different levels of wealth, corresponding to the levels of systemic integrity, also needed corresponding currency types, to manage the different types of flow that are taking place at those different systemic levels.
Consequences, phase II: Openings #5 & 6 showed that my first open money system wasn’t enough, that as well as being able to create new currencies in the network environment, that it would be necessary create multiple types of currency that operated very differently depending on which level of wealth they were targeting. I wanted to build a generalized “wealth acknowledgement” system. And I also wanted to try my hand at building a system that would be client-server based that would allow multiple servers to play and thus be decentralized. At the time I met Geoff Chesshire who had also been working with Michael Linton and was building a currency system called Regenerosity, which used the idea of laying down what amounted to a social network graph to record the changing relationships in a community, which is essentially what monetary transaction are. Using these ideas I built a whole new system. Here’s an overview of the technical architecture (what I called the Mesh & Churn): http://openmoney.info/techne/overview.html, and the code I wrote to implement it is here: https://github.com/openmoney. A demo site is still up at: http://omclient.heroku.com/
The new system was working, and it was pretty easy to create mutual credit currencies, as well as reputation currencies, and if you were a geek you could configure other types of currencies too. But there was a big problem. Though I had made allowance for these different types of currencies, technically most of my focus was on laying down that social graph, the mesh. I hadn’t yet paid lots of attention to what the range structure of different possible currencies could be, and how I was going to integrate that.
Opening #7: David Abram’s “Spell of the Sensuous.” Abram’s book provides an amazing account of how we’ve shifted the locus of meaning from the natural sensual world to human constructed one in the form of our abstract alphabet. The opening came while reading his account of the evolution of writing. That description opened my eyes not only to how currency is very much like writing, but that it’s also on a similar evolutionary track, going from a very concrete representation form, “pictograms”, to a much more abstract one, an “alphabet.” We think of modern money as very abstract, most often just bits in a computer. But what I realized, is that money is still very concrete, and just like pictographic writing. It’s not abstract at all because all moneys so far use the same encoding mechanism they always have for value: relative scarcity (just like all pictograms use the same encoding mechanism for meaning: shape) And that encoding mechanism is only really appropriate for tradable wealth where scarcity is true for parts and products of systems. It’s not appropriate for the wider levels of wealth. What I saw is that we have no “alphabet” for encoding all the levels of value, and that’s what the open money system I’d been working on could evolve into. I’ve written a couple blog posts about this if you want to read about it in more depth: here and here.
Consequences, phase III: The rise of the MetaCurrency project, XGFL & the Flowplace. By this time, it was clear that I was interested in more than “money” because monetary currencies are those that apply to the smallest circle of wealth, tradable wealth. I was committed to working on what I was calling a “meta-currency” system that had a currency specification language that would be capable of representing wealth at all levels. So Art & I co-founded the MetaCurrency project to be a home for the tech protocols and know-how that would make this happen. Focusing on this problem from the currency-specification language point of view resulted in a design document that included the Simple Game Format Language (SGFL) which later became XGFL (X for eXtensible). This language was to be for currencies, as HTML was for web resources.
At the same time I started working with Jean-François and Fernanda Ibarra who together wanted to a usable platform for groups of early adopters they were working with in the transitioner network who wanted to start living these ideas of multi-level-wealth currencies. So together we built the Flowplace. Here’s the demo site. The Flowplace implements the XGFL language, and at the same time includes a bunch of other important ideas necessary for actually organizing communities (what we called circles) around them and making them useful, the equivalent of a marketplace in the multi-level-currency context. Jean-François and Fernanda have used the Flowplace in a number of contexts and people have had transformative experiences as it can give a taste of a what a multi-level-currency world might look like. But from my perspective, as a system designer, this experiment, like my previous one, was a dead end. Where the Mesh & Churn didn’t have a native way to include currency specification, the Flowplace with XGFL, didn’t have a native way to relate currencies to each-other. We did do some important work on what we called membrane currencies to address this difficiency, but it just didn’t feel right, and I knew it didn’t have legs.
Opening #8: The evolution of expressive capacity. Unlike all the other openings I’ve listed, for this one I can’t pinpoint its source. Of course it builds on all the other openings, but there’s not a particular person, conversation or writing or even moment that I can remember where it arrived. I think its the product of all of us working together around the MetaCurrency project. I now see that all the previous openings were partial views of this bigger pattern. So, yes, money is information, and yes, its evolution is like that of writing, but here’s the deeper pattern: It appears that the greatest leaps in “novelty,” i.e. increased possibility that we know of, all arise because of the emergence of new embodied information encoding systems, what I like to call “expressive capacities”. DNA, neurons, language, writing, the printing press, computers, these are all examples, at various levels of complexity, of such expressive capacities that allow for a explosion of possibility that is unimaginable before their arrival. Notice that though they are all “revolutionary” some of these new expressive capacities are more revolutionary than others. The invention of writing and the printing press are extensions of the basic expressive capacity of language. But the arrival of language and DNA are much more, shall we say, foundational.
So here’s the crux of the opening: I see that we are at nexus point where new expressive capacity is ready to emerge that’s on the same “foundational” level as language and DNA. Our current day money is to that new expressive capacity as the coordinating hunting grunts of some proto-hominids is to language. Just as those grunts were somehow synthesized into a small collection of phonemes out of which an infinite number of words could be built, and which themselves are connected and organized into the subject-predicate grammar of human language, so is there the possibility for us to evolve away from that form of grunting we call money. What we can it evolve toward, is, for the lack of a better term, a language of flow. What this language expresses as an embodied information encoding system, is the equivalent of DNA, but for social, rather than biological organism.
Consequences, phase IV: After this opening became clear, it was pretty obvious what the problem was with XGFL. It’s at the wrong expressive level. Expressive capacities are all built out of fairly simple nested composable units. Narratives are built from paragraphs, which are built from sentences, which are built from phrases, which are built from words, which are built from word parts, which are built from phonemes, which are built from phones. The rules for composability at each level are fairly simple, yet the variety of that which is expressible is infinite because of the combinatorial explosion. This same property works for all other expressive capacities, think of DNA and neurons, a small vocabulary of composable parts, mixable with definite meaningful grammatics. You see the pattern. Starting with XGFL to define currencies was like starting with a whole paragraph as the basic unit for a language. It was an expressive capacity without the necessary simple levels of composability. Here’s a blog post where I wrote about this. That post includes a diagram of a new architecture that we worked on for quite a while, but again, it didn’t quite feel right, until…
Opening #9: The Receptive Stance. In November of 2010, I flew to Denver for a working retreat with Art. The opening came early on in our working sessions. I have photo of the flip chart with the exact quote we wrote down when it came: “Composition requires creation of a negative space, i.e. receptors for an as of yet unknown interaction.” For so long we had been searching for some currency ontology, i.e. we were trying to figure out what the basic currency components were out of which we could build our flow language. This opening had us flip our attention, i.e. not to look for the parts, but to look at the negative space, the structure of containment that could allow for the rise of as of yet unknown parts.
Consequences, phase V: From this opening a whole slew of other things have emerged (and are still emerging). These consequences haven’t played out yet, so I’ll just say that it’s led to what we are calling the ceptr platform, as well as a strategic plan for rolling it out, which includes a very cool app call Streamscapes. Prototyping for both of these is at: https://github.com/zippy/anansi
To close, as short story: I live in an intentional community. One of the things we’ve been doing here is lots of planting. For me, this meant that besides starting a terracing system to create a kitchen garden this year, I also planted four fruit trees: a cherry, two peaches and an apple. I decided to buy fairly large trees (not the less expensive bare root trees you can get) but ones that were already a good six foot tall with a root-ball, to get a head start. It felt like a good investment. Well, not more than a month after planting, the apple tree started leaning over in the wind. So I added some stakes and support to help stabilize it. A month later I found the tree almost lying flat. Examining it, closely I found that it was no longer a tree with roots, but rather more like a stake with branches jammed into the ground. Some critters had totally separated the growing trunk from all the roots. Turns out it was voles. Nearby the trees I had dumped a large pile of manure which was planning to spread in the spring. The warmth of pile is now host to a prolific family of voles, that apparently also took advantage of the soft earth that resulted from my digging a nice hole to plant the apple tree, and enjoyed the roots and bark of the tree in the mean time.
So here are the voles again, intersecting with my life. But this time, oddly, something I did was giving them life, and to my expense! There is the economic farmer in me who’s frustrated and angry. Frustrated at the loss of a $50 tree, and wanting to just go get rid of those @&!#@* voles. But there’s someone else in me who’s laughing. I can’t quite name that person, but I feel like he/she’s laughing at a joke that’s on me, and it’s actually a good-humored joke. It feels like maybe that vole-chewed tree is part of a bigger pattern that I can’t quite see, but that person inside me can see it, and is chuckling at my farmer response to the vole. What is that pattern? I don’t know for sure. But what I am sure of, is that though I have to be responsible to facts of the current reality, at this stage, it’s essential that pay very close attention for openings through which I may be able to become responsible to emergent possibilities.
An Occupy plan, money and free speech.
I just read this interesting “plan” put forward by the Occupy “Working Group on the 99% Declaration.”
Notice that ten out of twenty-two of the suggested grievances are either directly or indirectly about money. Hmmm. Interesting indicator of where the problem is. It’s fascinating to me how stuck we are with the idea that such grievances about money will be resolved politically.
For example: grievance 1 & 2 call for reversing the supreme court decision that spending money is an act of free speech, because this allows corporations and rich people to control government through the “protected speech” of campaign contributions. That seems to make sense on the face of it. But the problem is, I believe that money actually is an expressive capacity, a speech act. So free speech does apply. But not quite the way it might at first seems. It’s not spending money that’s the speech act, it’s issuing it in the first place. You see, issuing money is making a promise. It’s make a declaration about value. Spending money just is passing along that promise or declaration that some other party made, because it’s a token of the value you wish to transact.
If free speech really applies to issuance this has consequence for Occupy. A far better strategy, I believe, is to build on that Supreme Court decision, to take it further and make sure that we trumpet this truth. That real monetary speech comes from issuance, not spending. But we don’t have to wait for the courts to recognize this truth before we start acting on it. Communities and individuals everywhere can start issuing thousands of new types of currencies as acts of free speech. Currency issuance is already free because it is speech!
There may be one political fight that comes from this view. Currently, legal tender laws force us to recognize Federal dollars for settling “all debts public and private”. This amounts to something akin to the opposite of free speech, the forcing of speech. I believe that you are free to speak as you please, to make any promises that you want. But this freedom of also entails, I believe, that I not be required to believe your promises. But this is what the legal tender laws amount to, citizens being required to believe the promises of government and the financial industry which together issue Federal currency.
So perhaps one political battle worth fighting for is the repeal of the legal tender laws (which can be done on the grounds of freedom of speech), but I think better strategy is just to make it obsolete.