
Text translations are increasingly entering our lives. Thanks to modern technology, they are becoming an increasingly attractive way to communicate information in real time to a large audience. Even here, on Habré, text broadcasts of various events have already been held. Implement such a broadcast all in different ways. Someone uses the internal functionality of the site, others use ready-made services, and still others edit plain text posts at all, forcing their users to constantly update the page or doing it for them with the simplest scripts.
I have long been haunted by the idea that such broadcasts are very similar to how we share our impressions in messengers with friends and acquaintances. And it is really convenient. We just tell them our story. So the idea was born to create a text translation service, the main and only interface of which is the Telegram bot. Meet -
Journalist .
All you need to do in order to create your broadcast is to
add a bot to your contacts , press the corresponding button on its keyboard and enter the name of the broadcast. Just a few seconds - and you are on the air. Today it is the fastest way, among similar services, and given the dynamic nature of the events monitored by such broadcasts, this is a serious competitive advantage.
After creating the broadcast, the bot will provide links to the public broadcast page and the preview page, as well as the html-code to insert the broadcast on the site and the command to invite other editors to conduct the broadcast.
')
Interaction with the bot is built in such a way that it is a really convenient way to conduct broadcast. Of course, it will be most comfortable to do it while sitting at a computer, having fast Internet on hand and slowly sipping your favorite hot drink. But at the same time, there is enough phone or tablet to complete the work and, thanks to Telegram's low requirements for the quality of the connection, at least some kind of Internet. This makes it possible to work in the field and remain productive, delighting their readers with interesting material from the scene.
In this regard, I can proudly call JournalistBot one of the first Telegram bots designed to create professional content.
Opportunities
The service already provides all the necessary functionality for running modern text broadcasts. The text of messages supports Markdown markup, respectively, posts can be beautifully formatted. Photos can be sent directly to the chat, as an image or as a link. In both cases, it will be correctly inserted into the broadcast. It also supports links to embedded resources: YouTube, Vimeo, Twitter, Instagram, etc. The editor does not need to go to the site of the target service and receive the code for insertion, the bot takes on this task. In addition, the editor has the ability to send a voice message to the chat, video from the camera, location, or even a sticker. All this will be instantly delivered to readers of the broadcast.
Posts are collected from messages and are not visible to readers until clicking the "Publish" button. In this case, editors can see the post being made on the preview page. If the typo still went unnoticed until the publication itself or did not publish what they wanted - it does not matter, you can correct the message by editing it with standard means or remove it from the broadcast by sending the Delete command as a reply (Reply) to this message. Changes are automatically displayed to all readers of the broadcast.
To work in a team, it is possible to connect several editors to one broadcast. To do this, after creating the translation, the bot, along with the rest of the information, sends the
/join <>
command. By sending this command to the bot, another editor will join in maintaining the broadcast. Messages from each editor form separate posts, therefore, working in parallel, they will not interfere with each other. For such broadcasts, it is possible to display the author of each post, which is included in the settings.
The target audience
The target audience is primarily media sites and bloggers. In this case, the usage scenarios are obvious, and the benefit of using the service is that you do not need to worry about the technical component of the broadcast and you can be sure that hundreds and thousands of users will receive updates as quickly as possible. How does the real broadcast, built-in blog, you can
see here .
However, nothing interferes with ordinary users who do not regularly conduct such broadcasts, take and try, because the broadcast has a public page (
example ), a link to which is enough to be distributed among its readers. Therefore, if you take an entirely opposite example of the media, you can go on a holiday, create a broadcast and send a link to it to your friends to keep them informed of their adventures.
The bot allows you to simultaneously conduct multiple broadcasts and switch between them through the menu.
Under the hood
The service is fully implemented on node.js and is designed in such a way that it can be easily scaled horizontally. This allows you to impose a model on it: there is an audience → there is money → we add a server. As practice has shown, this approach is very convenient due to the fact that there is no need to start on expensive equipment and never wait for your highload, while with the growth of the load you can quickly respond to it, without the need to "rewrite everything from scratch." The entire system is deployed in Docker containers, which are automatically assembled in GitLab CI, which greatly simplifies the deployment of the system and makes updating and expanding it even more trivial. The file storage is also implemented in such a way that at any time you can easily migrate to services like Amazon S3 and implement CDN. Clients receive updates via Websocket.
Great emphasis is placed on performance. Loading the page, the user does not notice the separate loading of the broadcast, the page looks monolithic. So far it does not work 100% of the time, but after expanding the network of servers and geo-distributing requests, everything should be much better. However, now the delay is minimal. This in turn affects SEO optimization. Translations inserted on the site will be indexed by all modern search engines, since only the necessary minimum of DOM manipulations is done and search engines are ready to wait for them when indexing the page.
Known Issues
Since keyboard bots in Telegram appeared relatively recently, not everything is smooth with them. For example, there is a problem in the client for Android - when answering a message (Reply), the bot's keyboard disappears and there is no possibility to call it. This makes it difficult to change the type of post and its removal. While in quality of workaround it is possible to send this command with the button to chat, and then copy it in reply to the message. I hope that in the near future this will be fixed by the client's developers. Under iOS and Mac OS, this problem does not exist.
At the moment there is no possibility to use the bot in a group chat, which would be very convenient for team work. And the thing is again in the keyboard of the bot. In a group chat, pressing the keys always sends a message as a response to the bot message and there is no way to send it just to the chat like a new one. This makes it difficult to implement the same functionality that is available in a private chat, so we wait until the corresponding opportunity appears in the Telegram or until a good idea comes to mind how to get around this restriction nicely.
Future
Now I want to get a response from potential users of the service, to understand how much it is in demand, what functions they would like to see in it. Of course, at the same time, I have my own development plan for the functional, which I gradually implement in parallel with the introduction of changes in response to the first users. For example, one of the next major updates should be getting statistics on the readers of the broadcast in the bot interface.
A week ago, unexpectedly for me, the project was finished on
ProductHunt , got to the main page and collected a good number of votes, although if it were a prepared launch, one could achieve a much better result. On the one hand, such a spontaneous launch blew off my plans a bit, but on the other, it means that the project is still in demand.
Waiting for your feedback and your broadcasts. I am pleased to answer questions in the comments, you can also write to
mail@journali.st . Thanks for attention.