How does the Discourse project work?

No, meta itself runs on the tests-passed branch.

tests-passed basically is master. Its just that the unit tests have to all pass before changes committed to master are automatically merged into tests-passed.

Naturally Iā€™m in complete agreement with the ā€œwe need roadmaps & changelogsā€ camp.

Adding to that, my main concern for the Discourse project now is that not enough attention is being given to the ecosystem as a whole. The bulk of everyoneā€™s time appears to still be spent on the product. While the core developers might be in their happy place, Iā€™m not seeing the kind of developer adoption you ought to be seeing for v1.0 software.

  • Where are the plugin developers?
  • Where are the theme designers?

I keep hearing that the best kind of mockup is a functional one, yet the people most able to make that happen are not being facilitated. Discourseā€™s barrier of entry is still way too high, and not enough is being done to lower it. Thereā€™s not even a ā€œDocsā€ or ā€œAPIā€ link on the front page!

4 Likes

First of all, Iā€™m sorry that I donā€™t have time to properly answer everything. I also apologize to @awesomerobot for completely forgetting you, youā€™ve done some good stuff here. I guess that was because lately more often not the design changes seem to have be coming from other devs. That said, I think other users have said pretty much what Iā€™ve though so thereā€™s not that much to add. I will only comment the (short) example of gutter links.

What would have liked to see is something about the original design. Why the gutter links are there in the first place? Why are they presented like they are? What has changed to commanded the change? If there were complaints, what were they? There must be some new data or at least itā€™s interpretation must have changed. I donā€™t have access to any of that. Thatā€™s also why the discussions become bikesheddy. You canā€™t challenge the assumptions behind the changes because they are not made visible.

Iā€™m not a design agency submitting work for you/us to vote on. Iā€™d simply like to contribute in what I can and give my experience and input on things were I can. If I had the data, Iā€™d be able to make my own conclusions, possibly gather some additional data or test the ideas. Only after that am I able to share my findings, ideas and designs back. Thatā€™s how I work.

4 Likes

Thatā€™s how a majority of us work. I spend a LOT of time doing analytics and statistics, and writing programs to do some pretty nifty calculations that ultimately lead to key business decisions. Having data is an absolute necessity. Without it, people make their own assumptions as to what the underlying issues/data are and build their arguments for/against based on that.

That definitely leads to confusion as no one truly knows what they are talking about. They have an idea in their head that the data they received was what lead to their stance on the subject, but fail to remember, they never had data to begin with!

2 Likes

The problem with the way this is done is that itā€™s implemented in the main branch (i.e., goes through the normal flow so that itā€™s everywhere) and then even if there are ultimately plans to revert or fix up later, the later is a lot later. Meanwhile, stuff is removed or whatever apparently for the sake of experiment.

Shouldnā€™t something like try.discourse.org be used to experiment with this sort of thing? With branches other than the main stuff that everyone gets?

3 Likes

Sounds like a good use of feature toggles?

1 Like

Which ironically, is practically what existed in the first place, in the form of a snippet of custom CSS applied by an admin.

Incorrect. Change is implemented only in tests-passedā€¦ be on Stable or Beta if you donā€™t want experimental changes. What youā€™re asking for already exists.

Iā€™d say you need to be active on at least 5 different reasonably sized Discourse instances to have enough data. (Not including meta, since meta is kind of a dodo bird in terms of feedback, itā€™s not really representative.) The team is unique in that we sit at the confluence of probably 100+ Discourse instances, of which I touch at least 10 per day, and probably see up to ~20 on any given day, including weekends.

Thereā€™s a serious ā€œsample size of oneā€ problem that you want to avoid. Your particular community may have certainā€¦ predilections and quirksā€¦ that perhaps may not be shared by many other communities. But from this vantage point, we see everything ā€“ weā€™ve read literally every single meta post since Feb 2013, most meta discussion that occurs on other active Discourse instances, and we sample ~10-20 Discourse instances every day, Monday through Sunday, every week, for the last year and a half.

Inevitable with this highly complex stack ā€“ show me another all-JavaScript project running Ember.JS and Rails that has any kind of open source traction.

And to be honest right now I do not care at all about developer adoption, we need customer adoption over the next 12 months if we want the project to survive. Period.

Trends look reasonably good, donā€™t get me wrong, but the priority is on project survival via customer happiness, not any abstract metrics of developer happiness.

3 Likes

Okay, but that wasnā€™t exactly my pointā€¦

My point was, there was zero sharing of any data that lead to the decision. It simply was, this place doesnā€™t have it and it works (but oh yeah, they at least have a ā€œRelatedā€ title above them so the user knows that they are forā€¦). If you had stated: Out of the 20 most popular Discourse instances, the glyphs are causing a stack load of confusion, weā€™d be having a different conversation right now, but I donā€™t believe that is the case (out of the 4 I know are popular and just did a search on the topic for).

Iā€™m simply stating, that if you make a change and donā€™t provide actual information as to what lead to the decision, we are left to assume the data ourselves (and that isnā€™t a good thing). I donā€™t doubt that you have data at your disposal, I worry that the justification you provide doesnā€™t include the data.

5 Likes

No, tests-passed is not the place for crazy experiments to do what-if sorts of tests. Not in the way Iā€™m talking about. Itā€™s closer to feature branches, really, to try things out and have a way to test it out more publicly than a devā€™s environment.

I see room for feature flags, but this is not for ā€œwe just removed a glyphā€ itā€™s for ā€œletā€™s see how it looks if we remove the whole aux columnā€

Requiring feature flags for every minor design change is paralyzing

If we make an incorrect call once in a while we can always correct / adjust before next beta

3 Likes

Iā€™m perfectly OK with that core dev team can make decision without public discussion. They deserved that power because they made cool thing at first. You and me, didnā€™t.

You and me also have power because we are user of Discourse and most software are meaningless without user. But these power are not in same level. We cannot taking them down. If you make cool thing, you will have that power. Please respect each other.

If someone have trouble with new change, of course they can speak about it at here. Look around this meta forum. Dev teamā€™s posts and topics are everywhere. I have couple of Discourse powered forum in my bookmarks. Theyā€™re also popped there. The point is, they are actually listening from community very hard. If someone ask me ā€œHow it looks like become successful open source development?ā€, I would tell ā€œmeta.discourse.orgā€.

You needs more well-formed changelog, announcement or design document? Feel free ask about it and persuade us why we need it. But please donā€™t say ā€œDiscourse have problem with their processā€. You have problem with some specific thing in your case, not Discourse development process.

2 Likes

Actually many people here on meta are also contributors to Discourse, which is a collective work created not only by the small ā€œcore teamā€ (for lack of a better term) of volunteers paid to work on Discourse, but also by the ideas, discussion, and code from hundreds (at least 215) of others of volunteers. While clearly some have contributed more than others, they are all co-creators and co-builders of Discourse.

Agreed that the listening is good here, but most large open source projects do not use (or at least try to avoid) a two-class system of contributors as it relates to communication and development. :wink: There are many more examples you might want to study.

I am sorry we are not living up to your expectations of how we spend our time. If you feel that you should no longer participate in this project based on your disappointment with how the project is being run, I understand.

Life is too short to be unhappy and you should choose to spend your time on things that make you happy. Sorry Discourse did not meet your goals. I hope you find a project that does meet your expectations. Good luck, and thanks for your contributions!

sigh, I guess it is too difficult to explain what Iā€™m trying to say. I donā€™t disagree with where you are going or what you are attempting to achieve. I donā€™t plan to stop trying to help meet those goals, but, I have no idea what the goals are.

Help us, help you by letting us know what you want to achieve and when. I feel that would help us both out. Iā€™m just simply looking for clearer discussions between our differing views and you seem to make it seem Iā€™m asking for something you donā€™t know (or canā€™t share, or something).

The glyph change is a prime example of this. When asked for ā€œwhat problem are we solvingā€, I was given a very vague problem. How am I supposed to help come up with solutions if I donā€™t have a specific problem? I donā€™t feel like Iā€™m asking for the stars here, just clarification.

Iā€™m willing to help figure out solutions but when Iā€™m not given enough information and I need to keep pressing for it (as if squeezing blood from a turnip), it makes the discussion difficult.

Iā€™m sure you can understand that. Look at it from my point of view and it is clear to see that nothing in that discussion was specifically shown as to what problem we are addressing or the new problems that are now in existence because of the solution initially taken.

Iā€™m not disappointed with my efforts or yours, Iā€™m trying to improve that relationship here by offering why it feels difficult from a contributor/participant perspective. If you want us to all keep going in circles, thatā€™s fine, but realize, that just leads to these discussions over and over again. Iā€™m trying to help by bringing this discussion to light and see if we canā€™t find a way to resolve it so things progress quicker (a goal both of us should be reaching for).

Iā€™m not sure what the issue is with constructive criticism (or if you donā€™t believe there is a problem with communication here). There isnā€™t any need to make this personal. Iā€™m not. Iā€™m purely pointing out the problems I see from a contribution perspective. Without knowing where you guys want to go next, it is hard for me (and everyone else) to help you achieve those goals.

If I had that information, I would give it to you. But I donā€™t. You seem unhappy. Perhaps there are other places you could more constructively spend your time?

I think the example being argued is exemplar of bikeshedding. Itā€™s literally one character of formatting in quite a large app.

I actually really respect the criticism being offered here that we arenā€™t as transparent enough about our goals. I think a loose roadmap would be a good thing for us to provide. However, I sincerely doubt ā€œremoving character in the right gutterā€ would have made it on there anyway.

We canā€™t possibly be expected to open a new topic to debate every little UX change we make. Achieving consensus would be impossible and it would slow development down to a crawl. I am really not sure if people understand how much extra work they are asking us to do here.

I firmly believe for little changes like that, it is far easier to just change it in master and let users start playing with it. Sometimes itā€™s an improvement, sometimes it sucks. We can always put it back. We do this often.

9 Likes

I put this in a PM, but in short, I feel this is a really good idea. It doesnā€™t have to be written in stone, things will get pushed all of the time. But a list of short term and long term goals would make a HUGE improvement to allowing us contributors to see if what we are trying to submit, aligns with where the team is heading.

I do to, and thatā€™s fine. But a discussion was opened on it (during the experiment phase), clarification is key. We canā€™t just assume intentions and I feel like we repeatedly are asking for clarification after an initial response is made (example: the glyph discussion only got clarification after 3 responses were made by the team, if the 2nd response was https://meta.discourse.org/t/right-arrow-missing-from-outgoing-post-links/20117/23 it would have saved a lot of time).

Just my observation here.

1 Like

Allow me to briefly summarize, since I re-ignited this discussion 4 days ago:

9 Likes

I believe those 215 peopleā€™s contributions give more power to core team. Those contributions didnā€™t take power from them.

Iā€™m afraid of you would accept ā€˜powerā€™ as ā€˜dirty politicsā€™. Please accept it as ā€˜trustā€™ and ā€˜believeā€™

All of us, Discourse user, especially 215 contributors are continuously giving them trust. So it would be quite rude if anyone saying ā€œOK, you guys well done. But, from now on, you must show me exactly what is going on here. What is next plan? Give me briefing right now.ā€

I donā€™t believe there is two-class contributors. There is one development unit and others. Think Discourse team as one unit. Why? Because they build this thing as one unit at first. The unit is communicating with us quite well. I donā€™t think we should look at their every single brainstorming. If we do, we would be looks like ā€¦