Development updates

It’s been a while since our last update and it’s about time we updated everybody on what we have been doing under the hood.

The IRC.com team consists of developers from established and active IRC projects so that we can invest our research and development back into some of the most popular open source projects. The primary goal over the past few months has been to put together the building blocks that allow all future development to stand upon – and at a much faster pace.

Here is what we have accomplished so far for some of the projects.

IRC Server - InspIRCd

We sponsored the development of the InspIRCd IRC server so that we have a stable, well tested and progressive codebase to build upon.

  • Significantly advancing the release of InspIRCd v3.0.0 at a much faster pace. Release any day now!
  • Added support for new IRCv3 features
  • batch capability -- the building block that allows features such as sending chat history for channels
  • monitor -- contact and friend lists!
  • message-tags capability -- another building block that adds an extensible framework for clients to add features like typing notifications, reactions, delivery confirmations, etc with.
  • Other capabilities such as account-tag, server-time, strict transport security (sts).
  • Support for many draft IRCv3 features
  • labeled-response specification -- enables features such as message sent confirmations
  • message-ids specification -- allows clients to implement features such as message editing and deleting, replying to messages.
  • Other draft specifications such as setname.
  • Support for the HAProxy proxy protocol to allow seamless load balancing between multiple InspIRCd servers for performance and high availability.
  • Support for UNIX socket connections to allow local connections from reverse proxies.
  • Support for the WHOX extension to allow clients to look up user details.
  • Revised and improved default configuration to allow users to set up servers easier.
  • Many, many, many bug fixes and usability improvements!

IRC Client - Kiwi IRC

Sponsoring the development of the Kiwi IRC client allowed the web based project to flourish faster than before. While still very much a community based effort, some development additions has only be possible with the extra development support.

  • Conference calling
  • File sharing
  • Typing indicators
  • Native mobile apps (Android + IOS, currently in further development)
  • Always connected service with push notifications to the mobile app (in development)
  • End-to-end encryption (Currently in testing)
  • Plugin system to modify the UI, functionality, or completely replace parts of the client at runtime
  • Cleaner themes, dark and light
  • Better integration options into existing platforms
  • 100% standards between the browser and server, and Kiwi server to the IRC server. Nothing proprietary here.
  • Optional Recaptcha support
  • Team based functions (@everybody, team profiles, upcoming team/group management)

IRCv3

Several of the IRC.com team members are active contributors to the IRCv3 Working Group, investing research and development time to help improve and advance IRC at the protocol level for all servers and clients. These advancements are discussed and worked with a collection of IRC projects to maintain backwards compatibility and standards.

As part of the IRCv3 WG, IRC.com contributors have:

  • Proposed WebSocket standards to help promote consistent web-client communications.
  • Proposed standardised bouncer-client interaction methods.
  • Proposed a method for external web services to confirm users identity and channel permissions with IRC servers.
  • Proposed a standardised end-to-end encryption method for IRC clients. This improves security and reduces reliance on trusted servers.
  • Created the test-servers and script-runner projects, which help specification writers understand the existing behaviour and test ideas and proposals against multiple IRC servers. Backwards compatibility is important!
  • Extensively testing, researching and simplifying many proposed specifications through new server and client developments.

IRC.com network

All of the mentioned developments are part of open source projects and already in use in a variety of places. Putting them all together for the irc.irc.com network showcases how far IRC has come and how we can use it today within our projects and organisations.

Abuse

One of the larger issues with IRC that stems from being open by nature is abuse and spam. In an attempt to reduce this users must be registered to receive private messages - this includes email verification. Of course, users my opt out of this by changing their user mode. Channels are also configured by default to only allow registered users to send messages. This lets users join a community channel to see what’s happening and then be shown a registration page when they are ready to contribute.

Keep IRC simple

With continued development and polishing, our aim is to make irc.irc.com a simple IRC network that anybody can join and use without the struggles that non-IRC users face today. If somebody needs to ask how to connect, register, or use a messaging application - it’s not simple enough. That goes for both web and mobile apps.

For the people that know the ins-and-outs of IRC or use telnet as their client, all the same expected functionality still exists at irc.irc.com, TLS 6697.

Further testing

We had linked up with the Snoonet network from day one so that we have some testing grounds for all the features we implement (a huge thanks for the Snoonet volunteers that have been helping us out so far!). Snoonet currently runs InspIRCd v2 while we have been working on InspIRCd v3 for IRC.com.

We are fortunate enough to be affiliated with several projects that consists of technical and non-technical people that will soon start using the IRC.com service, providing more valuable feedback on usability, experience, simplicity, and general bug reports in both our web and mobile clients.

Closing.

A lot of development work has been needed in various places before we can really start showing off IRC.com, but we are now starting to see everything come together and at a much faster pace. I hope that the projects and organisations that are already using some of our developments are finding them useful!

~Darren Whitlen (or if you see me on IRC - prawnsalad!)