the-inside-story-of-deepin-talk

 

Deepin Talk, an instant messaging application being developed by the Linux Deepin team, was announced at the Linux Deepin Developer and User Conference 2012 held in Beijing. The news quickly provoked great interest among Linux users and developers. At the moment, there is no shortage of IM tools out there. Why would the Linux Deepin team want to create an instant application of their own design? How has the development been going on? What features will be included in the first version of Deepin Talk?

 

I had a talk with the designer, Liu Ling, and the developer of Deepin Talk, Hou Shaohui, to ask them about many aspects in which you might be interested of Linux Deepin.

Q: Why did the Linux Deepin team decide to launch the project of Deepin Talk?

L. Liu: Intitally, we felt that we just needed a multi-platform instant messaging tool which could make video and calls as well as send images and files. However, we didn't find any IM tool that could handle all these tasks perfectly. Therefore, we dicided to write one of our own.

 

By "perfectly" we mean that we aim to provide our users with a user-friendly instant messaging application that is not only useful but can be fun and entertaining. Our overall plan is focused more on entertainment. Quite a number of Linux users are IT professionals, or more precisely, programmers. Deepin Talk, however, is geared to the average user and therefore is designed to meet people's demand for entertainment in life. This does not mean we will not take professionals into consideration; we just give more importance to the majority and want to bring more joy to the 'code' world. 🙂

 

Q: What's special about Deepin Talk compared with other IM tools?

L. Liu: One of our mid-term goals is to connect the entire system with a cloud-based Deepin ID. The system as a whole can provide better user experience with all applications integrated with each other. Compared with other instant messaging applications, Deepin Talk is more of a "social center" in the system. With Deepin Talk, every application becomes social and are more closely connected. I'll explain with some examples in the following:

Deepin Talk gives you opportunities to get to know more people. For example, when you are playing a game in Deepin Game Center and you like it very much. Deepin Game Center helps you find others who also like this game and add them as friends on Deepin Talk. You can also share your favorite game to a friend on Deepin Talk. Your friend can just click on the link you shared and start to play it. Similarly, you can share photos, videos, and music, which your friends can view, watch or listen with just one click.

Deepin Talk can also show the music you're listening beside your picture (if you turn on the option for that).

We've also added some handy features for programmers, like syntax highlighting and Markdown formatted text support.

The examples we mentioned above covered just part of Deepin Talk's features. In a word, Deepin Talk will be an elegant, cross-platform social communication application which provides entertainment and good interactive experience.

 

Q: Could you give us some information about the development progress at the moment?
S.Hou: We've finished the basic chat features. And now we are focusing on the server end and the user center.

 

Q: What can we expect to see in the first version of Deepin Talk?

S.Hou:
Here are what you can expect to see in Deepin Talk 1.0:
1. One-on-one/Group/Discussion group conversations
2. Managing friends
3. File transfer
4. Sending images in chat
5. Recommending new friends you might be interested
6. Encounters: a feature that you can use to meet new friends
7. Logging in simultaneously on different devices

 

Q: What IM protocols will be supported by Deepin Talk?
S. Hou: Deepin Talk will be using the XMPP protocol with some extensions. I suppose you want to know if users can log in using other IM accounts. We need to make it clear that Deepin Talk is not a chat client like Pidgin. To ensure perfect chat experience, Deepin Talk will not support other IM accounts.

 

Q: Will Deepin Talk be cross-platform? Will there be mobile apps?

S. Hou: Cross-platform is a must. Linux, Mac and Windows will be supported. Mobile clients will be released after the desktop versions are available.

 

Q: What technologies are used in the development of Deepin Talk? Would you tell us some technical details?

S. Hou: The whole Deepin Talk project is divided into two parts, the server end and the client application. I mainly take part in the development of the client application. Deepin Talk is now written in the Python programming language. The graphical interface has implemented the technologies of QtQuick, and the main interface was built in QtQuick of Qt 5.2. This module of Qt has a perfect animation mechanism and a particle system that can construct a cool and elegant interface. Utilizing its MVC framework and signal & slot mechanism as well as my own dynamic ORM binding to Qt, the XMPP server program can easily write data to the designated database, making the data available in Qt modules and can pass the corresponding data to the interface made by QML.

 

Q: Will Deepin Talk open its APIs? In what way will it be open to other developers?
S. Hou: Of course. The support of syntax highlighting and Markdown formatted text we mentioned above was implemented as a plugin. As the number of our users increases, we will encourage more people to get involved via the open standard of OAuth.

Q: It must be fun to participate as a developer in the Linux Deepin community. Do you have any interesting experience to share with us?

S. Hou: One day I was testing if Deepin Talk was able to receive and send messages correctly. I was using a bot which could send back a message immediately it receives it. I was busy coding and didn't notice that the bot was up to its tricks. I was guilty and amused to find that the group chat I was participating in were flooded by the messages the bot sent back.

 

24 Comments

Leave a Reply