Choose Your Thread Type

Build with Persistent or Ghost Threads

Stop! Choose the right thread for your app.

Use this page to determine which thread type is best for your use case before getting started!

3Box Threads are available as either persistent threads (open, members, personal), where messages are available in a persistent OrbitDB feed store shared between users unless explicitly removed by the author or a moderator, or ghost threads, where messages are not persisted in a database but whose history is kept in-memory by online peers and can be requested by new users. For ghost threads, if all peers go offline then messages disappear.

Thread type must be decided when the thread is first created. Once a thread is created, these settings cannot be changed; a new thread must be created if you wish to change to the type.

Benefits and Tradeoffs for Persistent Threads

Persistent Threads are best suited for comment systems or message/content feeds that have one of more of the following requirements: strong message persistence guarantees; high availability guarantees; can tolerate offline peers; can support members-only write permissions; can support personal feeds. See example use cases for Persistent Threads.

The drawback to Persistent Threads is that threads are less scalable and chatty, since every message is saved in an append-only OrbitDB log which can get very long. This can cause persistent threads to load slowly on the client at scale.

Benefits and Tradeoffs for Ghost Threads

Ghost Threads are best suited for chatrooms that have one or more of the following requirements: many messages; lots of activity; fast load speeds; or disappearing messages. See example use cases for Ghost Threads.

The drawback to Ghost Threads is that messages are weakly persisted, since they only exist ephemerally in peer memory. If all peers simultaneously go offline, the message history will be lost.

Learn more about 3Box Thread types

Types of Persistent Threads💬

Persistent, Open Threads

In Persistent Open Threads, any user that knows the thread name can post new messages but moderators and authors can remove posts. Any user can read all messages. Get started building with persistent open threads.

💡Idea: Create an Open Commenting System

With open threads, you can add an open commenting system to your app or website. This would allow all users of your service to comment openly on various topics or objects ranging from news articles, to collectibles, to URLs, and more. In this kind of system, you can permit everyone to post messages, but allow moderators to govern the thread.

Try it today! We provide a simple drop-in component to add a commenting system to your app which uses open threads. Explore the comments plugin.

Persistent, Members Threads

In Persistent Members Threads, only members can post new messages but moderators and authors can remove messages. Any user can read all messages. Get started building with persistent members threads.

💡Idea: Create a Restricted Public Forum

With members threads, you can add restricted commenting systems to your app or website. This would restrict posting permissions only to members of a certain group or community. This type of feature would be similar to restricted subreddits where only members can post but every user can read the subreddit, and could also be particularly useful in community chats and DAO proposal systems where only members of the DAO are permitted to post messages in the thread.

Recommended! Members threads are the safest because there is less concern of spam and inappropriate content.

Persistent, Personal Threads

Personal threads are a specific kind of members thread that allow only a single user to post new messages and moderate their own thread. Everyone can read the thread. Personal threads are achieved when the firstModerator does not add additional moderators or members. Get started building with persistent personal threads.

💡Idea: Create a Personal Content Feed

With personal threads, you can allow users to create a personal feed of content or information, such as photo streams, shopping lists, follower lists, status updates, and much more. In the 3Box Hub App, we use personal threads for the following feed, which allows a 3Box user to add and remove other users that they are following from a personal list that others can view.

Types of Ghost Threads👻

Ghost, Open Threads

In Ghost Open Threads, any user that knows the chatroom name can join and post new messages in the thread. Any user can read messages. Get started building with Ghost Threads.

💡Idea: Create an Ephemeral Trollbox

With ghost threads, you can host chats or trollboxes meant for fast-paced discussions that don't need to be persisted anywhere. This is particularly useful if your threads will be very long.