blog

archives

The Road to Discourse 1.0

Jeff Atwood January 8, 2014

Discourse launched at version 0.8.0.0 which was my off the cuff estimate of how “done” we were with our first public release on February 5th, 2013 — about eighty percent done, I thought, once you factor in the ninety-ninety rule:

The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.

As of this week we will be incrementing to Discourse version 0.9.8.0 with an eye on making it to version 1.0.0.0 sometime in the next few months. That’s right, the mythical version one-point oh! I know nothing really gets good until version 3, but we believe this will be the first version of Discourse we can recommend to everyone, for almost any use, without hesitation.

We’ve worked hard to get this far. Some stats on the Discourse project to date:

Commits

5,857

Versions

37

Contributors

258

Pull Requests

~1,450

Meta Topics

3,278

Meta Posts

25,491

Team Members

5

We’ve been a bit shy about producing manual change logs, because so many things are changing in Discourse so fast. And of course the actual history of commits is always visible on Discourse because this is a public, 100% open source project.

It’s difficult to overstate just how far Discourse has come since launch last year. We thought about it a bit and came up with this (rather long!) list of new and notable things we’ve added or expanded on in Discourse over the last 11 months:

  • 3x performance improvement
  • Mobile layout
  • Reply-via-email support
  • Subcategory support
  • Improved digest emails
  • Improved user page
  • Improved single-column category page
  • Sortable topic list columns
  • Automatic large image handling/thumbnailing for posts
  • File upload/attachment support
  • Top topics page as a “quick start guide” for new and long-absent users
  • Category level preferences (watch, mute, etc)
  • Slew of admin page dashboard stats
  • One-click remove spammer support (remembering prior email, IPs, URLs)
  • Functional private forums with user approval queues (see Ruby Rogues Parley)
  • Massively improved version history UI for edited posts
  • Optimized topic pages, UI, and browser load strategies that work well with topics that have 1k+ posts
  • Site settings grouped into categories for ease of discovery
  • Logging of admin actions and admin setting changes
  • Allowing custom HTML at the top/bottom/header of every page
  • Vastly improved plugin support with much greater extensibility
  • Custom local avatars
  • New minimalist UI to make theming easier
  • WordPress plugin to provide Discourse comments and a forum for WordPress blogs
  • Embedding support to provide Discourse comments and a forum for statically generated blogs (see eviltrout.com for live example)
  • Several new just-in-time user behavior cues to improve discussion
  • Improved Markdown support (with full MDTest 1.1 compliance)
  • Easier installation with Docker
  • Enhanced oneboxing (URL pasting) support, delivered as a gem for sharing
  • Auto-closing topics
  • Secure categories, visible only to certain groups
  • Improved search that auto-scopes if you are on a user or category page
  • Live update of new and unread counts, as well as post datestamps
  • Run your own authentication via plugin hooks (oauth/openid or custom)
  • Improved flagging support and one-click flag handling
  • Per-user API keys as well as per-site
  • HTTPS support (currently testing on meta)
  • RSS Feeds*
  • ~ 20 localizations in various states*
  • Persona logins*
  • Keyboard shortcuts*
  • Ability to mention Groups as well as users*
  • Favicon notifications*

The items with an asterisk* were generously contributed by the community. As long as this list is, I’m sure we forgot to mention something the Discourse community helped us improve or add in 2013. Thank you.

In addition to hitting version 1.0 in the next few months, we have lots more great stuff in the pipeline for 2014, including news on our hosting story. Stay tuned, because we sure don’t plan on slowing down any time soon.

Notable Replies

  1. Jeff Atwood
    January 9, 2014

    I forgot to mention that, in the natural process of developing Discourse, we have also contributed significant fixes and improvements back to several upstream projects we rely on:

    • Rails
    • Ruby
    • Markdown.js
    • Ember.js

    Which benefits not just us, but everyone who uses any of those projects. Isn't open source great?

  2. David McClure
    January 9, 2014

    In addition to hitting version 1.0 in the next few months, we have lots more great stuff in the pipeline for 2014, including news on our hosting story.

    Is there a day, week, month or quarter that you're targeting for making your hosting available?

  3. Lee_Ars
    January 10, 2014

    You guys have also been excellent at listening to feedback, and I appreciate that. Makes those of us who can't contribute code feel like we were able to help out in our own ways smiley

  4. Ioann
    January 16, 2014

    Looks really great! Can't wait 1.0, cuz your project is so amazing! But installing of it is real pain-in-the-ass for people who used IPB or XEN or VB or etc. forums.

    Hope there will be some more friendly installer, it will generate tons of new discourse installs!

  5. Andy Hayden
    February 7, 2014

    Happy anniversary (yesterday)!

  6. Lee_Ars
    June 21, 2014

Continue the discussion at meta.discourse.org

10 more replies