The visual experience of Discourse

Hi Sarah,

The biggest issue I see is producing something that visually attracts passing traffic whilst maintaining interest once the user has joined up and it’s the visual experience that has been my biggest issue so far with Discourse. Much of this can be changed with CSS of course and the fact that SCSS is supported makes that job easier. But there are several styling gotchas, for example, not being able to assign CSS classes to categories, for my use cases, can make Discourse styling a real pain. I’ve raised this with the team, and I hope that the low hanging fruit changes will make it into the product before too long.

I’ve also hit issues with categories, specifically category moderation and maximum category depth. Here’s an example:

In my Film & TV community, I want to be able to offer an online presence to Film Societies. I wanted to do this by adding a new top level category called Clubs and Societies and within this category a new category would be added for each Society. See the following (btw image selection is not final):

I’d then want to allow the Society’s representative to moderate their own forum. But this is not currently possible in Discourse although Category specific moderation is promised in a future update.

Still on the subject of societies and categories, once a category has been created for a society, I want to be able to allow non society members to see that the categories exist - but - I want to keep their forums private. Again this is not possible as the forum content inherits the same permissions as the category. So if the society is visible to all, so is the forum. I’ve got round this by moving each club and society to the top level and then adding another hidden category in each club and society at level 1 (assuming top is 0) which is only visible to society members. It works, but it’s cumbersome. I won’t hog bandwidth by posting another screen grab, instead imagine the societies currently within the orange clubs and societies category, being moved to the top level - so as to allow a private forum to be included at level 1 within each individual club and society.

On the other hand these UX challenges must be balanced against Discourse’s excellent topic handling capabilities, which ultimately outweigh the aesthetics. If it were a case of aesthetics first, then NodeBB would be my first choice, simply because it solves the issues mentioned above by offering an infinite number of category levels and more granular permissions - not to mention it’s also very fast.

Of course, once you start adding multiple categories, you need to keep them organised and neither Discourse or NodeBB offers any facility for segregating or classifying categories other than hierarchy. It’s all or nothing, although Discourse does offer the ability to prevent individual categories from being shown on the home page.

Which means you need to turn to the plugins such as Isotope, used in my Film community above. These enable you to sort, filter and pack elements on the page and can be very effective at extending web platforms that haven’t yet focused on client side aesthetics.

Finally, in addition to filtering and packing, I also wanted to be able to add gallery functionality to Discourse and for this I used Flickity - seen here on a car test site I developed. This allows me to add multiple images to a topic or reply and have them render in a carousel, along with maintaining Lightbox support.

Adding the carousel in next post due to new user posting limitations.

That’s all for now, but in summary, Both Discourse and NodeBB offer some great facilities, with Discourse being stronger on topic handling, and NodeBB better with category organisation and moderation. Obviously both platforms are being developed at a rapid pace, so what I mention here will only be valid for so long. But it is currently the case. Although the good news is, as demonstrated above, most issues can be worked around, if not natively within the platform itself, then with the assistance of one or two plugins.


Carousel mentioned above:


Note: I split this topic out from the larger “What are you working on?” one so that we can brainstorm ideas.

I love your design – it looks amazing. One of the classiest Discourse customisations that I’ve seen.

By the looks of it, you’re self-hosted. I imagine both your required fixes would be relatively easy to get someone to write. Have you investigated?

Do you think that the UX of having a large number of categories from which to choose from, some of which you click on to find that you can’t access them, is ideal?

[quote=“ccdw, post:1, topic:2086”]
if not natively within the platform itself, then with the assistance of one or two plugins.
[/quote] Note for anyone reading this that doesn’t know Discourse, if you’re on a hosted plan (other than Enterprise) then plugins aren’t available.

1 Like

Thanks, it was only a couple of days work and more a proof of concept than anything else. It’s already evolving, including the ability to have very neat WYSIWYG post editing, which I see as essential if you want a more blog like appearance for the topics in one or more categories.

No, currently using Discourse hosting, although that might change. Everything you see above is added on the client and therefore is compatible with Discourse’s basic hosting plans which allow you to add client side CSS and JS.

The tech issues are simple to solve in theory. The much bigger issue is going against the philosophy of the founders’ view of what a discussion platform should be. And if you go against this philosophy by employing custom solutions then I believe, sooner or later, something breaks.

Fixing these breaks is ok once or twice, but I’ve been developing Internet solutions for almost 20 years (and sold two businesses off the back of it) and you learn that one’s productivity is much higher if you can align yourself with the direction of your chosen platform at the outset. Then and only then can your energies be used in leveraging the strengths of the platform, rather than trying to fix what you see as its weaknesses. Am I aligned with Discourse? Yes and No. It’s early days.

No. Not at all. But it’s work in progress and on the path to a more elegant solution. I believe emphatically that an elegant UX experience is delivered by empowering the user to decide how they want to see the data before them. Not being presented with a take it or leave it attitude which is all too common in the community software sector.

Consequently, I feel that any interface designer who believes they know better than the audience they’ve yet to meet is heading for a fall - especially as more younger users come on line, willing to drop software quicker than the developers’ and designers’ ability to knock up another, equally short lived, static front end.

In summary, offer users the ability to customise their experience. If not, don’t then be surprised when they tire and move onto to something different.

True, although Discourse do add one or two plugins to the basic plans. Things like Tags for example - although if you want to write and deploy your own plugin then as you’ve identified, you’ll need to purchase Enterprise, or go it alone with your own install.

I love this discussion.

Agreed. I’ve been down that road with Discourse. We gave up and reverted back after about a year. It was too exhausting. Having said that, things are a lot more stable now, but I hear ya.

[quote=“ccdw, post:5, topic:2086”]
I feel that any interface designer who believes they know better than the audience they’ve yet to meet is heading for a fall
[/quote] Quote of the century. In essence, this is why I was asking the question. Without having an audience to research, I wondered if you were investing too heavily into the customisation. I take it back though – you’re obviously on top of your game.

I think this leads nicely into a conversation about what the hell do we do now then? Traditional platforms are cumbersome (to put it kindly) and inflexible, modern platforms hamstring us with moving goalposts and very real limitations, and bespoke (or truly removed open source) acquires a crippling technical debt. Which is the best bad option?

Humility serves me well. Not all my ventures have been successful. I lost a lot money in 08. Hell no, I lost a lot of everything. And it sort of focuses the mind about one’s abilities. Not every wave is surfable. Not every cloud conceals a silver lining.

Without wishing to be seen as negative, we do have examples of how not to do ‘communities’. LinkedIn springs to mind and one wonders how long it will be before folks stop thinking that they must have a LinkedIn profile. It’s currently a classic case of norm (everybody else is there, so I should be too) over function. Sooner or later folks will wise up to the notion that functionality coupled to accessibility to other users is key, not just the promise of standing in a crowded room of user profiles - which nobody bothers to glance at, much less read.

But at least they tried.

And Google tried too. Although how any company that makes the world’s worst web based email interface feels it has the wherewithal to provide an attractive community destination, has to be one of the biggest faux pas of the Internet revolution. Despite its billions of users and billions in the bank, it has so far scored a perfect zero. Proving if nothing else that community aint search.

They are, but with that comment comes the very obvious truth that they did something right, else they wouldn’t still be around. Although you do question why anybody would seriously consider vB and similar, when the likes of NodeBB and Discourse are free to use - albeit, at least in one case, pigs to configure.

You’ve only got to spend ten minutes with NodeBB to realise that despite it swimming in functionally shallow waters, there’s no doubting the elegance of the solution. Couple that to lightning quick response and you almost have a compelling solution. Almost.

And I think we can blame much of that on Apple with its 99c cent paradigm and how it has lowered the expectation of folks with regards to what a software application should deliver. Some might argue that Apple’s apps are generally fully featured, and they are within the confines of a mindset that only has 10-20 minutes to spare, but beyond that, where’s the functionality? And that attitude pervades almost all software that I’ve seen being developed over the past 10 years or so. Notable exceptions being the Microsoft Enterprise stack (20 servers for SharePoint anyone?), Autodesk’s CAD and VFX suites and Adobe’s Creative Cloud conundrum. Just kidding Adobe. Illustrator, Photoshop and After Effects will pay the bills long after your various web efforts have been long forgotten. I promise!

Discourse too is thoroughly engineered and has a great feature set - within the very limited confines of what ‘they’ see as representing a discussion. And it’s a very narrow feature mindset they’ve adopted. In saying that, barely a day passes where I don’t say wow, I didn’t realise it did that. But it’s much like double glazing. Or triple glazing. At some point even the energy conscious Swedes said, you know, in most cases three panes of glass is enough, now let’s turn our attention to insulating the walls.

And Discourse’s walls is the functionality they seem happy to ignore, whilst busily preparing their 6th pane of glass. We get it Discourse, efficient discussion is important, but so too are the other aspects that platforms like Slack and to some extent, Quora have adopted. That you can create a visually attractive blog post and embed it in a conversation in Slack, really matters. Folks like pretty things. They like variety. They like the ability to configure. They like choice. All the things that ‘single vision’ platforms seem to forget.

Which reminds me of a story my Swedish friend told me about international project management. He’s a board level director at an international car company and he said when he arranges international project management meetings he’s mindful of the differences between nationalities. For example, he noted that generally the French like to thrash everything out around the table whereas the Swedish will nod appreciatively, only to work ‘the issues’ around the coffee machine.

With that in mind, how then can discussion platforms hope to treat everybody the same?

Very sagely put.

But these platforms have a physical advantage not afforded open source or visionary start ups. An adherence to the bottom line and a reality that cuts through the ‘no boss’ extravagance of open source practices. But with that comes inertia. Witness Intel’s need to support legacy 8088 code long after the new architecture in the 286/386/486/Pentium came on line. So these companies move slow, but they move well. Think elegant heavyweight boxer v the dehydrated beat the weight bantam.

We have options? :slightly_smiling:

As a user, the biggest question is do I commit to a new platform, or do I stay put. And what does it mean to be new. Better, worse, latest? A step forwards or backwards? Which is why email continues to be the dominant form of communication. So much so that even folks like me use email for archiving things I cannot afford to lose. Not sure I can say that of any other piece of software I’ve ever used, and most definitely not any cloud platform (whilst acknowledging that email is a cloud based medium).

So email is my vault. My Fort Knox and I trust it totally to guard and protect me and to help me communicate with the outside world.

Of the others? Of those that I’ve used in depth:

Slack with it’s hybrid SharePoint meets email meets blog meets any app you can think of? It’s great. But… not so sure I need that type of organising. Certainly not using the channel hierarchy they use. But what else could they do? Industry is replete with the next organisational paradigm. They come and go. But hierarchy it seems, is, for now, here to stay.

Quora. Sleek and in my view has the ability to overtake Stack as the place to go for code related answers. If it adds a little more Wiki and a touch of Discourse threading, and maybe a splash of NodeBB’s elegant speed, it could become my go to place on the Internet. I love the fact that people share and are rewarded if by no other means than acknowledgment. This alone could make it a bigger more reliable wikipedia, and operated by real people, not faceless behind the scenes contributors. That users’ contributions can be challenged is brilliant. That untruths can be revealed as such is an additional bonus. That the better ones bubble to the surface is even better.

Enough of my rambles -

I was intrigued by your:


Where do you see the industry going? Can online communities be a substitute for the real thing? Or are they now the real thing?


You speak my language. :slight_smile:

Hmmm. Interesting take on things. I think they’re still around because at first there was nothing else, and then because the idea of migrating something that had been so hacked for so many years felt insurmountable. And because people are scared of change.

[quote=“ccdw, post:7, topic:2086”]
within the very limited confines of what ‘they’ see as representing a discussion.
[/quote] Yeah, this is a frustrating conundrum. Jeff admits to being opinionated, and concedes features if enough paying clients want them, which is fair enough as a business model, but can be frustrating for anyone that wants to push community slightly outside the bounds of right now.

[quote=“ccdw, post:7, topic:2086”]
Slack with it’s hybrid SharePoint meets email meets blog meets any app you can think of? It’s great. But… not so sure I need that type of organising.
[/quote] See The ephemeral nature of Slack vs forums[quote=“ccdw, post:7, topic:2086”]
Where do you see the industry going? Can online communities be a substitute for the real thing? Or are they now the real thing?
[/quote] I’ll come back to this one later today. Right now, exercise calls.

Edit: I’m actually going to split it out into another topic, because it has enough merit to stand alone.