Girish Mahajan (Editor)

Gitter

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
Troupe Technology Ltd.

Type
  
Instant messaging

Website
  
gitter.im

Written in
  
JavaScript

License
  
Proprietary

Platform
  
Web, Windows, Mac, iOS, Android, Linux

Gitter is an instant messaging and chat room system for developers and users of GitHub repositories. Gitter is provided as software-as-a-service, with a free option providing all basic features and the ability to create a single private chat room, and paid subscription options for individuals and organisations, which allows them to create arbitrary numbers of private chat rooms.

Contents

Individual chat rooms can be created for individual git repositories on GitHub. Chatroom privacy follows the privacy settings of the associated GitHub repository: thus, a chatroom for a private (i.e. members-only) GitHub repository is also private to those with access to the repository. A graphical badge linking to the chat room can then be placed in the git repository's README file, bringing it to the attention of all users and developers of the project. Users can chat in the chat rooms, or access private chat rooms for repositories they have access to, by logging in to Gitter via GitHub (which does not involve sharing the user's GitHub password with Gitter).

Gitter is similar to IRC and Slack. Unlike IRC, and like Slack, it automatically logs all messages in the cloud.

Features

Gitter supports:

  • Notifications, which are batched up on mobile devices to avoid annoyance
  • Inline media files
  • Viewing and subscribing to ("starring") multiple chat rooms in one web browser tab
  • Linking to individual files in the linked git repository
  • Linking to GitHub issues (by typing # and then the issue number) in the linked git repository, with hovercards showing the details of the issue
  • GitHub-flavored Markdown in chat messages
  • Online status for users
  • User hovercards, based on their GitHub profiles and statistics (number of GitHub followers, etc.)
  • Browsable and searchable message archives, grouped by month
  • Connection from IRC clients
  • Integrations with non-GitHub sites and applications

    Gitter integrates with Trello, Jenkins, Travis CI, Heroku, Sentry, Bitbucket, HuBoard, Logentries, Pagerduty and Sprintly.

    Apps

    Official Gitter apps for Windows, Mac, Linux, iOS and Android are available.

    Advantages and disadvantages

    Like other chat technologies, Gitter allows users and developers to collaborate in real-time (both users with developers, and developers with each other) and to share information on evolving best practices. Because of its integration with Github authentication and its web-based chat client, it is easy and convenient for users and developers to join a chat room without needing to install any extra software, or create another username/password pair to remember. (Though web-based IRC clients exist, they are typically not as fully featured as standard IRC clients and not as widely used among software developers.) It is also convenient for project owners to set up a chat room, because of the GitHub integration - and for private repositories, they do not need to manually grant access to the chat room to all those who have access to the repository, because Gitter does that automatically.

    Pervasive logging

    The fact that messages posted to Gitter chat rooms are preserved indefinitely in chat room logs means that all users can see all messages in a chat room going back to when the chat room was created, which is useful for finding previous discussions and solutions to problems.

    However, like logged IRC channels, Gitter has a tradeoff of greater convenience against lower privacy relative to unlogged IRC channels: messages in a permanently logged chatroom are by definition not ephemeral and may cause embarrassment for users who later regret making ill-considered offhand comments in a chatroom.

    History

    Gitter was created by some developers who were initially trying to create a generic web-based chat product, but then wrote extra code to hook their chat application up to GitHub to meet their own needs, and realised that they could turn the combined product into a viable specialist product in its own right.

    Gitter came out of beta in 2014. During the beta period, Gitter delivered 1.8 million chat messages.

    Implementation

    The Gitter web application is implemented entirely in JavaScript, with the back end being implemented on Node.js. The source code to the web application is proprietary, although Gitter has made numerous auxiliary projects available as open-source software, such as an IRC bridge for power users who prefer using IRC client applications (and their extra features) to converse in the Gitter chat rooms.

    References

    Gitter Wikipedia