Category Archives: Ideas


This post is a reply to an invitation to share what I imagine to be a “chat application” that may be developed as a prototype Holochain application.


The Holochain team conversation is taking place on Mattermost (an open-source Slack look-alike). I believe that there is a good chance that default the conversation will converge on something similar to that. I do not believe that is a good outcome and though what I am about to describe seems to be something very different, it does include in its potential field a Slack-like modality.

Messaging Convergence

Though we use different tools for messaging, they all seem to be able to morph into similar outcome when to put to real world use. Consider these examples:

  • There are Holochain team members with whom I’ve only communicated on Mattermost and never with email and so when I want to reach them I got to Mattermost and use its private messaging as if it was an extension of email.
  • I have seen Gmail used in such a way that it looks (from the perspective of a single user) like a slack/mattermost … where emails are directed into folders based on people/context, etc.
  • There have been a few people with whom I’ve communicated on Twitter using direct messages – again as if it was an extension of email. This was not a preferred solution on my part, but rather an undesirable outcome because we initially connected on Twitter and I did not have their email addresses. I am uncomfortable with my communications being held and trapped on a corporate platform.
  • Facebook itself is essentially a kind of chat application … and its chat application is explicitly that.
  • Whenever other apps or platforms (including the above mentioned examples) want to guarantee they can reach us they revert to a guaranteed medium: email to do so.

The result is:

  1. A fragmentation (we need to look at messages in many places) which gives birth to what capitalists like to call “the attention economy” where our attention is being pulled in many directions for a very similar kind of communication  simply because these communications are controlled by different corporates.
  2. A flooding of email which is increasingly difficult to manage.


Some Agent-Centric Implications

When I reflected on the idea of a “Chat Application” I found myself mainly focused on the implications of a transition from a centralized world view to an agent centric one. I had two primary examples on my mind to challenge my framing:

  1. The questions that came up when the Mattemost was setup about what/how channels should be named. That is a centralized question. In an agent-centric view it is plausible that I join a channel and then rename it to make sense within my own context. It would still be the “same channel”, but I would know it by a different name.
  2. In a centralized view a channel is directly correlated to a list of its members. I had a wish to join a channel but to silence some people in it (but not in other channels).

The point I want to make with these examples is not as features but as teasers of what an agent-centric chat may become. Because we are so used to chat in a centralized architecture, we are pre-empted with many assumptions about what is possible and what is good.

To meet that challenge I believe we need to start not with chat but with agent-centric messaging as a fundamental capability.

The Email of a Distributed Interet

Some years ago Mozilla Labs Launched (and ultimately cancelled) a project called Raindrop which was given a mandate to re-imagine messaging. This is the scope that I am imagining.

Just as we are creating DPKI as an identity infrastructure, I am suggesting that (before we commit to specific forms of messaging) we create messaging as an infrastructure.

I do not mean this just a technicality but also as a foundation for creating a re-imagined individual-oriented experience of messaging. An experience that  each individual will be able to shape and tailor to their own needs and preferences.

For example: I use Mozilla Thunderbird as my email client. I also use it as my RSS aggregator. Ideally, I would have also liked to use it to “channel-chat” with the Holochain team without having to use another app (or browser tab) to do so. Let us start by creating the “Thunderbird hApp” without being bound to the concept of email or chat message as being separate things.

If such an infrastructure is established it may be a useful service to other hApps and developers. Instead of recreating fragmented messaging across applications, all applications will be able to “reach users” through this core messaging service.

About YIN

I once browsed a book on Tai-Chi. In it I found an explanation about Yin and Yang in the context of Tai-Chi. The Yin quality represents listening/attention. The Yang quality represents action. Though Tai-Chi, in the west, is mostly known in its slow-moving form, it is in fact a martial art. In combat Yin represents a stance of readiness where one is very attentive, waiting for the opponent to make a first move. Then, when one has “read the opponent” one can respond correctly and quickly – which represents the Yang quality. A good warrior will begin moving after her opponent and reach her target first.

Yin represents the quality of attentiveness – the readiness and ability to receive. The core messaging capability I am imagining manifests this quality. As a core service it creates one channel (an integrated sensing organ) where all messages (signals from the environment) arrive (are received), making it possible to be shape an integrated awareness/attentiveness that receives and responds well to messages from many sources.

Today, our communication tools pull at our attention in different directions and distract us. What if they could be remade (the opportunity we have at this time of birth of a new internet) to be coherently well-integrated? This basic sense-ability seems like a good step towards allowing us, as individuals, to coalesce into social-beings.




Range Voting by David Siegel

An interesting collection of resources by David Siegel.

  • Why do we vote: I’m not sure I agree with his theory … I think people vote because we do not have better ways to make decision … and attached to voting is a promising (though illusory) story which comforts people (both voters who feel they are being heard, and agenda-makers who know that the voting can be gamed and brought into service of their wishes). That said, in a better world, the question of why vote is a valuable one.
  • When to vote – try other decision making tools before voting … participation trumps voting.
  • Range Voting … another votign strategy to be explored

Identity is NOT Required for Voting

“In almost all transactions that we take part in on a daily basis we are not proving our identity, we are proving that we are authorised to do something whether it is to charge money to a line of credit in a shop, ride a bus or open the door to an office. In these cases we are using ID as a proxy because we don’t have a proper infrastructure in place for allowing us to keep our identities safely under lock and key while we go about our business. What you should really be presenting at the polling station is an anonymised entitlement to vote that you can authenticate your right to use. It is nobody at the polling station’s business who you are and, in common with many other circumstances, if you are required to present your identity to enable a transaction then we have created another place where identity can be stolen from.”

source via Tom Loosemore

Hence my thinking that every voting opportunity be accompanied by a securely generated voting-token which expires upon use. This can be further strengthened with some kind of two factor authentication which can be activated on the spot, still, without a need for identity per-se.

Gov.UK Verify

One of the things I discovered in this talk about Government as a Platform was a userverification scheme.

The UK government decided to go with a distributed approacht to user verification. Open authenticaton protocols are used to interface with existing authentifying authorities. These are bodies who already have information about us (such as banks) and can help to confirm our identities.

This also prevents the goverment from having to develope a centralized database which becomes an attractive target for hackers and needs to be constantly defended.


If You Have to Start with Community

This post was born as part of a response to this comment on a Loomio thread.

Though I do believe that a proper socio-technological architecture starts with individual self-owned online presence it may very well be that actual applications will begin in social spheres. Those beginnings will probably gravitate towards creating online-community space (as they often do).  In my opinion this presents an opportunity.


I believe that especially in these cases the underlying socio-technological infrastructure still matters very much. A typical architecture where a community site is created and proprietary account architectures are created for participants looks something like this:


Ideally I believe it should be more like this:


Which makes things like this possible:


However, pragmatically, we are not yet near a situation where a majority of people have self-owned sites. So they will come to a community site and “open accounts” to participate. We could choose to create these “accounts” in such a way that, when people do wake up to the benefits of an individual presence, they could “break away” from the community site to become free (participating) individuals:


Example: WordPress

To demonstrate that this is not theoretical but is not just possible but already happening, consider the example of the WordPress project. There used to be two primary ways to get a WordPress website:

  1. By registering for a free (with optional paid upgrades) site on WordPress.COM.
  2. By self-hosting a site based on the software freely available on WordPress.ORG.

Because both services use the same underlying code it is possible to freely export a site that was started on WordPress.COM and transfer it to a self-hosted server. So one can start “inside” WordPress.COM and then move out and become a self-owned and managed site.

Today there are more WordPress hosting companies and because they all use the same underlying code, it is inherently possible to export your content from any WordPress based platform to any other.

The Opportunity

What if we could harness the motivation of people to participate in intentional and purposeful online communities to lead them towards online-independence.

I am guessing there were different movitations that got people to join Facebook. Regardless of the motivation, the end result is that people walked into a trap (even if a comfortable one). For many people their online presence is defacto their Facebook page – which means its in the hands of a corporate overlord with its own agenda and motivations. This has and continues to create plenty of friction.

So yes we can create online community spaces. But we can build them in such a way that when the time comes people will realize that they do have an alternate online presence and that when they want to take it further they can. We can design it so even though it looks like “an account was created” … actually what was created was a pod of independence … and that pod can be launched and separated from the mother ship (the community site).

Where Facebook created a trap where freedoms were taken away, we can create an pathway to freedom. We can harness the motivation for people to congregate, to discuss, to vote, to shape their communal lives … as a reason to become free individuals in cyber-space.

We can do this subtly. The user experience can be simple and seamless. The underlying architecture can be drastically different.



Douglas Rushkoff at the Personal Democracy Forum

In the second half of this podcast, Douglass Rushkoff talks about the inherent contradicton in trying to develop civic technological tools within the existing paradigm of technological businesses.

I enjoyed this talk and it re-inforced my belief that a bottom-up approach: gradually unfolding technologies that start with the individual and include tools for invididuals to come together for diverse purposes in diverse ways.

Where to Begin: Individual Presence

For some time I’ve been asking myself where would I start developing something like Oameni. It is tempting, as many (most? all?) such projects have done to start with the communal … the place where we all go to vote (for example). This created a centralized place ,created around a specific social domain, where people need to register / signup … and I have come to believe that is not a good begining.


I believe a correct beginning needs to focus on invididual presence before a proper communal presence one can be established. Everyone who wants to participate in a communal online presence needs to first have their own, self owned and controlled online presence.

I realize that this is far from what is currently popular. Many people do have some kind of online presence on services such as Facebook but that does meet the criteria of self owned and self controlled. There are many reasons for this, but I do not want to get into that in this post, because that would derail my thinking and writing.

One reason I do want to give, which I hope will become more clear over time, is an ethical one: we must first be free individuals online before we can come together to create meaningful communal spaces.


In this paradigm individual presences are represented inside communal spaces but are not contained within them.

This makes it possible for an individual to participate in more than one community without having to have separate identities in each community. An individual online presence can be connected and be represented in numerous communal spaces.

oameni_community_multiple_distributedMaybe more important though is what happens when a community member leaves a community. However instead of creating a theoretical construct lets illustrate this more concretely via an example.

Consider for example a city block or neighborhood where people want to create an online shared book library where everyone can list the books they have and lend them to each other. In this paradigm each contributor to the shared library would have their own individual website. These websites would connect to a shared website – the neighborhood library.


Each library member, in THEIR OWN site would list the books she has and wants to add to the shared online library. Because of her membership in the shared library site her books would also be listed in the library. The information would be replicated (and synchronized) between her site and the library site. In this way a library is formed.



So far, in this example, information that originated in indvidual sites has been communicated to the share communal space. Now lets see how information can also travel in the opposite direction. Members borrow books from one another through the library (the shared communal space). When a book is borrowed, information about the transaction is created in the shared communal space AND is communicated to both members – the one who contributed the borrowed book from the library and the one who borrwed the book.

In this way the book borrowing is represnted in three different contexts:

  1. A record in the library history of borrowed books.
  2. A record in the book owner’s site of who borrowed the book.
  3. A record in the borrower’s site of what books she borrowed.

Though this may at first seem redundant, it is critical to the architecture of individual presence. Consider whay happens when a library member moves away from the block or neighborhood to another city. They take their books with them and they leave the shared online library. However the past relationship with the library is kept:

  1. The library still has a record of the leaving member, her books that AND who borrowed the books.
  2. The member still has a record of all her books, which books were part of the library AND who borrowed them while in this library.
  3. Each of the people who borrowed the member’s books have a record of the books they borrowed from her through that library.


This demonstrates a core architecture of freedom and independence achieved through correct relationship. No entity is trapped within an information bubble, each exists independently and is enriched by interactions it chooses with others.

Another subtle aspect to this trading more then just information (data), but also trading information skills (meta-data). How does a member come to have a list of books in the first place? By joining a library. When a member joins a library, the library site “teaches” the member site how to collect information about books. That ability is not dependent on the library but on being a member of it. Once a member joins a library, her personal site acquires this new capability to collect information about books. That capability will stay with her even when she chooses to leave the library. Communal sites can endow information capabilities to individual member sites.

How do academics publish papers? By having personal sites that are connected to paper-publishing communities.

How does an individual come to have a capacity to vote? By connecting to a community that does voting. How does an individual come to have a voting record? By voting in communities that support voting.

Without this architecture, I believe, it will be difficult to create meaningful and lasting online community dynamics.


Figuring out who to trust

I’m Right and You’re An Idiot: The Toxic State of Public Discourse and How to Clean It Up by James Hoggan is not at the top of my reading list but touches on an important subject. In this interview he mentions the challenge of figuring out who to trust and how, when that is taken away, our democractic process is hampered.

This relates to how the idea of representation emerged in my mind. When I exrapolated the idea of direct democracy into the scales of societies we have today I realized that there are way too many issues for us as individuals to handle on our own. The general solution that came to mind was based on “figuring out who to trust” – being able to give my voting power on a particular subject to a particular individual with whom I feel an alignment of values around that subject. I can imagine diverse dynamics unfolding in discovering who to trust that are culturally and contextually sensitized.

How do transparency, authenticity, accountability come into service of generating and identifying trust and authority?


A Majoritarian Representative Voting System

I read most of this paper Pietro co-authored on an interesting modfiication to party-based voting – which goes something like this:

  1. A voter is allowed to select multiple parties, that she feels can represent her, in her voting ballot .
  2. Ballots can still only be asigned to one party (one man one vote) – which leaves the question to which of the parties is a ballot to be asigned.
  3. One sample solution is to count which party has the most ballots and then assign those ballots to that party – and that process is repeated creating a hierarchy of parties from largest to smallest … ensuring a majoritarian party. Other solutions may involve other decisions makers such as a president.

I found it to be an interesting and had some thoughts as I went through it.

My first set of thoughts are regading the publication process of such an academic paper:

  1. Are there public repositories in which such papers are published? I found it here through a direct link that Pietro sent out … I don’t think I would have found it on my own on the site in which it was published. This was also why I downloaded it and included it in this post … I didn’t trust that the paper would be responsibly archived and cotinuously available on that site.
  2. Why is it published in a enclosed container (PDF) and not as open HTML resource that can be searched and indexed.
  3. Why is it not published in a way that by default invites comment and conversation. Would it not be better if I could have seen other people’s thoughts on this paper or if I could have left my own comments so that others could relate to them too?
  4. Would it not be better (for the human race) if there was a lay-version of such an article. There are parts of it where I obviously had to withdraw because of the mathematic notation and attitude. There are parts I understood but were tedius for me, probably because of academic writing standards and expecations. But if this knowledge is truly intended to benefit people why not make it accessible, by intentional design, to lay-people, to non-academic and non-mathematicians. It could be something as simple as a lay-version or something more elaborate which could enable toggling from lay-reading to professional-reading. There is an inherent default to this format which I believe alienates many other non-professional readers who may be interested and could benefit from it.

My thoughts on the subject matter of the article:

  1. I found the cancelation of clone parties to be a very interesting feedback mechanism. Imagine that two large parties that have a very similar agenda compete in this system of voting. If they have a similar agenda they may appeal to a similar constituency – people that will select both parties on their ballot. Given the default selection process (described above) the party with the slightly larger vote-count will receive the votes of both parties – in essence integrating the political power and cancelling the weaker (however slightly) of the two parties. This is a powerful societal feedback mechanism giving priority to actual political agenda instead of personal political power.
  2. I wondered what would be the effect of an added veto vote on the ballot – this would allow every voter to indicate “anything but that party” … for example, allowing left wing voters to cancel out extreme right wing votes. Vetoes would be enacted before assigning ballots to parties. A veto is a sacrificial mechanism – because when a veto is applied the pro-votes on the ballot are also lost.
  3. Finally I also question the assumption that a voter is able to make a good decision by choosing a party … let alone choosing numerous parties … I don’t feel that is a substantial choice. I doubt that most voters are informed enouch to make such a choice. I would guess that most voters either choose a specific person (or people) or a specific agenda / subject with which they resonate in a party. What if such a voting mechanism allowed voting not for just a party but to assign social-domains to political parties. For example: each of the following social domains: economics, education, culture, defence … would give me a vote. I could then assign each domain to a political party I feel is best equipped to handle it. This may create more involved voting (requiring also more refined campagining) and may also inform the actual government that is created. Again making the choice of ministers more professional and less political / personal. I don’t know what the ballot assigning algorithm would be in this case.