Telegram groups: untangling the mess

Telegram groups: untangling the mess

riccardo

Being a Telegram user since its early days, I've had the luck to witness its evolution from a pretty simple and fancy alternative to WhatsApp, to a fully fledged messaging app, which often sets the trends that will eventually be adopted by its competitors months (or even years) later.

Among all the cool things that make Telegram such a loved messaging platform, group chats and their unique features are probably one of the most appreciated ones. Groups on Telegram are very powerful: they allow to pin important messages, to ban or limit users from doing certain things, to appoint new admins and set their moderation abilities, to decide whether or not to share the chat history to new members, and a whole lot of other stuff (seriously, the list is really long). Despite all these features, groups on Telegram are as familiar as any other group chat on a competing messaging app, so it won't be a pain for your circle of friends and your family to hop in a Telegram group - while still offering a pretty extensive set of tools to the administrators of public groups with thousands of members. </shill>

But enough with the praising - Telegram chats haven't always been as cool as they're now, of course.

A short history of Telegram group chats

TL;DR: In 2015, Telegram introduced a new type of chat - called "supergroup" - which was intended to be a more powerful spin of normal group chats. At the beginning, you had to explicitly upgrade a group chat to turn it into a supergroup - but this was hella confusing for new users who didn't experience the introduction of supergroups. To fix this and avoid some of the abiguities caused by the existence of two types of groups, starting from 2019, Telegram apps make all groups look like they are supergroups - but underneath, they didn't drop the "upgrade" mechanism: all new chats are still created as normal groups, and are silently upgraded to supergroup when some events happen (see the next paragraph "Actions that trigger the conversion").

At the very beginning, Telegram groups were pretty bare-bones and not as cool as they are today. Each group had its unique administrator (that is, the user who created it), which was the only member with the ability to remove users from the chat (which then could join again - they were not banned, they were simply removed). There was no way to appoint new admins or to transfer the group ownership (if the creator decided to leave the chat, the group was simply left unmoderated), it wasn't possible to delete, edit or pin messages; every member was allowed to add new members (invite links were not a thing until middle-2015), and each group had a maximum of 200 members. None of this was configurable, of course - this was group chats' earliest stage. One might say that Telegram's public chats, in their early days, were pretty wild - and they would be right in saying so.

Supergroups were introduced in late-2015. This is when everything changed, and also when the fun began. Supergroups were introduced as a new type of chat - which was radically different from the good old group chats that have been available until then. Supergroups, underneath, are (to put it simply) channels were every subscriber was allowed to send messages. They are optimized for a large amount of members and, probably, are easier to maintain and extend for Telegram's engineers. Supergroups, at the beginning, allowed up to 500 members (a number that was raised to 1000 shortly after), and brought a bunch of long-awaited goodies: they allowed the owner to promote new admins, deleted messages were deleted for everyone, removed users weren't able to join back unless invited by an admin, new members were able to see the whole chat history. But, how did you create a supergroup? Well, it... simply wasn't possible: users were allowed to create "normal" groups only (from now on, the legacy type of groups will be referred to as "normal group" or "basic group"). Once the members limit was reached (200 members), an option in the chat's details screen would appear, allowing the chat creator to upgrade the group to a supergroup. When a group chat was upgraded, a service notification in the chat would show up - telling its members that the group has been converted to supergroup. When an upgrade happens, behind the scenes a new chat (a supergroup) is created, and is linked to the original normal group. So basically, after the upgrade, the chat members will be chatting in a completely new chat - the Telegram apps mitigate the shock effect by merging the two chats' histories.

I will now proceed to mention some of the updates that most influenced this duality between normal groups and supergroups.

A new supergroups update in 2016 raised the members limit to 5000 users, and introduced pinned messages and public usernames. Also, it was now possible for the creator of a normal group to convert it to supergroup right away, without the need to fill it to its limit members capacity. In mid-2017, Telegram introduced the ability to edit admins permissions (removing users, changing the group info, etc.) and users permissions (sending messages, sending stickers or gifs, etc.) and raised the members limit to 10k. Admins' badges were introduced in late-2017.

In 2019 Telegram 4.9 raised the members limit to 200k (which is the current limit) and introduced the ability to configure the members permissions at group-level (and later again in 2019 we got messages links). But most importantly, this update tries to flatten the differences between normal groups and supergroups, and also tries its best to hide the existence of these two types of chats. The idea is that the user should never realize the existence of two types of group: the differences between them was too confusing for a lot of people. But how do you hide that? With this update, Telegram tries to achieve its goal in three ways:

  1. by extending what normal groups can do. Since supergroups were introduced, all the new features I've listed earlier were meant to be a supergroups-only thing. Normal groups received almost no new update - beside the ability to appoint new admins (without the ability to configure their permissions) and to edit or revoke messages within 48 hours from when they were sent. With this 4.9 update, normal groups were updated to support pinning messages and setting the default permissions for all the chat members.
  2. by showing in the apps' UI (almost) all the options that are supported only in supergroups (group chats are still created as normal groups by default).
  3. when the group creator performs some actions (which are described later) - or the group reaches its limit of 200 members - a normal group is automatically and silently upgraded to supergroup, and no one will notice (actually, there are still some ways to figure it out on your own - more on this later)
A small step forward in time for a little trivia: in June 2019 Telegram introduced location-based chats, which are created directly as supergroup. This is the only instance where an user can create a supergroup without first creating a normal group to later convert to supergroup. However, this exception cannot conveniently be "exploited" to directly create supergroups: once a location-based chat has been created and bound to a geolocation, it cannot be converted to a "location-less" chat.

This is it, for now (05/01/2022). You can read a more technical description of how the migration from group to supergroup should be handled by Telegram clients from the API specs about channels.

Actions that trigger the conversion

As we said, there's a bunch of actions that will trigger the conversion of a normal group to a supergroup. These actions or events are:

  • the group chat reaches 196 members
  • the group owner changes the chat history visibility
  • the group owner set a group's public username
  • the group owner the permission of a chat member
  • the group owner the permissions of another admin
  • the group owner changes the admin title of an admin
  • the group owner activates the slow mode
  • the group owner links the group to a channel
  • an administrator creates a sharable link for a folder that includes the normal group

As you might have already noticed from this list, there's only two scenarios where the group is upgraded without the involvement of the chat owner (that is, the user who created the group) - everything else are actions that, in normal groups, can be performed only by the user who created the group. The chat owner was effectively the only user who could trigger the group conversion on purpose, until the introduction of sharable folders (v9.6, April 2023).

source

"Is this group a normal group or a supergroup?"

There are some ways to know whether a group chat has been upgraded to supergroups or not:

  • try top copy a message's link. If you can, then the chat is a supergroup
  • if you can see an admin's badge, the chat is a supergroup
  • if you can't delete other people's messages, the chat is a supergroup
  • when deleting one of your messages, if you don't see the "delete for everyone" toggle, the chat is a supergroup
  • if the chat has an username, if there's a slow mode set, if the chat has more than 200 members, then the chat is a supergroup

Other differences or limitations

There are other differences between normal groups and supergroups, which are more subtle:

  • when you are removed by an admin from a supergroup, the chat will disappear from your chats list. With normal groups, on the other hand, you will still see the chat in your chats list, with no message inside (removing someone from a normal group with a Telegram app pre-version 7.4 will let the user reteain their messages and medias history)
  • when you purposely leave a supergroup, it will disappear from your chats list. When you leave a normal group, it depends - most Telegram apps will delete its history and you will no longer see it in your chats list, but some apps allows you to choose whether to keep the chat history or not (eg. Telegram X)
  • when you add an user to a supergroup, he may or may not see the chat history, based on the group settings (see all/see nothing). If the supergroup is public (public = has an username), new members will always see the whole history. In normal groups, when an user joins from an invite link, they will not be able to see the backlog - but if they're added manually by another member, they will see the most recent 100 messages sent in the chat before they were added (unless the member who added them is using Telegram X for Android, which allows to choose how many old messages to show from some fixed values: 15/50/100 messages/no message)
  • you cannot reply to (or pin) a message that belongs to the chat history of a group before its conversion. That's because, as I mentioned earlier, they are actually two different chats
  • when an user joins a supergroup, he won't bee able to see its messages history before the conversion
  • since Telegram 7.1, supergroups let you see the discussion thread a single message generated, when you tap on the root message of a discussion. If the supergroup is linked to a channel, also, it's possible to access this thread view from every message that belongs to the discussion. The root message of a replies chain will also show a small icon indicating how many messages belong to the discussion the replies to that mssage generated. All these stuff are not available in normal groups
  • Telegram 8.7 introduced the ability for group owners to delete a chat's messages history for everyone, but this option is available only in supergroups. It would be technically possible to add this option for legacy groups too, but the only client that has done it is Telegram X (as of version 8.7.4 (mobile) and 3.7.5 (desktop))

In addition to these, this is a list of issues on various Telegram apps caused by the group-supergroup upgrade mechanism.

Supergroups as the default, why not?

Telegram limits the number of channels and supergroups an account can join to 500: apparently, supergroups' implementation requires much more resources to be allocated on the server, hence normal groups still being the default type when you create a new group. Also, the current underlying groups architecture makes it quite troublesome to implement some legacy groups-only features in supergroups. This has been confirmed by Admin Dog, that is, the administration account that moderates Telegram's Bugs & Suggestions platform. These are some quotes from some of their comments left on the card suggesting to phase out normal groups:

it would have been nice to only have one type [of group], but you may have guessed that there are technical reasons why things are different now – and for the existing limits
The point is that basic groups have a significantly lower overhead. I did say that it “would have been nice” to have just one type [of group] – but it would also have been nice if jets could fly without burning fuel.
Because the things that change it are either not possible in the underlying architecture of the basic group, or are significantly more difficult to implement, or are unlikely to be useful for anyone in a small group. The current system works pretty well in the vast majority of cases. There are some inconveniences when it doesn’t, but these cases are not significant enough to warrant an overhaul of the scale that would be necessary to change it. One of the reasons Telegram pushes 10-12 major updates a year while others manage one of they’re lucky is that Telegram doesn’t move mountains to improve the view in just two windows of a high-rise building.

Solving this architectural issues would probably enable Telegram to let users create supergroups by default (and to finally phase out normal groups too - little known fact: Telegram's protocol has always supported direct supergroups creation), but, quoting Admin Dog, Telegram doesn’t move mountains to improve the view in just two windows of a high-rise building.

Report Page