简体   繁体   中英

Application chat character limits?

I'm building a MEAN web application which I hope to deploy on the open internet sometime soon. Part of this application includes a chat feature supported by the awesome Primus abstraction layer backed by WebSockets . As I was coding up the chat modules, the question came to mind of whether to impose character limits on these messages.

I concluded that it's probably good to have some limit, but I have no idea how to go about deciding what that limit should be. Should it depend on the beefiness of my server(s) at all? Should I just pick some reasonable limit? What exactly is considered a reasonable limit, and why?

How do web giants like Google and Facebook decide what the chat character limit should be for their applications? Does someone just say "hmmm this seems reasonable", and that's it?

Some additional Google searching turned up some things like this question about Jabber chat limits , A request to increase the chat character limit in the Blade and Soul MMO , and this comment about Twitch chat character limits , but I haven't seemed to be able to find anything that indicates what a typical chat character limit is for web-based applications, or why they are limited the way they are in the first place.

I know that in the past myself and others I know have hit seemingly unnecessarily short character limits on some chat applications. This can become a major annoyance, particularly when trying to copy and paste a significant amount of information. I want to avoid that annoyance for my users while still protecting the integrity of the server and bandwidth, keeping in mind that some users may be using the application with network usage limits and such.

EDIT

The application I'm working on is a game, but a game that would at times involve some significant diplomacy and strategic discussions among players. Having a specific suggestion for that use case would be helpful, but it would obviously be much more helpful to have some underlying principles to guide chat limits on all kinds of applications.

This really depends on the use case of the Chat. I mean if your Users should keep their messages short (Like Twitter or something) then you should make it quite short like 150, 250 or something like that.

If your users shall discuss stuff, then you'll need a way more characters like 5000 up wards.

Limit Standard

Well, there is a standard (I don't remember the name, I will searh it) that says the character limit for email is either 50, 64 or 72 (I recommend the first one), for a name the limit is 96; and for a message it depends, it could be 256, 512, even 625. Google published two years ago a manifest on design where it says something about this. I use this standard in my own website , where I have a chat app.

Reasonable Limit

Going back to your question, the "reasonable limit" depends on the context of your app. Think about this: what is it for? What kind of messages will the user send? Does it need to write his/her email? A crazy approach could be removing the limit and with some help of analytics tools see the average length of the inputs. Hope this helps you.

I concluded that it's probably good to have some limit, but I have no idea how to go about deciding what that limit should be. Should it depend on the beefiness of my server(s) at all? Should I just pick some reasonable limit? What exactly is considered a reasonable limit, and why?

Keeping limit on things is good and the reason why they should be done can be broken into many pieces. I will explain this in points and in step by step manner as I answer your question sequentially.

How do web giants like Google and Facebook decide what the chat character limit should be for their applications? Does someone just say "hmmm this seems reasonable", and that's it?

Facebook and Google wont go about deciding upon things without a lot of thought put into it. First thing first, when you start something the major factor for a project is feasibility, of course such things wont matter to giants like Facebook and Google in terms of resources that they have available but they also make sure that limitation is there in case of misuse of the system.

Factors on which the focus should be

  1. Feasibility - You must think about the availability of resources that is available at your disposal. As you haven't actually know what the user base size would be any numbers cannot be put in from my end therefore I'd suggest you to foresee what actually your user base would be and how much of data can you actually handle such that you don't hamper the efficiency and user experience, as in, the system's response time has to be good because you are working with real time system. Take a look at factors that affect your memory consumption as you are making use of direct peer to peer connection based on server side which acts as middle point of the communication it sure utilizes your CPU's memory.

  2. User Experience - What actually your use case is, concentrate upon that and after initial decision you cannot sit upon it for ever. Google etc. have forums that has a lot of activity and based on feedback they change their system and introduce new feature and that is how things work in real world. When a system in put into real world the changes have to be made depending on your user's choice. Make a simple research on what actually user would like in your case and that might help you to take a decision.

  3. Restrict Abuse of the System - Let's say you have famous chat application and somehow you forgot to put any limitation on anything now some notorious guy just made a system to abuse your application via botting system. Now, he can post 10k messages in every transaction with n number of letters in each of them and at some point of time your system will crash. So keep in mind that as well and make sure you take care of securities and spam detection.

Conclusion : Main thing is your use case and then the feasibility, they both must go hand in hand. What the user wants and what you can offer to them is main deciding line. Take precautions and make rules that mark individuality of your system.

Update : Let's take two examples

  1. Twitter has published a blog post that they are testing a version of the product that has increased character limit. N numbers of people have raised concern against the same, why? (Check Articles) The reason being people don't want the unique experience to end, Twitter was not made to share articles according to many and that is why it'll take time to strike the balance.

  2. Stack Overflow's limit on characters in case of comments, why? The limit serves the purpose as they don't want you to paste articles and answers in comments. And then there is limit of minimum characters as well to reduce spam.

The update was just to build a bridge between the theory I gave and it's practical application.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM