blog

archives

Introducing Discourse 1.0

Jeff Atwood August 26, 2014

Today we are incrementing the version number of Discourse to 1.0.

We’ve been working on Discourse in public for about a year and a half now – since February 2013. Turns out that’s about how long it takes to herd an open source project from “hey, cool toy” to something that works for most online discussion communities.

It’s a bit like building an airplane in flight.

Version numbers are arbitrary, yes, but V1 does signify something in public. We believe Discourse is now ready for wide public use.

That’s not to say Discourse can’t be improved – I have a mile-long list of things we still want to do. But products that are in perpetual beta are a cop-out. Eventually you have to ditch the crutch of the word “beta” and be brave enough to say, yes, we’re ready.

So that’s what we’re doing.

In working with the community, in working with our 3 initial partners, in working with our early customers, we’ve gained a lot of confidence that we’ve refined Discourse into something that is safe, complete, has all the rough edges smoothed, and is finally ready for use by everyone:

discourse.org

We’re also, at long last, unveiling our hosting service and install service:

discourse.org/buy

If you’re looking for a world class host to get started with Discourse, why not choose the people that know Discourse best?

As an open source project, we wouldn’t be where we are today without our community, so many thanks are in order:

  • Thanks most of all to the people who believed in Discourse enough to operate and maintain an active Discourse instance. You’re closest to the metal and we always, always highly prioritize your feedback.
  • Thanks to our early customers who saw value in Discourse and were willing to take a leap of faith with us and help build a beta product. Money is the ultimate form of support, and it’s essential to the survival of the project. It’s also amazing how many things we learned when really digging into setups with our early customers.
  • Thanks to everyone who participated on meta.discourse and provided feedback, reported bugs, or discussed features with us. Discourse is better because you spent the time with us to help improve it for everyone. We appreciate that.
  • Thanks to our many contributors and collaborators who submitted pull requests to the Discourse project on GitHub. Any open source project is only as good as its contributors, and one of our continuing goals is to make it easier and easier to contribute to Discourse as we go.
  • Thanks to everyone who used Discourse. Ultimately Discourse is a platform for having fun while communicating with your fellow human beings – building a simple, satisfying user experience has always been our number one priority. There’s no party when nobody shows up!

We’ve come a long way, and we’ve worked hard to get here, but we still have a very long way to go. Here’s to the next 8½ years of our 10 year plan to raise the level of discourse on the web. Join us. We’d love to have you.

38 Replies

Discourse V1.0 Next Month

Jeff Atwood June 25, 2014

In January I wrote about The Road to Discourse 1.0, and I mentioned that we planned to reach version 1 in “the next few months”. That time has come. I’m pleased to announce that we will leave beta and officially release Discourse V1.0 next month, sometime in July 2014.

We’re crossing the last target feature off our list for V1 this week, which happens to be automatic promotion of users to trust level 3.

I’m incredibly proud of all the work we’ve done to herd Discourse towards being a stable, mature open source discussion platform that works great for most of the communities, customers, and users we talk to. Here’s a partial list of just what we consider to be “major” feature work we completed since January:

  • Roll up repeated notifications on the same topic or PM.
  • Allow selecting and acting on groups of topics together to recategorize, close, delete etcetera in bulk.
  • groups icon on private categories to make this clearer
  • Suppress category definitions a bit more
  • “Welcome to Discourse” as default pinned topic for all installations
  • Allow newish users with no posts or 1 post to delete themselves
  • “Read Only” mode for forum maintenance
  • Admin web UI for import/export of all Discourse data
  • Improved login guidance throughout for anonymous users
  • “Dismiss Unread” (change topic state to regular) on unread tab and “Dismiss New” (manually set last visit date) on new tab
  • Notify owner when the category (or title!) is edited on their topic
  • Notify people when someone links to their topic/topic via an internal link in the right gutter sidebar.
  • Alert users when they’re about to post a necro to an old topic
  • Live updates for likes and edits
  • Revised, simplified /categories page
  • Topic summary links show real HTML title and source site
  • Allow admins to transfer or take ownership of a post*
  • Integrate digest email selection of “best” topics and /top page criteria
  • Simple and clear upgrade page at /admin/docker
  • Fix the “enormous number of links” problem in the right gutter
  • E-Z themer plus UI for it, to style your Discourse without touching any CSS
  • New local avatars (replace gravatar for privacy, performance, etc)
  • Post read/unread live visual state tracking via blue dot at upper right of each post
  • Expanding options on click for topic progress / navigation bar, go to arbitrary post
  • Dismissable top site intro banner with Banner Topics
  • Badging and achievements*
  • View IP geolocation and info for admins*
  • Wiki posts that can be edited by any user with at least trust level 1*
  • Batch inviting of users via file upload*
  • User invites can include group membership
  • Click to expand posts hidden by the community

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

Right now we’re in a lockdown phase where we try not to add any new features unless we absolutely have to. We’re hunkering down to eliminate the last bugs and polish everything up before our first non-beta release.

What will change after V1.0 is released in July? We’re still discussing that, but here’s what we know so far:

  1. We will have two branches: stable and master. Stable will increment versions somewhat slowly, and master will continue to be the firehose of the latest live changes.
  2. There will be “release notes” for each stable release that document what changed since the last stable release. We will also have a bit more discipline in labeling checkins to make this easier.
  3. Discourse is, and will always be, 100% open source. But for those who want worry-free business and enterprise hosting from the source of the project, discourse.org will update with clearer guidance on pricing for our hosting solution.

What we don’t want to do is slow down. We will continue to build and improve as fast as we can to make Discourse the best open source discussion platform in the world.

We’re 1½ years into a 10 year plan to improve discussion on the Internet, and we love what we’re working on.

We hope you love it too.

24 Replies

Translating Discourse with Transifex

Jeff Atwood May 12, 2014

In Localizing Discourse, I noted that we leveraged the mature, built in localization support in Rails to make it easier to translate Discourse into your preferred language. To better support large scale translations for Discourse, we’re now using a crowdsourcing translation service, Transifex.

transifex.com/projects/p/discourse-org

They have a generous free tier for open source projects, and they’ve provided excellent support so far. This also gives us a dashboard to measure our progress on localization — we currently have 15 languages at 80% translated or better, which is encouraging!

Transifex makes it much easier to contribute a little bit of localization to Discourse, as you can submit a string translation entirely through the web UI there:

As you can see, Transifex tracks how many strings haven’t been translated yet in any given language, and offers up any contributed community translations for approval as suggestions.

Or, if you have time for a bigger chunk of work:

Neil did a lot of work to get basic Transifex integration up and running a week ago. We’ll continue to refine our integration with Transifex to make the translation workflow as pain-free and simple as possible. Discourse is an open-source system of rainbows; civil, open discussion should be available to every human being on earth no matter what language you speak.

If you’d like to see Discourse in a different language, or better translated in a current language, help out an open source project by hopping over to Transifex and contributing a translation or two in your spare time!

(A huge thanks to hey_julien, camilohollanda, erlend_sh, jbruni, blang, and robypez — we’ll be reaching out to you soon with a small token of our appreciation for getting Discourse started on Transifex and contributing enormous chunks of translation!)

11 Replies