WEBVTT

00:00.000 --> 00:01.599
Hello, my name is Gabriele,

00:01.599 --> 00:03.439
and today I'm going to tell you about Telega

00:03.439 --> 00:05.600
and the Emacs community on Telegram.

00:05.600 --> 00:08.400
I'm not affiliated with Telegram or Telega,

00:08.400 --> 00:10.719
and opinions are my own in general.

00:10.719 --> 00:14.160
I'm going to give you my personal spin about these topics.

00:14.160 --> 00:16.160
The plan for the talk is the following.

00:16.160 --> 00:18.800
First, I'm going to talk about what is Telegram.

00:18.800 --> 00:19.840
Next, I'm going to tell you

00:19.840 --> 00:21.840
about the Emacs community on Telegram.

00:21.840 --> 00:24.720
And finally, I'm going to discuss telega.el,

00:24.720 --> 00:26.560
an Emacs package for Telegram.

00:26.560 --> 00:29.359
In all of these, I'm now going to dive into details.

00:29.359 --> 00:30.880
My goal here is to give you

00:30.880 --> 00:33.120
some exposure about these topics.

00:33.120 --> 00:35.840
You can find out more online, if you want.

00:35.840 --> 00:38.960
Let's get started with what is
Telegram.

00:38.960 --> 00:41.100
Telegram is a cloud-based

00:41.100 --> 00:42.879
instant messaging platform.

00:42.879 --> 00:44.079
It's a popular one.

00:44.079 --> 00:46.559
It has more than half a billion users.

00:46.559 --> 00:47.840
I think one of the reasons

00:47.840 --> 00:49.600
why it's so popular, it's because

00:49.600 --> 00:51.360
it's really rich in features

00:51.360 --> 00:52.960
while being user friendly.

00:52.960 --> 00:54.640
Hence, in some regions,

00:54.640 --> 00:56.960
Telegram has good market penetration.

00:56.960 --> 00:59.039
And of course, because of network effects,

00:59.039 --> 01:01.120
this brings even more users.

01:01.120 --> 01:02.239
The details of the features

01:02.239 --> 01:03.680
is not particularly important.

01:03.680 --> 01:04.879
What I want to emphasize, though,

01:04.879 --> 01:08.400
is that while Telegram is mostly text-based,

01:08.400 --> 01:12.000
there's also support for audio/video calls and notes,

01:12.000 --> 01:13.600
and there's also a lot of features

01:13.600 --> 01:15.119
which typically you find

01:15.119 --> 01:17.360
in other instant messaging platforms:

01:17.360 --> 01:18.479
you can chat with yourself,

01:18.479 --> 01:19.360
you can make polls,

01:19.360 --> 01:20.159
you can make quizzes,

01:20.159 --> 01:21.280
you can schedule messages,

01:21.280 --> 01:23.280
you can send attachments of any kind,

01:23.280 --> 01:25.759
even big ones, and you can send stickers.

01:25.759 --> 01:27.759
Telegram, overall, is quite customizable,

01:27.759 --> 01:30.560
and I would say that the platform is, overall, hackable.

01:30.560 --> 01:32.799
You can expand it with bots

01:32.799 --> 01:35.280
and the clients are open source.

01:35.280 --> 01:37.280
In all of this, we shouldn't forget, though,

01:37.280 --> 01:38.448
the Telegram is centralized

01:38.448 --> 01:39.840
and it is not free software.

01:39.840 --> 01:42.720
Nonetheless, it's still used by a number of people,

01:42.720 --> 01:45.200
and people use Telegram for different reasons.

01:45.200 --> 01:47.200
For example, some people use it to stay in touch

01:47.200 --> 01:48.399
with friends and families.

01:48.399 --> 01:50.560
For this, Telegram offers private chats

01:50.560 --> 01:53.600
or group chats with a restricted number of people.

01:53.600 --> 01:55.040
A lot of people use it

01:55.040 --> 01:57.600
for engaging in online communities.

01:57.600 --> 01:59.439
For this, Telegram has super groups,

01:59.439 --> 02:00.719
which are groups with up to

02:00.719 --> 02:02.159
hundreds of thousands of users,

02:02.159 --> 02:03.360
and has also channels,

02:03.360 --> 02:07.119
which are one-to-many ways of communicating,

02:07.119 --> 02:09.280
so these are ideally suited for,

02:09.280 --> 02:10.959
for example, following news,

02:10.959 --> 02:12.167
all sorts of news.

02:12.167 --> 02:13.680
Telegram also has bots

02:13.680 --> 02:15.840
which can be useful by themselves.

02:15.840 --> 02:17.040
They provide value.

02:17.040 --> 02:18.400
And the chat with oneself

02:18.400 --> 02:20.400
can be used for sending links,

02:20.400 --> 02:23.440
making notes, or sending reminders.

02:23.440 --> 02:24.959
So overall, there's multiple ways

02:24.959 --> 02:26.560
in which you can use Telegram.

02:26.560 --> 02:28.239
When it comes to instant messaging,

02:28.239 --> 02:30.000
many people call Telegram home.

02:30.000 --> 02:31.840
It shouldn't come as a surprise, then,

02:31.840 --> 02:34.480
that Emacs users want to meet

02:34.480 --> 02:35.680
on Telegram as well.

02:35.680 --> 02:38.480
And indeed, there's an Emacs community on Telegram.

02:38.480 --> 02:41.519
Here I'm listing a few super groups
about Emacs.

02:41.519 --> 02:43.040
There are language groups,

02:43.040 --> 02:45.599
so there's Emacs English, Emacs Russian,

02:45.599 --> 02:48.800
Emacs Spanish, Emacs Mandarin, Portuguese...

02:48.800 --> 02:51.440
There are groups which are specific to starter packs.

02:51.440 --> 02:53.040
For example, there are Doom Emacs,

02:53.040 --> 02:54.879
Spacemacs, and there are groups

02:54.879 --> 02:57.280
which are specific to packages like telega

02:57.280 --> 02:58.720
which I'm going to discuss later.

02:58.720 --> 03:00.159
These are what you would expect

03:00.159 --> 03:02.800
from traditional internet chat rooms.

03:02.800 --> 03:04.319
So they're used for shared links,

03:04.319 --> 03:06.959
they're used for discussing, troubleshooting,

03:06.959 --> 03:09.120
giving each other recommendations...

03:09.120 --> 03:10.879
I think there are healthy communities

03:10.879 --> 03:12.239
with typically a hundred

03:12.239 --> 03:13.519
to a thousand members.

03:13.519 --> 03:15.280
An example of an initiative that's put forth

03:15.280 --> 03:16.879
by the Emacs community on Telegram

03:16.879 --> 03:18.720
is @emacs_stories. @emacs_stories

03:18.720 --> 03:21.680
collects links and messages and pictures

03:21.680 --> 03:24.080
that can showcase what Emacs can do.

03:24.080 --> 03:25.680
One of the goals here is

03:25.680 --> 03:28.239
to show people that are new to emacs

03:28.239 --> 03:29.120
what you can achieve

03:29.120 --> 03:31.200
if you spend time with your editor.

03:31.200 --> 03:32.480
And here, what I'm showing you

03:32.480 --> 03:34.159
is a screenshot from Telega.

03:34.159 --> 03:36.080
So let's move on to the final topic

03:36.080 --> 03:37.040
of this discussion,

03:37.040 --> 03:39.200
which is telega.el.

03:39.200 --> 03:41.440
Telega is a terrific piece of software.

03:41.440 --> 03:45.280
Telega is a interface to telegram within Emacs.

03:45.280 --> 03:46.959
It's developed by @zevlg,

03:46.959 --> 03:49.680
which is a long-time Emacs hacker,

03:49.680 --> 03:51.280
and it's very actively developed.

03:51.280 --> 03:54.000
Telegram itself is under active development,

03:54.000 --> 03:55.840
and telega has to implement

03:55.840 --> 03:57.200
all these new features

03:57.200 --> 03:58.720
that Telegram implements.

03:58.720 --> 04:00.400
Indeed, Telega implements

04:00.400 --> 04:01.360
almost all the features

04:01.360 --> 04:02.319
available in Telegram,

04:02.319 --> 04:04.159
even things like live location,

04:04.159 --> 04:05.439
except for audio/video calls

04:05.439 --> 04:07.040
but these are work in progress.

04:07.040 --> 04:08.000
Just to give you an idea

04:08.000 --> 04:09.040
of the size of this effort,

04:09.040 --> 04:09.680
we're talking about

04:09.680 --> 04:11.280
30,000 lines of code,

04:11.280 --> 04:12.720
which doesn't tell you much,

04:12.720 --> 04:14.080
but maybe you can get a sense

04:14.080 --> 04:16.000
that this is a significant project.

04:16.000 --> 04:18.400
In fact, I think Telega is a really remarkable

04:18.400 --> 04:19.199
piece of software.

04:19.199 --> 04:20.639
Not only it implements all the features

04:20.639 --> 04:21.680
available in Telegram,

04:21.680 --> 04:22.960
but implements new ones,

04:22.960 --> 04:25.120
which are only available to Emacs users.

04:25.120 --> 04:26.800
Here I'm blinking the documentation

04:26.800 --> 04:28.560
for you to read if you're interested.

04:28.560 --> 04:29.759
What I want to mention, though,

04:29.759 --> 04:31.360
is that Telega is available on MELPA,

04:31.360 --> 04:34.160
but it requires an external library, TDlib.

04:34.160 --> 04:35.759
Most distributions do not pack

04:35.759 --> 04:37.360
a recent version of TDlib.

04:37.360 --> 04:39.600
Such you have to compile yourself.

04:39.600 --> 04:41.280
if you don't want to compile TDlib,

04:41.280 --> 04:43.120
you can use the officially supported

04:43.120 --> 04:44.560
Dockerfile or guix file

04:44.560 --> 04:46.080
so that you can get everything

04:46.080 --> 04:48.000
without too much worry.

04:48.000 --> 04:50.720
Now let me tell you more about Telegram.

04:50.720 --> 04:52.080
Of course, the best way is to just

04:52.080 --> 04:53.520
experiment with it yourself.

04:53.520 --> 04:54.800
And here I just want to give you

04:54.800 --> 04:56.720
a glimpse of how Telega works.

04:56.720 --> 04:57.840
When you start Telega,

04:57.840 --> 05:00.000
what you see is a root buffer.

05:00.000 --> 05:01.280
The root buffer is essentially

05:01.280 --> 05:02.960
the list of all the chats that you have,

05:02.960 --> 05:05.199
and, by itself, is a really powerful tool.

05:05.199 --> 05:06.639
You can use it for sorting

05:06.639 --> 05:07.680
and filtering your chats,

05:07.680 --> 05:10.639
or you can create groups which are thematic.

05:10.639 --> 05:12.720
There's sophisticated search functions.

05:12.720 --> 05:14.240
For example, if you want to search only

05:14.240 --> 05:16.800
for specific type of media,

05:16.800 --> 05:18.240
you can start new chats,

05:18.240 --> 05:19.680
you can get info about the chats,

05:19.680 --> 05:22.479
and you can even change Telegram settings

05:22.479 --> 05:24.720
which are applied across the board.

05:24.720 --> 05:26.479
Here I'm showing you an example

05:26.479 --> 05:27.520
of what it looks like.

05:27.520 --> 05:30.720
As you see, we're enjoying the support for emoji

05:30.720 --> 05:33.039
that Emacs has been improving upon

05:33.039 --> 05:34.320
over the past years.

05:34.320 --> 05:36.400
Once you select one of these charts,

05:36.400 --> 05:38.880
you're brought to the chat buffer.

05:38.880 --> 05:40.400
Here I'm showing an example of

05:40.400 --> 05:42.320
what a chat buffer looks like.

05:42.320 --> 05:43.360
So this is a screenshot

05:43.360 --> 05:45.520
from the Emacs English group

05:45.520 --> 05:47.840
where people were discussing about

05:47.840 --> 05:49.039
compiling Emacs.

05:49.039 --> 05:52.000
As you can see, we see the conversation.

05:52.000 --> 05:53.280
We see the avatars.

05:53.280 --> 05:54.639
We see that there's a thread.

05:54.639 --> 05:55.440
We also see that

05:55.440 --> 05:57.360
I'm going to send a message,

05:57.360 --> 05:58.240
message with emoji,

05:58.240 --> 05:59.440
a message with formatting,

05:59.440 --> 06:01.120
and I'm attaching an object.

06:01.120 --> 06:03.680
I can format my messages

06:03.680 --> 06:05.520
using Markdown or Org Mode

06:05.520 --> 06:06.720
or whatever I prefer

06:06.720 --> 06:09.199
and I can attach any kind of attachment

06:09.199 --> 06:10.560
I like. For example...

06:10.560 --> 06:11.520
What I can also do is,

06:11.520 --> 06:13.120
if I'm editing a buffer,

06:13.120 --> 06:15.680
I can send that buffer through Telega,

06:15.680 --> 06:17.199
which I find quite useful

06:17.199 --> 06:18.720
especially when I'm sending code.

06:18.720 --> 06:20.240
And again, just to show you that

06:20.240 --> 06:22.319
Telegram is not just text messages

06:22.319 --> 06:25.199
and Telega supports all the features in Telegram,

06:25.199 --> 06:27.199
here at the bottom, I'm showing

06:27.199 --> 06:29.759
a voice note being played through Emacs,

06:29.759 --> 06:31.919
and as you see, there are some buttons

06:31.919 --> 06:33.199
which are functional.

06:33.199 --> 06:36.240
If I hit the two times button,

06:36.240 --> 06:38.160
the playback speed will be twice,

06:38.160 --> 06:39.600
which is really neat.

06:39.600 --> 06:40.800
Telega and Emacs can even

06:40.800 --> 06:43.039
reproduce videos or gifs,

06:43.039 --> 06:45.280
at least for a recent version of Emacs.

06:45.280 --> 06:47.520
Finally, I want to emphasize that Telega

06:47.520 --> 06:49.280
integrates really well with Emacs.

06:49.280 --> 06:51.039
For example, we are showing you

06:51.039 --> 06:54.319
how you can use a transient interface

06:54.319 --> 06:56.720
to Telega, or on the other side,

06:56.720 --> 06:59.280
I'm showing you how Telega integrates

06:59.280 --> 07:00.080
with dashboard,

07:00.080 --> 07:01.440
so that we have recent chats

07:01.440 --> 07:03.120
and we have the Emacs stories.

07:03.120 --> 07:03.840
Because, you know,

07:03.840 --> 07:05.759
who doesn't like Emacs with stories.

07:05.759 --> 07:06.880
On top, on the other hand,

07:06.880 --> 07:08.880
I'm showing you that we can have

07:08.880 --> 07:09.919
syntax highlighting,

07:09.919 --> 07:11.759
which is something that Telegram by itself

07:11.759 --> 07:14.240
doesn't have, this Emacs-only feature,

07:14.240 --> 07:15.919
and we can edit this

07:15.919 --> 07:17.599
in the same way we edit

07:17.599 --> 07:19.759
Org Mode source blocks,

07:19.759 --> 07:20.880
so we can edit this

07:20.880 --> 07:22.800
with the minor mode for,

07:22.800 --> 07:24.080
in this case, Emacs Lisp.

07:24.080 --> 07:26.240
So, to conclude, I wanted to show you

07:26.240 --> 07:27.759
that the Emacs community

07:27.759 --> 07:29.120
also meets on Telegram,

07:29.120 --> 07:31.360
and we're an active and healthy community,

07:31.360 --> 07:32.880
and I want to present Telega

07:32.880 --> 07:35.759
as a really amazing piece of software,

07:35.759 --> 07:37.919
one of the best clients available for

07:37.919 --> 07:39.599
Telegram with Emacs.

07:39.599 --> 07:41.680
Even if you don't use Telegram,

07:41.680 --> 07:43.599
I think you should have a look at Telega

07:43.599 --> 07:46.080
just to appreciate how amazing

07:46.080 --> 07:47.280
a piece of software it is.

07:47.280 --> 07:49.680
And with this, I thank you for your attention,

07:49.680 --> 07:50.960
and if you like Telega,

07:50.960 --> 07:52.720
please consider donating

07:52.720 --> 07:54.800
to support the development of the package.

07:54.800 --> 07:57.599
Thanks.