There are many mistakes and half-implemented features in the Seed app. A particular user story has existed for a long time, and while attempts have been made to fulfill it, through the library, the "All Activity" panel, and email notifications, these features still fail to fully address user needs, resulting in a mediocre and incomplete experience.
The user story we aim to fulfill is: "Users need a way to see the latest activity on the sites they have subscribed to and the sites they are collaborators on."
The Library Has Failed
The first approach to solving this user story was though the library. We wanted users to see activity and updates on those sites they had an interest on. The idea was to display sites with the latest activity at the top, highlighted in a design similar to email platforms (See Table 1). Expanding a site would allow users to see all activity happening within individual subdocuments. As well as activity, the library also has tabs, so users can browse all sites in their node to discover new, interesting reads ("All"), or they can check the activity of sites they have subscribed to.
Table 1. Library Design
A key strength of the library is that it provides a way to search for sites and information, even if users don’t know the exact names of the sites they’re looking for. In this regard, it functions well as a browsing tool. However, it falls short as a way to track activity, as the app does not effectively notify users of specific updates within a site that might interest them. The only thing it accomplishes is indicating that a site has been updated, which may not be enough motivation for users to explore further. They would still need to manually browse through each recently updated site, and even then, the updates may not be relevant. Therefore, while the library excels at helping users discover new sites in their node and find those they have subscribed to, it does a poor job of fulfilling the user story mentioned above.
The Activity Panel Disaster
The activity panel was not originally planned well, as it was a drastic shift from its initial placement at the bottom of the screen. The decision to move it was not part of an established project but emerged through multiple meetings. The new activity panel was designed to combine features from the old right-side panel (collaborators and version history) along with the previous activity section features (discussions, version history, and subdocuments), while also adding a new element: citations. After several design iterations, we arrived at the current activity panel, which merges everything into one panel with tabs for version history, discussions, citations, collaborators, and the directory (which contains subdocuments), as well as an "All" tab.
Activity Panel Timeline
One of the main problems with the activity panel is that it remains incomplete and buggy. There are still many design-related issues that need to be fixed to improve the user experience, such as:
The icon order in the activity panel does not match when it is open versus when it is closed (Isabella on Linear).
The sorting orientation of items across all panels is inconsistent (Isabella on Linear).
The "Create" button in the directory is placed at the bottom, even though the latest items appear at the top (Isabella on Linear).
When writing a long reply in the discussion section, there is no way to scroll within the reply box (Isabella on Linear).
Fixing these issues is crucial to making the activity panel a feature users actually want to use, as the current version is uncomfortable and unintuitive. These problems affect the individual tabs within the activity panel, which are essentially filters for the "All Activity" tab. This tab is meant to provide a summarized view of everything happening at once, displaying four types of activities related to the current document or, in the case of the home document, everything happening across the entire site.
So the big problem with this two features is that neither the library nor the "All Activity" panel fully addresses the user story because both require proactive searching rather than delivering relevant updates directly to users. The library shows recently updated sites at a macro level but forces users to manually browse through each one to discover changes, while the "All Activity" panel provides micro-level updates only after users navigate to a specific document. In both cases, users must seek out information rather than being notified of meaningful activity on sites they care about. This creates friction in staying informed, as neither solution provides updates in a way that aligns with how users naturally want to consume them, through passive awareness of new developments on subscribed or collaborative sites. The fundamental gap is the lack of a centralized, prioritized feed that automatically highlights noteworthy changes across all relevant sites without requiring manual exploration.
Notification System
Currently, the notification system in Seed consists of email alerts for specific user actions, such as being mentioned or receiving replies to comments. This approach works well for direct engagement, ensuring users stay informed about interactions that require their attention. However, the system lacks comprehensive coverage of meaningful activity that aligns with user needs. Notably, it does not notify users about broader updates on sites they’ve subscribed to or collaborated on, such as new subdocuments, version changes, or discussions, unless they are directly mentioned. This creates a gap in awareness, as users must manually check the library or activity panel to discover relevant updates. Additionally, the reliance on email alone may not suit all users, as some might prefer in-app notifications for real-time visibility. Improving this system would involve expanding notification triggers to include subscribed/collaborative site activity, offering customizable alert preferences, and integrating in-app notifications to reduce dependency on email. These enhancements would create a more proactive and user-centric way to stay updated on important changes.
Important Ways to Signal Interest in Information and Activity
Currently, there are two ways users can indicate they want updates from a specific site: subscribing and adding a contact. While these seem like different concepts, they could potentially be unified into a single action or improved for better usability.
Subscribing
Subscribing to a site indicates that you want the latest version of that site. You let the system know hat the content interests you and, in a way, should be distinct from other sites in your node (there is a "Subscribed" tab in the library). While subscribing adds value by prioritizing certain sites, it still falls short of fully meeting user needs because subscribing does not guarantee that you will get notifications about activity on that site.
Contacts
Contacts currently lack a strong, meaningful use case. Mostly, they serve to help people distinguish between sites and accounts, even though a site can belong to an account, but an account does not need a site. The original purpose of adding a contact was to support the "web of trust" concept, addressing the issue that "Home Documents may not work well for representing people and their relationships" (Horacio & Alex on Linear). Contacts were created as a way for users to share profiles and add others, but this feature has seen little interaction and does not fully reflect its intended purpose.
To improve this, a project was initiated to enhance the Contacts feature. Instead of "adding a contact," users might "follow" someone, and instead of seeing who that person has added as contacts, they could see collaborators, followers and, subscribers (Isabella on Seed).
There needs to be a stronger way for users to signal to the system that they want to receive the latest activity from a site. When they take that action, whether it’s following or subscribing, it must actually deliver by providing users with either the latest activity or notifications from that specific site, as well as any other sites of interest.
What Can We Do...
To best fulfill the user story: Users need a way to see the latest activity on the sites they have subscribed to and the sites they are collaborators on.
We could implement a centralized activity feed and an inbox-style notification system. The current solutions (the library and activity panel) fail because they require proactive searching rather than delivering relevant updates passively. A feed would show all meaningful activity, such as new subdocuments, version changes, discussions, and citations, from subscribed and collaborative sites into a single, scrollable timeline, sorted chronologically with the newest updates at the top. This feed should allow filtering by activity type ("Only show discussions"). To complement this, an inbox would serve as a dedicated space for actionable notifications, like mentions or reply threads, separate from the broader activity feed. Unlike email, which is easily ignored, an in-app inbox ensures visibility and lets users quickly prioritize certain activity.
To tie this together, we must redefine how users signal interest. Merging "subscribing" and "contacts" into a unified "Follow" action would clarify intent: following a site or user means "Notify me about their activity." This would trigger updates to appear in both the feed (for passive browsing) and the inbox (for direct engagement). The feed would solve the library’s macro-level ambiguity by showing what changed with direct links to the content, while the inbox would handle micro-level interactions.
To further streamline discovery, we could merge the library and contacts into a unified browsing experience. Instead of treating "sites" and "people" as separate entities, users could explore both through a single interface for example, a "Network" section. This would let users browse profiles from both, with the feed and inbox serving as the primary hubs for activity. The library’s existing structure ("Subscribed" and "All" tabs) could evolve into this merged view, while retaining its search functionality for finding new sites or contacts.