💬 Decentralized messaging platforms

SafeDAO = Decentralization + Programmability

The purpose of this post is to create a public launching off point for collaboration of potential group messaging solutions, services, and tools that in the long-term work towards Safe’s values of decentralization and programmability. Having values to regularly consider help shape incremental decisions and design choices.

Discord is a powerful, convenient, and mostly free tool for organizing real-time discussion between large groups of users around the world. However, Discord has communicated that they are not focusing work on solutions to improve the user experience for crypto communities. These opportunities e.g. Integrating wallets and native token gating, improve UX, safety, and meaningful interactions for crypto users and builders.

Ways to experiment

There are interesting solutions being built with a variety of technologies I will begin to share. A potential way to experiment and test these tools is to use them for specific initiatives and projects within SafeDAO.

For example, if a small group of contributors working on SEP 10 are interested in exploring messaging app X it would be great for them to use app X for real-time chats while continuing to share larger forum updates in this forum. That way they can receive a closer to real world experience of the solution to evaluate properly without the need to convince everyone not involved on that proposal to switch over.

4 Likes

Console.xyz

Recently I’ve been following Console and have had a couple of discussions with their co-founder, David Leiberman. Their group communication and governance for crypto communities has a promising start and they are eager to partner with DAOs such as SafeDAO to build solutions to meet their needs.

Once the public Console HQ community launches I will join to get a better sense of the product.

About

  • Group messaging, governance, and tooling for DAOs
  • Blockchain agnostic (Originally started on Stacks)
  • Part of a larger organization, Trust Machines

Features

  • Sign in with Ethereum (Direct MetaMask integration)
  • Token gating channels built into the app
  • Customizable dashboards, e.g., Snapshot voting, token, and smart contract analytics
  • They are open to building specific features for DAOs they partner with to help shape the product appropriately.

Here are my full notes with steps on how to beta test.

Opportunities

  • Developer APIs and documentation for building features and apps on-top of Console
  • Public communities to join, observe, and participate in
    • Console HQ community coming soon (2022-12-04)
  • Open-source Github repo(s)
  • End-to-end encryption (E2EE), e.g., Signal, XMTP
    • Private channels will be E2EE
  • Decentralized hosting of Console data, e.g. Arweave or IFPS
    • The goal is if the Console core team disappears, users can continue to use Console’s services.
1 Like

Glad to hear you’re promoting experimentation. How open are you to testing other web3 messaging projects in addition to Console? I’m the founder of a prototype-stage web3 project Omnistrat, a DAO coordination and governance dapp that addresses the Discord disconnect problem.

I am a longtime contributor and consultant to web3 projects and DAOs, most recently with WildFire DAO (organized by the Fire Eyes team). Omnistrat is the culmination of years of thought into decentralized coordination and governance based on real-world experiences and empirical research.

A prototype has been built and user teams are able to pilot it. We have the same ambition as Console to partner with DAOs to co-build functionality that meets their needs.

Here is a link to a deck.

Here is an under 5 min demo video. I’d enjoy connecting with you if you’re open to it.

1 Like

Also, you may recall @pet3rpan-1kx’s OBRA post (see here). Omnistrat supports OBRA (objective-based resource allocation). In fact, we were on to this need long before I saw his post.

1 Like

How open are you to testing other web3 messaging projects

I believe it is important we look at many options so experimentation and comparison is ideal.

Chat and knowledge management tools

Thank you for sharing the demo! Is Omnistrat similar to a knowledge management tool, that is “Jira for DAOs”? Knowledge management is certainly related to group messaging. It could also potentially be its own topic as these tools start to cover areas such as documentation and how that info is edited and stored.

There’s some ongoing threads in the forum covering plans to move the knowledge management process into more open Git based tools which I think is a great direction. The GIt based process is universally known across all software development communities and allows for customization and modularization. This way the SafeDAO is not tied to any one service and can modify tooling as needed.

Questions on Omnistrat

I’m open to connect in DMs if it makes sense. I think it’s beneficial for the community to post my first thoughts and questions here too.

  • What type of messaging protocol does it use?
    • An important characteristic for a group messaging platform to separate from traditional web’s closed source models is to adopt open messaging protocols.
    • XMTP is a great example.
      • End-to-end ecryption
      • Improved security due to public audits and contributions
      • The Lens Protocol integration so far appears seamlessly tied into the app experience
  • Are there developer APIs and documentation for building features and apps on-top of?
  • Are there any public communities for us to join, observe, and participate in to get a feel for the app?
  • Are there open-source Github repo(s)?
  • What are the plans for decentralized hosting, e.g. Arweave, IFPS, and etc?
2 Likes

Great to hear, Adam. All insightful questions. The best way to look at Omnistrat now is as a robust prototype geared for testing assumptions through user pilots and iterating quickly.

The prototype has leveraged a tech stack that supports agile development to get to a minimum viable product in core features as quickly as possible (python/react). Once we have happy beta users and confidence in our UX design choices we will move to phase two.

Phase two will be to start the process of progressive decentralization to a dapp. I say this so you understand that we are not so far along as to have APIs yet. We actually have stayed away from choosing any web3 infra or protocols yet. This is for a number of reasons; we3 plumbing isn’t needed yet, features users want are; increased dev costs for web3 tech as talent is scarce; so much is changing so fast and we’re waiting to see/use new things like zk proofs and account abstraction; we want to wait to hear what protocols our dev partners want.

In answer to your “knowledge management”, yes, Omnistrat focuses on plan implementation so project management functionality will be included, found in tools like Jira. Knowledge management, if you mean knowledge sharing at scale (DAO-wide and D2D), is the killer function we want to enable.

All stuff I’d be happy to demo and discuss here in the open and in DM’s.

2 Likes

These are great points. There is a lot to compare and monitor the rapid development of in protocols like group messaging, hosting, and knowledge management.

Group messaging
I mentioned XMTP above and it will be interesting to see how it develops for groups.

Content and static code hosting
IPFS and Arweave have useful apps in production and being used by many. It’d be good to understand each ecosystem better.

  • Node metrics
    • Number and types of nodes
    • Geographic distribution
  • Protocol governance
  • Business model
    • Tokenomics
    • Fee revenue
  • APIs
    • Features
    • Language support
    • Costs
  • Investors
  • Project/app adoption
    • Transaction volume

Knowledge management
I’ve been impressed by Todoist the past 2 years. It’s been around since January of 2007 which is surprising and they seem to be progressively decentralizing in the past few years.

The killer features for me have been nested lists which help organize complex action items and bottle necks and two-way syncing with calendars to time block tasks to increase focus and be able to have calendar changes update Todoist tasks directly.

For DAOs their biggest opportunity is to be able to make the Kanban style boards publicly viewable to share real-time status with the community.

XMTP is already on Omnistrat’s shortlist for messaging protocols when we decentralize.

1 Like

These are as well, although through my initial research, I’m thinking IPFS is for static files and not transactional data coming from a dapp via RPCs. Will need to dig deeper when decentralization starts.

1 Like

Yes, yes, yes!!! Although Kanban boards display collections of free-standing actions without context. The key is to publically show a “big-picture” plan (goals and the things, i.e., initiatives, the DAO is doing to achieve them). Extra credit if the plan also shows implementation progress and ultimate outcomes in achieving goals.

With Omnistrat, this publically-available big-picture plan is created and presented through the plan building blocks of objectives, initiatives, and action items (smart contract-based primitives). The action items (what people do to implement an initiative, ala project mgt) are what can populate an individual’s or team’s Kanban board. Preferably whichever the person or team wants to use, like Todoist. Composability is key.

1 Like

I agree on this goal. Git docs seem like one potentially great tool for the “big-picture” plan as parent pages with nested pages for initiatives and projects. Then linked Kanban boards in your tool of choice for implementation progress.

It’s good to see Omnistrat is focusing on this as well.

Git docs isn’t it. Plans need to be built with standardized plan “building blocks”. By doing this you have modularity and composability, enabling knowledge sharing and marketplaces. It also opens up D2D collaborations. Watch the demo video again.

In your role, do you work with a team on any projects? If so, pilot Omnistrat for a couple of weeks and see what people think.

I agree on the importance of standardization. Having templates be a part of the pull requests (PR) acceptance criteria is one solution similar to how developer teams have architecture guidelines for merging code and the acceptance criteria.

I will re-watch the demo and think about areas that could be useful to test with in the future.

We may be on different wavelengths regarding what a template represents. If you’re in the code-is-law camp and the proposal, if passed, represents changes to a smart contract then yes a git process may be appropriate.

Omnistrat excels at capturing work that gets done by all the functions of a DAO, not just the engineers. So community development, marketing, BD, token distribution, etc. Why force non-engineers to adopt PRs and other engineering-based methods? Web3 UX is widely regarded as atrocious, we need to get away from engineering UXs so we can bring more normies into web3.

My standardization example above was not meant to focus only on engineers, moreso the importance of defining easy to use and reusable templates which can apply to non-technical writers and contributors as well.

There’s a spectrum of great UX and centralization. Past teams I’ve worked on used Confluence which has a great UX and is completely centralized. Writing markdown documentation in a code editor is more decentralized and is not a great UX for the average user.

Finding the right tools to abstract decentralized protocols into a great UX seems to be a great strategy for mainstream adoption.

2 Likes

Hello everyone! Richa here, co-founder of Push Protocol. Wanted to share a bit about Push Chat, the secure messaging protocol from Push.

Push Protocol (Previously EPNS) is a decentralized protocol that allows communication in the form of notifications, messaging, video and more. It enables smart contracts, dApps, and backend services to send messages and notifications, without the need for gas, to users’ wallet addresses across multiple blockchain networks in an open and platform-independent manner. As an open middleware for communication, it can be integrated into any crypto wallet, mobile app, browser extension, or dApp, providing a seamless communication layer for Web 3.0.

Push Chat is a 3.0 messaging system built on the Push Protocol that allows users to send and receive messages through a wallet address without requiring personal information. Messages are stored on IPFS, encrypted and signed, and can only be decrypted by the addresses involved in the conversation. The protocol uses Push Nodes to send messages.

Awesome vibes video: PushChat Product Launch - YouTube

Here is the link to the documentation

Features

  1. Scalable chat system
  2. Supports Group Chat
  3. Fully encrypted
  4. Easy to integrate with the multiple wallets
  5. API and SDK support for seamless integration
  6. Multiple chain support

RoadMap

  1. Audio Chat
  2. Video Chat
  3. Chat Analytics

Happy to answer any questions and find ways to work together here.

2 Likes

Thank you for sharing PushChat @Richa_Joshi! :raised_hands:t2:

Great YouTube sizzle reel and well built out docs. :fire::speech_balloon:

I’m looking forward to test-driving.

Storage

Having an open and secure data layer with IPFS is awesome. Above, I brainstormed factors I’d like to compare between IPFS and Arweave ecosystems.

Is the reason PushChat uses IPFS as the data layer because for messaging having data stored permanently by default in many cases isn’t desirable? For example, many users choose disappearing message lengths in Signal.

  • What’s the current lifecycle of message data stored on IPFS?
  • Will users be able to choose how long messages are stored and have them be removed if desired?

Video

I’m surprised and intrigued to see video as part of the feature set above! I have not seen that offered yet in the other decentralized messaging protocols I’ve explored. This of course is an essential feature for personal and team use that could differentiate PushChat at the start.

Multisig wallets

Thinking about Safes and other multisig wallets adds additional use cases for PushChat to consider.

  • Each signer will likely want to message each other from their unique wallet address.
  • In addition, it may be useful for the top-level Safe address to send messages representing the entire Safe for companies and other organizations. This will also require the Safe owners to set permissions for which owners have certain levels of permissions in regards to access to the top-level Safe messaging account.
  • It could be useful to be able to use a delegated address with PushChat.
    • I want to use my personal Safe address to chat with and the Safe requires X of N signers for transactions.
    • Use a solution like Delegate.cash to allow me to use PushChat on behalf of my Safe address on a more convenient hot wallet.
    • I have a separate draft forum post for Safe delegation opportunities if interested.
  • There’s great companies within SafeDAO building apps on top of Safe that help organizations coordinate that could potentially benefit from this tech , e.g., Den (@jierlich and @ittaisvidler) and Tally to think of a couple.

Alternatives

I’d love to learn more on how PushChat compares to existing and emerging solutions in terms of features, security, and decentralization?

  • XMTP
    • I’ve been actively experimenting with XMTP on Lenster. I’ve seen many teams request group chat and I’m not sure what their roadmap for video is.
    • It’s end-to-end-encrypted (E2EE) I’ve read. However, I’m not sure through which protocol.
  • Matrix
    • The Console.xyz team publicly shared in their Twitter spaces last week they’re testing Matrix. I used it in Gitter to interact with a development community. This made me wonder how decentralized it is because it relies on joining a hosted server compared to a decentralized backend like IPFS.
    • From what I understand, it uses the open-source Signal Protocol for encryption. How does IPFS’ encryption compare to Signal?
1 Like

Hey Adam!

Yes, all the chat messages are stored on IPFS. Push Chat stores a total of 100 messages per user. If a user sends more than 100 messages, the protocol will unpin the first message and then pin the latest message sent, so at any given time, each user will have at max 100 messages stored. This is for the freemium plan, eventually users that want to have more messages stored in the protocol will be able to do it by paying a service fee.

  • What’s the current lifecycle of message data stored on IPFS?

When a message is sent, it’s pinned on an IPFS node. It will remain pined on the node until the user sends 100 more messages, so this message will be unpinned to give place to other new messages.

  • Will users be able to choose how long messages are stored and have them be removed if desired?

As of now, the protocol stores up to 100 messages per user. Soon users will be able to pay so they can store more messages on the protocol or even send disappearing messages as you mentioned.For the video, we are very excited as well! We’ve been working very hard on it, more news on this soon.For the multisig wallets, that’s an amazing idea! We’ll definitely look into it.The difference between the emerging solutions, I see the following:

  • Notifications built-in: Since Push Chat is built on top of the notification infrastructure from Push Protocol, every chat message you receive from wallets you have approved, you will receive a notification along with the message. So from the UX perspective it’s the same as chatting from a web2 messaging platform.
  • Messages stored on IPFS: Since messages are stored encrypted on IPFS, users can download their chat history and save in their own local IPFS nodes.
  • Community Owned: Through PIPs (Push Improvement Proposal), the community can make proposals on how to further improve not only Push Chat but also the Push Notifications.
2 Likes

Thank you for sharing those details @Richa_Joshi!

It’s great to see Push is continuing to think about building the community in addition to the open-messaging protocol with PIPs, similar to Safe’s SEPs.

1 Like

I’m happy to report the Console team has opened their first public group, ConsoleHQ, for everyone to explore using their Ethereum address. :raised_hands:t2::tada:

  • I’m enjoying using the desktop app for Mac so far (hopefully Linux in the future), because it allows you to stay signed in vs other social platforms that sign you out of the web app like Lenster.xyz.
  • The Console team including the co-founders are very active in the group so it’s a great opportunity to help craft the product.
2 Likes