WIP! A BB-style forum, on the ATmosphere! We're still working... we'll be back soon when we have something to show off!
node typescript hono htmx atproto

phpBB Research: Features, Complaints & Lessons for atBB#

Research conducted 2026-02-07


Table of Contents#

  1. phpBB Overview & History
  2. Complete Feature Inventory
  3. Common Complaints & Pain Points
  4. Why Traditional Forums Declined
  5. Lessons from Modern Competitors
  6. Gap Analysis: atBB vs phpBB
  7. Recommendations for atBB

phpBB Overview & History#

phpBB (PHP Bulletin Board) is the most widely deployed open-source forum software in history, first released in 2000. It's written in PHP and available under the GPL.

Version History#

Version Codename Released Key Changes
1.x ~2000 Original release
2.x ~2002–2008 Made phpBB mainstream
3.0 Olympus Dec 2007 Complete rewrite, prosilver theme, security audit
3.1 Ascraeus Oct 2014 Symfony adoption, extension system, AJAX
3.2 Rhea Jan 2017 PHP 7 support, emoji, Font Awesome, new installer
3.3 Proteus Jan 2020 PHP 7.4/8.x, extended emoji, MySQL 8 (current stable)
4.0 Triton Alpha Sep 2025 Symfony 6.4, PHP 8.1+, @mentions, Cloudflare Turnstile

Architecture#

  • Backend: PHP on Symfony (since 3.1), custom template engine
  • Database: Supports MySQL/MariaDB, PostgreSQL, SQLite, MSSQL, Oracle
  • Frontend: Server-rendered HTML with prosilver theme (HTML5/CSS3), minimal JS
  • Extension system: Self-contained extensions installed via Admin Control Panel
  • Search: Multiple backends — native full-text index, MySQL FULLTEXT, PostgreSQL FULLTEXT, Sphinx

Complete Feature Inventory#

1. Forum Structure & Organization#

Feature Details atBB Status
Hierarchical categories Unlimited nesting of categories containing forums Partial — forum.category is flat (single level)
Unlimited subforums Forums can contain subforums to any depth Missing — no subforum concept
Password-protected forums Individual forums can require a password Missing
Forum-specific styles Different visual themes per forum Missing
Forum links A "forum" entry that links to an external URL Missing
Forum rules display Per-forum or global rules shown at top Missing
Topic pruning Auto-delete old/inactive topics by configurable criteria Missing
Active topics display Most active topics shown at top of forum Missing

2. Topic & Post Features#

Feature Details atBB Status
Topic types: Normal Standard topic Implemented (post without reply ref)
Topic types: Sticky Pinned to top of first page Partial — pin mod action exists but no display logic
Topic types: Announcement Pinned above stickies, shown on all pages Missing
Topic types: Global Shown at top of every forum on the board Missing
Time-limited sticky/announcement Auto-revert to normal after N days Missing
Topic subscriptions Email/notification on new replies Missing
Forum subscriptions Email/notification on new topics in forum Missing
Topic bookmarks Users save topics for quick access Missing
Post ordering Sort by date, alphabetical, reply count Missing
"My posts" indicator Mark topics where user has posted Missing
Printer-friendly view Clean print layout for topics Missing
Email a topic Send topic link to friend Missing
Unread tracking Track which topics/posts user has read, even across sessions Missing
Topic split Moderator splits a topic into two separate topics Missing
Topic merge Moderator merges two topics into one Missing
Topic move Move topic to different forum (with shadow link) Missing
Topic lock Prevent further replies Partial — lock mod action exists
Post lock Lock individual posts from editing Missing
Topic copy Duplicate a topic to another forum Missing

3. Post Composition#

Feature Details atBB Status
BBCode formatting Bold, italic, lists, links, images, etc. Missing — plain text only (300 grapheme limit)
Rich text / Markdown Formatted text in posts Missing (noted as future work)
Smilies / Emoticons Inline emoji/emoticon insertion Missing
Post preview Preview post before submitting Missing
File attachments Upload files attached to posts Missing (noted as future work)
Inline attachments Place attachments within post body with BBCode Missing
Polls Create polls with multiple options, voting, time limits Missing
Topic icons Visual icon next to topic title Missing
Drafts Save unfinished posts for later Missing
Post editing Edit your own posts after submission Architecturally feasible (AT Proto supports updates via putRecord — CID changes, firehose emits update event)
Post edit history Track edit reasons and history Missing
Word censoring Auto-replace banned words Missing
Custom BBCodes Admin-defined formatting codes Missing
@Mentions Mention and notify other users (phpBB 4.0 feature) Missing
Direct media playback Play video/audio in post body (phpBB 4.0) Missing

4. User Profiles & Identity#

Feature Details atBB Status
User registration Account creation flow Planned — AT Proto OAuth
Social login Google, Facebook, etc. N/A — AT Proto identity replaces this
Avatars Gallery, uploaded, remote URL Missing — could pull from AT Proto profile
Signatures Text/images appended to every post Missing
Custom profile fields Admin-defined extra fields (location, website, etc.) Missing — AT Proto profiles have some
User ranks Title based on post count or special assignment Missing
User badges Visual indicators (verified, special roles) Missing
Post count display Show post count next to username Missing
Join date display Show when user joined Partial — membership.joinedAt exists
User online status Show if user is currently online Missing
User profile page Dedicated page showing user info, recent posts Missing (noted as future work)
Friends & Foes list Add users to friends/ignore list Missing
User post history View all posts by a user Missing (noted as future work)

5. Private Messaging#

Feature Details atBB Status
Direct messages Private messages between users Missing entirely
Group messaging PM multiple users or groups Missing
BCC support Blind carbon copy on PMs Missing
PM attachments Attach files to PMs Missing
PM drafts Save PM drafts Missing
PM export Export/archive PMs Missing
PM reply tracking Chronological PM thread history Missing
PM notifications Notify on new PMs Missing

Note: Private messaging may not be in scope for atBB since AT Proto has its own direct messaging infrastructure (Bluesky DMs via chat.bsky.* lexicons). This could be an intentional omission — users already have a DM channel through their AT Proto identity.

6. Moderation Tools#

Feature Details atBB Status
Ban by username Ban specific user Partial — ban mod action exists
Ban by IP Block IP address Missing — not applicable (AT Proto is DID-based)
Ban by email Block email address Missing — not applicable
Time-limited bans Temporary bans with auto-expiry Partial — expiresAt field exists on modAction
Warning system Issue warnings before bans Missing
Warning auto-escalation Auto-ban after N warnings Missing
Moderation queue Pre-approval for new users' posts Missing
Post approval workflow Require mod approval before publish Missing
Post reporting Users flag posts for mod review Missing
Report reasons Configurable list of report reasons Missing
Moderator notes Private notes on users visible to mods Missing
Topic split/merge/move Reorganize discussions Missing
Shadow topics Leave redirect link when moving topics Missing
Edit/delete any post Moderator override on post editing Partial — delete mod action hides from index
Change post author Reassign post ownership Missing — not possible with AT Proto
Moderator log Audit trail of all mod actions Missing
Admin log Audit trail of admin actions Missing
User action log Track user behavior (IP logs, etc.) Missing

7. Permission System#

Feature Details atBB Status
Granular ACL YES/NO/NEVER per-permission per-user/group Simplified — role hierarchy only
Permission types f_* (forum), m_* (mod), u_* (user), a_* (admin) Simplified — forum.role with permission tokens
Role-based permissions Pre-defined permission bundles Partial — role definitions exist
Per-forum permissions Different permissions per forum Missing
Per-user overrides Override group permissions for individuals Missing
Group-based permissions Assign permissions to groups, users inherit Simplified — single role per membership
"Newly registered" group Restricted permissions for new users Missing
Global vs local permissions Board-wide vs per-forum scoping Missing

Note: phpBB's permission system is arguably over-engineered and a frequent source of admin confusion. atBB's simpler model (role hierarchy: Owner → Admin → Moderator → Member → Guest) is actually a feature, not a bug. The key missing piece is per-category permissions — the ability to restrict certain categories to certain roles.

Feature Details atBB Status
Full-text search Search post content Missing (noted as future work — Meilisearch)
Multiple search backends Native, MySQL FULLTEXT, PostgreSQL, Sphinx Missing
Search by author Find posts by specific user Missing
Search by forum Scope search to specific forum/category Missing
Search by date range Filter results by post date Missing
Unanswered topics Find topics with no replies Missing
Active topics Find topics with recent activity Missing
"New posts since last visit" Show unread content Missing

9. Notifications & Feeds#

Feature Details atBB Status
Email notifications Notify on replies, PMs, etc. Missing (noted as future work)
Jabber/XMPP notifications IM-based alerts Missing
ATOM feeds Board-wide, per-forum, per-topic feeds Missing (noted as future work — RSS)
In-app notifications On-site notification system Missing
Digest emails Periodic summary emails Missing

10. Administration#

Feature Details atBB Status
Admin Control Panel Comprehensive web-based admin UI Missing — admin panel is Phase 4
Board statistics User count, post count, activity graphs Missing
Database backup/restore Built-in DB management Missing
Extension management Install/enable/disable extensions from UI Missing
Style/theme management Upload and switch themes Missing
Language packs Multi-language support Missing
User management Search, edit, ban, delete users Missing
Group management Create/edit groups, assign members Partial — roles exist
Mass email Send email to all users or groups Missing
Forum pruning Auto-cleanup old content Missing
Cron/scheduled tasks Background maintenance jobs Missing
Board configuration Extensive settings (registration, posting, etc.) Missing

11. Anti-Spam & Security#

Feature Details atBB Status
CAPTCHA Multiple CAPTCHA options (visual, reCAPTCHA) N/A — AT Proto OAuth handles registration
Cloudflare Turnstile Modern anti-bot (phpBB 4.0) N/A
Two-factor authentication 2FA for admins/mods N/A — delegated to AT Proto identity
IP logging Track IPs per post N/A — AT Proto is DID-based
Flood control Rate limiting on posts Missing but important
New user restrictions Limited permissions for new accounts Missing — could use Discourse-style trust levels
Word censoring Auto-filter content Missing
Post approval queue Pre-moderate new user content Missing

Common Complaints & Pain Points#

These are the most frequent criticisms of phpBB that atBB should learn from and avoid:

1. Spam Bots (Critical)#

phpBB is notorious for spam. Within days of installing a phpBB forum, admins report hundreds of bot registrations. The default anti-spam measures are insufficient. atBB advantage: AT Proto OAuth means users must have a real AT Proto identity (a PDS account), which is a significant barrier to spam bots. This is one of atBB's biggest inherent strengths.

2. Outdated User Interface#

phpBB's default prosilver theme looks dated. The Admin Control Panel is considered user-unfriendly. Modern users expect mobile-first, clean design. atBB lesson: The HTMX + server-rendered approach is good, but invest in modern CSS and responsive design from the start. Don't let the UI become an afterthought.

3. Difficult Extension/Theme Customization#

phpBB's old MOD system required editing core files, making upgrades painful. Even the newer extension system is considered harder to work with than competitors. atBB lesson: If an extension/plugin system is ever built, design it as a first-class API from day one. The AT Proto lexicon system already provides some natural extensibility.

4. Overly Complex Permission System#

phpBB's YES/NO/NEVER ACL system with four permission types (forum, mod, user, admin), per-group and per-user overrides, global vs local scopes — is powerful but confusing. Admins frequently misconfigure permissions. atBB advantage: The simpler role hierarchy is actually better UX. Don't over-complicate it. Per-category permissions (Phase 2+) should be the ceiling of complexity.

5. Slow Development & Modernization#

phpBB is developed entirely by volunteers. Major versions take years. phpBB 4.0 has been in development since ~2016 and is still in alpha as of 2025. atBB lesson: Ship MVP fast, iterate. The AT Proto foundation means the core protocol handles hard problems (identity, data ownership) and atBB can focus on forum UX.

6. Poor Mobile Experience#

phpBB's mobile experience, while improved with prosilver's responsive updates, still feels like a desktop forum crammed into a phone. atBB lesson: HTMX enables progressive enhancement. Design mobile-first from the beginning.

7. Search is Weak#

phpBB's native search indexes words, not phrases. Full-text search is basic. Large forums struggle with search performance. atBB lesson: Plan for Meilisearch or similar from the start (already noted as future work). Make search a core feature, not an afterthought.

8. No Real-Time Features#

phpBB is entirely request-response. No live updates, no real-time notifications, no "someone is typing" indicators. atBB lesson: The AT Proto firehose subscription already provides a real-time data stream. Use this to power live topic updates via HTMX SSE or WebSocket integration.


Why Traditional Forums Declined#

Understanding why phpBB-style forums lost market share is critical for atBB's positioning:

The Migration Pattern#

  1. ~2005–2010: Social media (Facebook, Twitter) drew casual discussion away from forums
  2. ~2010–2015: Reddit centralized niche communities under one roof with a single account
  3. ~2015–present: Discord replaced forums for real-time community interaction
  4. ~2020–present: Growing backlash against centralized platforms, renewed interest in self-hosted/decentralized alternatives

Why People Left Forums#

  • Friction: Creating new accounts per forum, managing credentials, email notifications
  • Discovery: No way to find new communities from within the forum
  • Single login: Reddit/Discord offer one account for all communities
  • Real-time: Discord offers instant chat; forums feel slow
  • Mobile: Traditional forums were desktop-first

Why People Want Forums Back#

  • Searchability: Discord conversations are ephemeral and unsearchable by outsiders
  • Ownership: Reddit's API changes (2023) and platform enshittification
  • Structure: Forums organize knowledge better than chat or feeds
  • Permanence: Forum threads remain useful for years; Discord messages disappear
  • Decentralization: Growing desire to own your community and data

atBB's Unique Position#

atBB directly addresses the core reasons forums declined:

  • Single identity: AT Proto DID = one identity across all forums (like Reddit/Discord)
  • Data ownership: Posts live on your PDS, not the forum's database
  • Discovery: Federation enables "common forums" features (like Discord's mutual servers)
  • Portability: Leave a forum, keep your content
  • Decentralization: Self-hosted, no central authority

This is a genuinely compelling value proposition that phpBB never had.


Lessons from Modern Competitors#

Discourse: What They Got Right#

  • Trust levels: Automated progressive permissions (0=New → 4=Leader) reduce mod burden and scale community self-governance. New users are sandboxed; proven users earn privileges automatically.
  • Gamification: Built-in badges, points, leaderboards drive engagement
  • Real-time: Live updates, notifications, typing indicators
  • Infinite scroll: Modern UX pattern vs. pagination
  • Mobile-first: Responsive by default
  • Markdown: Modern text formatting instead of BBCode
  • One-click setup: Docker-based deployment

Flarum: What They Got Right#

  • Two-pane interface: Browse discussions without leaving current thread
  • Lightweight: Fast, minimal resource usage
  • Modern stack: Laravel + Mithril.js
  • Tags instead of categories: More flexible organization
  • Infinite scroll with memory: Remembers scroll position

XenForo: What They Got Right#

  • Social features: User status updates, activity feed
  • Trophy/achievement system: Gamification built into core
  • Resource manager: File/download sharing per forum
  • Built-in media gallery: Image/video sharing
  • Robust search: Elasticsearch integration

Gap Analysis: atBB vs phpBB#

Features atBB Has That phpBB Doesn't#

Feature Description
Decentralized identity AT Proto DID — portable, user-owned identity
Data ownership Posts live on user's PDS, not forum's database
Portability Content persists even if you leave a forum
Federation Multiple forums can share identity namespace
Cross-forum discovery "Common forums" feature possible via membership records
Spam resistance AT Proto identity is a natural spam barrier
Protocol-level reactions Reactions are first-class AT Proto records
Real-time data stream Firehose subscription for live updates

Critical Features atBB is Missing (Priority Order)#

P0 — Essential for MVP Parity#

These are features without which the forum would feel fundamentally broken:

  1. Rich text / Markdown in posts — Plain text only is not viable. Users expect at minimum bold, italic, links, code blocks, and lists. Markdown is the modern standard. Note: The current maxGraphemes: 300 limit in post.yaml is closer to a tweet than a forum post — this constraint may need revisiting before implementing rich text (phpBB posts typically support thousands of characters).

  2. Unread tracking — phpBB tracks read/unread state per-user across sessions. Without this, users can't efficiently follow conversations. This is the #1 quality-of-life feature for forum users.

  3. Topic subscription / notifications — Users must be notified when someone replies to their topic or a topic they're watching. Without this, the forum is "post and forget."

  4. User profile pages — Display name, avatar (from AT Proto profile), post count, join date, recent posts. The building block for community identity.

  5. Search — Meilisearch integration. Forums are fundamentally knowledge bases; without search, old content is lost.

P1 — Important for Competitive Parity#

These make the forum feel complete and usable for serious communities:

  1. Topic types: Sticky/Announcement — Admins need to pin important topics. The pin mod action exists but needs display logic and proper announcement/global support.

  2. Post reporting — Users need to flag rule-breaking content for mod review. This is the feedback loop that makes moderation scale.

  3. Moderation queue / post approval — New users' posts can require mod approval. Critical for preventing spam/abuse in growing communities.

  4. Warning system — Graduated enforcement before banning. Warnings → temporary ban → permanent ban.

  5. Moderation log / audit trail — Record of all mod actions with timestamps and reasons. Essential for accountability and mod team coordination.

  6. Polls — Simple voting mechanism within topics. High engagement, low implementation cost.

  7. Drafts — Save unfinished posts. Prevents lost work, improves UX.

  8. Topic split/merge/move — Core moderator workflow for organizing discussions. Without these, moderators can only lock or delete.

P2 — Nice to Have / Differentiators#

These would make atBB stand out:

  1. Trust levels (Discourse-style) — Automated progressive permissions based on participation. Reduces mod burden, encourages good behavior.

  2. ATOM/RSS feeds — Per-forum, per-topic feeds. Low cost, high value for power users and integration.

  3. Gamification — Post count ranks, badges, achievements. Drives engagement.

  4. File attachments / images — Upload and embed media in posts. Already noted as future work.

  5. @Mentions — Notify specific users in posts. phpBB 4.0 is adding this — it's becoming table stakes.

  6. Real-time updates — Use the firehose to push new replies to open topic pages via HTMX SSE. Would be a significant differentiator over traditional forums.

  7. Subforum / nested categories — Currently categories are flat. Some communities need hierarchy.

P3 — Future Considerations#

  1. Private messaging — May be handled by AT Proto's native DM system instead
  2. Nested/threaded replies — Already noted as future work
  3. Custom themes/branding — Already noted as future work
  4. Plugin/extension system — Already noted as future work
  5. Per-category permissions — Restrict categories to certain roles

Recommendations for atBB#

1. Lean Into Your Strengths#

atBB's decentralized identity and data ownership model solves the fundamental problems that killed traditional forums (friction, lock-in, centralization). Don't bury this — make it the primary selling point. The "bring your identity, own your posts" story is compelling.

2. Avoid phpBB's Complexity Trap#

phpBB's permission system is a cautionary tale. The YES/NO/NEVER ACL with four permission types is powerful but confusing. atBB's role hierarchy (Owner → Admin → Moderator → Member → Guest) is the right level of simplicity for MVP. Add per-category permissions later if needed, but resist the urge to build a full ACL system.

3. Learn from Discourse's Trust Levels#

Discourse's automated trust system (where users earn permissions through participation) is one of the best innovations in forum software. Consider implementing a simplified version:

  • Level 0 (New): Just joined, posts may require approval
  • Level 1 (Basic): Has read some topics, can post freely
  • Level 2 (Member): Active participant, can flag posts
  • Level 3 (Regular): Trusted member, can recategorize topics, edits are instant
  • This could integrate with the AT Proto reputation model — a user's reputation across the ATmosphere could bootstrap their trust level.

4. Markdown, Not BBCode#

BBCode is a relic. Markdown is the universal formatting language of the modern web (GitHub, Reddit, Discourse all use it). Implement Markdown with a live preview. Consider a common Markdown library that works both server-side (for rendering) and client-side (for preview).

5. Real-Time is Your Secret Weapon#

You already have the AT Proto firehose. Use it to push real-time updates to open pages via HTMX Server-Sent Events (SSE). When someone replies to a topic you're viewing, the reply should appear without a page refresh. This would be a genuine differentiator over every traditional forum including phpBB.

Implement Meilisearch (already planned) early, not late. Forums are knowledge bases. The value of a forum compounds over time as content accumulates — but only if that content is findable.

7. Mobile-First Design#

Design the HTMX web UI mobile-first. The majority of web traffic is mobile. phpBB's biggest UX failure is feeling like a desktop application on phones.

8. Unread Tracking is Non-Negotiable#

Implement per-user read state tracking from the beginning. This is the single most important UX feature for forums. Without it, users have no way to efficiently follow conversations across multiple topics and categories. phpBB's read tracking system (storing last-read timestamps per topic per user) has been refined over 20+ years — study it.

9. Moderation Must Scale#

Build moderation features that can scale with the community:

  • Post reporting from day one
  • Mod action audit log from day one
  • Warning system before permanent bans
  • Post approval queue for new users
  • Consider how AT Proto's decentralized nature affects moderation — users can always post to their PDS even if banned, but the AppView simply won't index their content. This is actually a cleaner model than phpBB's.

10. The "Forum Revival" Opportunity#

There is genuine renewed interest in forum-style communities driven by:

  • Discord's poor searchability and content ephemerality
  • Reddit's hostile API changes and platform enshittification
  • Growing desire for data ownership and decentralization

atBB is uniquely positioned at the intersection of "forums done right" and "decentralized social." The combination of structured long-form discussion (forums), user-owned data (AT Proto), and portable identity (DIDs) is a compelling story that neither phpBB nor Discourse can tell.


Sources#