Loomio

Proposal to revisit extending the character limit for posts

Evan Boehs PublicSeen by 297

In 2022, a proposal to extend the post limit limit was opened, and while it yielded fruitful discussion, it never entered a formal voting stage. I frequently find myself running against this post limit, and many other instances that we federate with have a limit that is much higher.

To kick start discussion, here are my notes on the previous thread:

Pros:

  • Many servers already have this

  • Very little storage burden

  • Makes it easier to post longer things

Cons:

  • Additional maintenance burden as we would need to switch to a fork (which could have it's own pros/cons), or apply a minimal patch to the mastodon codebase to extend the limit (Basically just replacing a few `500`s with whatever `x` we decide)

  • If people don't like longer posts, the local timeline could be marginally worse (the federated timeline already experiences this).

I will open the floor for discussion and then begin a voting phase. For clarity, the two questions at hand are

  1. Should social.coop extend the character limit?

  2. If so, what should it become?

Eliot Lash

I would like to hear from the tech working group before taking a vote as I think having to run a fork will impact them the most. It could delay upgrades having to wait for a fork like hometown to upgrade after an upstream patch, or manually maintain a custom fork. And if we switch to a different fork there's also the risk that the fork may become orphaned by its maintainers. Not sure if this is worth the extra effort even though it may be nice in some situations. I think there also is value in maintaining the 500 character limit in keeping posts terse and maintaining the "microblogging" feel.

Evan Boehs

@Eliot Lash it's also worth noting that hometown seems to have fallen off in the past few months, it's currently running 3000 commits behind the main codebase. Unless there is another fork, if this was to be done it would probably be in the form of a patch

Eliot Lash

@Evan BoehsThanks for the info, this is a great illustration of the issues that can arise from switching to a fork!

Evan Boehs

@Eliot Lash I cannot overstate that this proposal is not advocating for switching to a fork, persay. In my below replies, I've detailed how this change likely could be implemented by running one line of code before deploying a new version. In my opinion, it would be much more constructive to discuss the social ramification of this change than the technical, because at least 50% of the discussion thusfar has been on that, before we've even heard from TWG!

Eliot Lash

@Evan Boehs That's useful to know but I would argue that a one-line patch is still a fork. It's a simple one to be sure, but it could still break as it's not making a change based on public API or officially supported configuration. If the patch breaks in future updates, it will still fall on the TWG to fix, test, and maintain it. So I don't feel comfortable signing them up for this responsibility unless they have a consensus that they are willing to take this on.

Evan Boehs

@Eliot Lash That's fair enough. I just want to avoid the negative connotation that comes with the "fork" territory of things becoming unmaintained and diverging in ways that we cannot control. Of course the input from TWG is the most important, but I don't want this technical discussion to distract from the social one. Ultimately the technical is a binary "TWG is ok with this" or "TWG is not ok with this", wheres the social one is

  1. Is a majority of the community ok with this

  2. If the community is ok with this, what should the new value be

Which is a lot more nuanced

Matt Noyes

I agree with @Eliot Lash This is really a proposal to switch to a fork of Mastodon, with all that implies. Hometown has been suggested repeatedly over the years, as have others. It makes more sense to me to explore moving to a fork first, then consider raising the character limit. We recently discussed this in the CWG Ops Team and agreed that it is an option the group should explore.

Evan Boehs

@Matt Noyes

This is really a proposal to switch to a fork of Mastodon

I'd like TWG's input on this because as I noted below, it appears that all code paths referencing the character limit tie back to StatusLengthValidator::MAX_CHARS, which is a constant that could be changed programmatically. If it is this simple, this is not a proposal to switch to a fork.

AG

Hi, thanks for your suggestion. For what it’s worth, I am very strongly opposed to any expansion in the character limit – as it is, when I encounter longer posts on other instances, I generally skip them.

Reading a long column of relatively narrow text on a mobile device isn’t simply tiresome on the eyes – though it is that, very much so – but also feels somewhat unneighborly to me, as though it were making a disproportionate or even obnoxiously presumptuous claim on attention. By contrast, I like being able to set only the first post in an extended sequence of thoughts to Public, and the subsequent ones to Unlisted, letting those who encounter the thread determine for themselves how much of the ride they wish to go on.

I acknowledge that much of this is in the realm of personal preference, but the exhaustion entrained by a rapid saccade down long narrow columns of text is a known usability issue of long standing. It would be nice if we didn’t inflict that on people without some very sound justification.

Luis Villa

@AG Agreed heartily. I actively skip longer posts, both because the UI for it is bad, and because it’s simply not what I want when I’m using fedi. The activitypub plugin for wordpress is right there if someone feels the need to put blog-length posts on fedi :)

Matt Noyes

@AG I agree and I find it helpful to have to pare down my posts to 500 characters.

Deleted account

Seconding @Eliot Lash 's comment! I would want to defer to the tech working group about this. If they can confirm that merely patching our otherwise default mastodon instance is both the right solution and easy to maintain, then I think we can have a clearer conversation about whether extending the post limit is something we actually want. Since currently this conversation is about two things simultaneously.

Assuming that TWG confirms its easy though, I would very much support extending the post limit. Most mastodon clients already but long posts behind a fold, so I don't see how this has any drawbacks. My personal bias is that I think character limits below approximately 1000 artificially constrain discussion enough that it meaningfully and negatively impacts expression, incentivizing hot takes and flattening nuance.

Evan Boehs

@maren - stillgreenmosssocial.coop for what it's worth, I just skimmed the codebase and it appears that all references to 500 tie back to this file, including in the frontend. If it is really as simple as changing 500 to something like 1500 in this one specific spot, this feels like the right way to go, it could be potentially as simple as:

sed -e "s/MAX_CHARS = [0-9]*/MAX_CHARS = 1500/" ./app/validators/status_length_validator.rb 

(note: untested)

Jonobie Ford

Like others, I'd want the TWG to weigh in. Socially, though, I have drifted in my thoughts - I originally found 500 a nice forcing function, but now feel like something in the 1000 range would be nice. Like others, I don't want it "too long" (and acknowledge that's completely subjective when it flips over). But I'd like something along the lines of 1000 characters.

Evan Boehs

@Jonobie Ford Agreed. Usually I find myself about 100-200 characters over, so anywhere between 750-1000 would be ideal

Kathe TB

Got to admit that I would be against extending the character limit because I personally find creativity in that limit in my posts. It's hard to be brief. Practice makes it easier.

I would also agree with only taking on this change if we have someone willing to maintain that fork.

Jay

I wouldn’t want more characters, and even if I did, I wouldn’t want to burden the tech group with the extra work that it would entail.

Hollie Butler

I'd vote for a longer post limit. If you already skip longer posts, that's great - no one is asking you to write longer posts, you're free to keep skipping them. Increasing the limit won't affect your habits, but it will be very beneficial to folks who need more space. I enjoy longer posts, both reading them and writing them, and wish that it were easier.

It's rare (like a handful of times in the last 18mos) I see anything longer than 800-900 characters - and Mastodon has auto-collapsed those, so it isn't like I'm looking at an essay all at once, I have to open the post to read it all and it's easy to skip if I'm not interested. But if that's the fear, and it's that easy to change the limit, why not shift it to 1k characters (rather than 10k or whatever)?

CedarTea

Personally, I'd like a bit more room in my posts. I often end up having to thread pretty heavily when I get into discussions with people. It's one thing to do in my own isolated posts I'm throwing out into the fedi, but the 500 cap makes it pretty tedious to have conversations. Relaxing this out a bit, even to 750-1000, would be a big improvement to my experience. Though I consider all of that moot if the TWG says it'll be a big deal to implement and maintain.

Brian Vaughan

My experience as Twitter increased its character limits, and then as I moved to Mastodon with its higher default limit, is thaf my posts have tended to become longer as the limits increased. It has an effect on the style of my writing and on the flow of conversation.

My feeling is that 500 characters is about optimum; I can express a thought with sufficient context that I find that simple misunderstandings are rare. It feels relaxed to me.

This is all subjective, and I'm not strongly opposed to an increased character limit.

Derek Caelin

I personally enjoyed having a 1000 character limit previous servers - it gave more space to ruminate and to provide full quotes from the book I was reading. But it seems like adopting a fork of Mastodon is a high-effort task to undertake for that convenience. I advise that we should only take on a migration if there were other benefits we felt necessitated a change (and we felt that maintenance costs would not go up as the result of adopting a less-well-maintained fork.)

Eduardo Mercovich

As others, I would very much enjoy a higher char limit. Also, I understand that it takes almost nothing from keep our writing as compact as we desire.

With that in mind, as other too, I would very much like to know from the tech working group (TWG) how much effort is maintaining that patch (however small it can be).

It could be good to weigh this with the possibility of changing from Mastodon (Md) to Hometown (Ht), since Ht not only includes the char limit as a configurable variable, but also adds a layer of publication that currently in Md we don't have: the community. In Ht you can publish to the whole Fediverse, to your community, to your followers, or mentioned ones (DM).

I think (based on reading, not direct experience) that this would add a valuable space for Social Coop and -indirectly- to our use of the Fediverse as a social communication tool/space.

Best...

Evan Boehs

We discussed this at the TWG open house. There are a number of next steps and challenges we identified:

  • Mastodon is deployed from Docker, so we'd need to maintain our own image

    • It's deployed with Ansible and Mastodon is in Ruby, so theoretically we could livepatch in deployment using `docker exec`

    • If we go this route, we should run an alpha

  • Mastodon recently reduced the hard coded locations to one place here: https://github.com/mastodon/mastodon/pull/28928, but there is still no ENV. My action item is to research why it is this way, and potentially nudge it along.

    • This consolidation hasn't even yet landed — will in 4.3, so revisit then.

Once we get to a place where it is technically feasible (by completing either one of ^), I will run a poll to decide if a change should be made.

Steve Ediger (ChiCommons)

Having read through the thread, I'm inclined to leave things as they are, pending feedback from TWG. Anything that requires touching whenever updates are received, while not a fork, certainly involves one more thing to track and deal with. Since it's possible to break posts up, I recommend this for those who want to write longer posts.

Kenneth Been

I feel that this proposal requires a deeper discussion or maybe explanation about what social.coop's role is in Mastodon and what Mastodon's role is in the fediverse and what, really, is the fediverse? If I can follow anyone on the fediverse then why does there need to be a Mastodon at all? I come here for micro-blogging, not blogging or videos or whatever, so is it simply my responsibility to only follow people who micro-blog? Or is it an essential function of Mastodon to pre-filter the fediverse for me to make it easier to limit my view to just micro-bloggers? Or is there some other essential function of Mastodon? I genuinely don't know the answers to these questions.

Dynamic

@Kenneth Been

I could be misunderstanding something, but I don't think that filtering to just microblogging platforms is even an option (unless we wanted to explicitly block non-microblogging instances, which I don't think is an idea anyone has suggested).

Kenneth Been

@Dynamic

I'm not proposing that! I'm saying that the question of what character limit we want is related to the question of what Mastodon is, vis-a-vis the fediverse, and I don't understand that very well so it's hard for me to speak intelligently about the proposal. Since we can interact with non-Mastodon fediverse posts via Mastodon, what makes Mastodon Mastodon? And would expanding the character limit diminish whatever that is?

Dynamic

@Kenneth Been

I didn't think you were proposing it, but it sounded like you were attaching that question to the question of whether social.coop should increase our word limit, which seemed strange and made me wonder if we had a different understanding of what is being discussed here.

dyani

I agree with increasing the character limit. For some of the responses here against it, I see people are mentioning reading other's long posts as a reason against, but reading is optional. You can scroll past long posts of your own free will. So that isn't a good enough reason to not increase the limit, to me.

I notice the character limit most when I am trying to have conversations with others, which is my favorite part of mastodon. I think longer character limits foster deeper connection. Connection and conversation are indicators of something good, IMO. And I also really love when I see that "read more" link. I love opening up a long post to see what someone has written.

I do still see how it's fun to try and craft a message in fewer characters as a way of challenging yourself creatively, but again that could be something you impose upon yourself, much like scrolling past longer posts by choice (if you see that "read more" link, you can scroll on by). It could be your choice to do that even with a longer character limit, without impacting those who do want a little bit more room to express their thoughts.

That said, it's not something I care enough about if the technical side is too much effort.

Hollie Butler

Also keep in mind that you don't actually see longer posts - you see a post that has a link at the bottom that says, "Expand to see full post". It's incredibly easy to ignore for the folks who want to ignore those. Just don't read the longer ones if that's your preference.

Breaking posts up - especially when you have one full post and then two sentences on the next - is clunky, visually jarring, and can be confusing when someone is reading something and is forced to cobble together the context by clicking through and reading up. Breaking posts up also makes POSSE and FOSSE complicated when you write a post somewhere else and then you can't cross-post properly because your post was 529 characters.

Expanding the character limit would very positively affect some members and be entirely neutral to the rest. If you don't want to post longer posts, then don't. There is no down side to this - unless it's a tech issue, which as far as I'm aware, the Tech Group hasn't commented on this? Did I miss it?

Evan Boehs

@Hollie Butler I represented the tech group here: https://www.loomio.com/d/C4HKmTOa/proposal-to-revisit-extending-the-character-limit-for-posts/23

Basically:

  1. Mastodon authors are somewhat hostile to configurable character limits

  2. And yet in the next mastodon version, they will make our lives easier to do it anyway, but not completely easy

  3. Due to docker, its a little harder, but potentially possible

  4. Somebody (me; or you (gestures widely) can beat me to it) can use a test server to try it out.

Edit: I opened https://github.com/mastodon/mastodon/pull/30091. Feel free to lobby there ;P

Changing the character limit to 1000

proposal by Evan Boehs Closed Mon 13 May 2024 7:00PM

Outcome
by Evan Boehs

We will extend the character limit to 1000 (soon)

There was a roughly 60%, 15%, 25% split between Agree, Abstain and Disagree. Agree recieved a majority. Arguments in favour of agree included the annoyance of dealing with threads & the difficulty of conversation with the limit. People who abstained noted that we already federate with servers using higher limits. Disagreers tended to value the process of revising their writing to fit under the limit, and argued that Mastodon is poorly equipped for longer posts.

TWG needs more time

We have a number of action items:

  1. We’re working on deploying alpha.social.coop to test this and other future changes against our deployment scripts

  2. On a more personal note, I’m being onboarded to the TWG, and I will eventually get access to the test server to help spearhead this change (I won’t added to the production server at https://social.coop without a vote)

  3. Once the alpha is working, we will apply it to the main server. Once that happens,

This is not set in stone

(great segway, I know). I will call everyone together in give or take 3 months after this change happens to ask questions like:

  1. (How) has this changed the way you interacted with Mastodon

  2. (How) has this changed the culture at social.coop

  3. If you noticed changes, are you happy with them?

If someone thinks that the consensus has shifted towards wanting it back to 500, this revisit would be a good opportunity to get the ball rolling on that.

Introduction

The TWG has met, and we have discussed our options to implement this proposal. On a test instance, we successfully modified mastodon automatically and in a manner that can be reverted easily — within minutes (for the technically inclined: we deploy mastodon with immutable docker images. Each time the server is restarted, it reverts to the image's original state. We modified the entrypoint script to modify files, but when the server restarts, the files reset)

Technically sound

From a technical perspective, this is something that can very very likely be done with a maintenance burden that is acceptably low.

A few community members raised the potential for unforseen consequences. Last year, a character limit survey was conducted, which found that 22% of servers already changed this value. We find it likely that if there were technical problems, they would have been encountered on one of those servers. We already federate with many servers using higher limits, meaning we've already tested our storage capacity.

Culture

This means that what remains is cultural. Its a question of if you feel like a change would make your experience better or worse. Another group of people in the discussion phase raised concerns over the value being set too high. I believe that an increase to 1000 would be a good starting point, as a number of people voiced support along those lines. For reference, here is a preview of a 1000 character toot:

So that's the question:

Would you support increasing the character limit of social.coop to 1000?

For this proposal to pass, we need the majority of members to vote Agree.

If you Disagree, say why and what needs to change for you to Agree.

Results

Luis Villa
Disagree

I think the character constraint promotes concision and keeps the feed readable. A change of this size makes it less social, more blog-y.

Luke
Agree

Agree. Leaves it open for people to post below 500 or ignore 1000 character posts by others. 1000 is still short.

Sam Whited
Disagree

I'd like to see us manage another service for longer-form posts; I don't think Mastodon is a good service for longer form stuff. Bonfire or write.as may be better, and we have a bonfire instance in testing, so it's worth waiting and seeing if that covers this use case.

Evan Boehs

@Sam Whited its hard because I think there's a big difference between write.as levels of content length and 1000 characters worth of length. I specifically run up against this limit a lot when engaging in conversation with others, and it is unclear how effective the context switch from mastodon to one of these services would go mid conversation, if it worked at all. That being said, I would also be quite interested in offering write.as to social.coop users in the future

Katanova
Agree

I find that 500 characters is often too short to convey everything I want to.

Luke Opperman
Agree

Thank you for evaluating the technical maintainability. In federating with other users who have longer limits, I have not been bothered by posts that elide to "read more" as a useful minority of posts, and have found it conducive to an easy to read feed compared to reply-threads-due-to-limit, so I am in favor.

Jonobie Ford
Agree

Many thanks to the technical team for testing this out! I am for this from a cultural perspective.

Abdi-Hakin Dirie
Disagree

Disagree. Brevity is a virtue. I predict a Parkinson's Law effect where people will use more characters expressing the same idea/opinion/etc simply because more characters are available. >500 char posts can be turned into threads, which I find useful for semantically dividing the thread, kinda like paragraphs.

On the technical side, the 1000 limit seems to be proposed as a trial run, but based on the conversation, will require a fork. That seems like a lot of work for a test run.

Abdi-Hakin Dirie

If this happens to not pass, I propose the following scheme for further investigation: get a sample of threads (including length-1 "threads") across the instance for the last N months, and compute the median character count. If that number is far greater than, say, 1.5x the 500 limit, then I find that cause to raise it to what would be a more empirically grounded number. (And who knows, maybe we find shorter is preferred!)

Evan Boehs

@Abdi-Hakin Dirie I do not contest your concern in the first paragraph. I've certainly edited my posts down to meet the limit. Sometimes I wasn't able to (and made a thead), but sometimes I was. But in regards to the comments on technicalities, its not really a fork. Its running the following code each time the server turns on:

sed -i e 's/500/1000/g' [trimmed]/compose_form.jsx && sed -i -e 's/500/1000/g' [trimmed]/status_length_validator.rb && rails assets:precompile && /start.sh"

The objective of the proposal was to make a decision assuming that there is no technical complexity, only social ones. If this change is implemented and we later decide we don't want it, we can just remove the first few lines of the script and all is well.

Edit: and in regards to your suggestion, this is a great idea, if someone wanted to take it on and/or if I get around to it. Also, if we did try 1000 characters, it would be interesting to see how the median changes.

Edit edit: or, really, we could do this study before trying it ourselves by looking at other servers (though this might be a chicken or the egg / correlation vs causation situation as something like "writers.social" would be expected to have a larger limit)

Abdi-Hakin Dirie

@Evan Boehs Thanks for the clarification. My vote still stands, but I'm glad to know it's easy to undo should the collective decide so later.

Eduardo Mercovich
Agree

We already discussed a lot and it seems a quite safe limit to try and see what happens. If anyone's experience is hurt, how the automatic fold appears, how much more expressive we can be. As for me, let's go ahead and try it. :)

Deleted account
Agree

I think 1000 characters is a fine balance between the inconvenience of threaded posts and long-form posts.

Django
Disagree

I would much prefer a stable fork such as hometown or glitch that not only increases character count but crucially also collapses/truncates longer posts in the timelines.

Evan Boehs

@Django in response to this comment, on our test instance, no changes were made other than increasing the limit to 10,000. The lorum ipsum text was repeated 10 times. This is the result:

In other words, stock mastodon already supports collapsing long posts.

Still, at the 1000 limit, the collapsing behaviour would not be observed anyway (for all local posts, anyway). We've discussed both hometown and glitch extensively as a TWG, and the conclusion always is that we're going to need to have a more nuanced discussion with the community (a discussion that is entirely independent of the character limit). All in due time.

To further understand your response, are you stating that you are overall against extending the limit, or that you are for the limit increase, but only if it is paired with a fork? Does the fact that stock mastodon supports collapsing posts change your opinion?

Django

@Evan Boehs thanks for your response, i appreciate the TWG work testing out the possibilities.

I will revise my answer

Randy Hall
Agree

I don't see this as a downside. I think that "show more" capabilities of Mastodon/ActivityPub clients do a lot toward making the viewing experience more opt-in already. If someone points to concision of posts, they clearly don't bother reading threads where poor souls have to append 2/n endings to their posts to chain them together. 1k character limit will ostensibly cut down on some of that.

Scott Feeney

@Randy Hall I do read threads (if they interest me) and use the excellent Phanpy client which orders and numbers them. https://phanpy.social/ Still find it helpful to have a single concise post introduce the thread. It's like a title/summary that lets me know if I want to read on. Long individual posts, especially if appearing by way of a boost or hashtag follow, take too much time to evaluate what they're about and if they're interesting.