LeoNerd.org.uk logo LeoNerd.org.uk LeoNerd.org.uk logo

Circle

What is it?

Circle is an IRC client which merges the best attributes of a local client and the common screen+irssi recipe.

It addresses a number of shortcomings in existing approaches to IRC by separating the component which maintains connections to IRC servers and that which displays and allows the user to interact with these connections. By maintaining this separation, it enables the creation of clients for a variety of platforms which look and feel like a native, local application. In addition, users will be able to connect these frontend components to the backend component in a variety of ways, including local sockets and over a network connection.

This approach will also allow us to cache information and to perform handling of events which can be dealt with locally, reducing the round-trip latency concerns that plague GNU screen users attempting to use applications over slow connections.

Additionally, Circle is being constructed with extensibility in mind, such that anything which is vaguely like an IRC session may be represented in it, differentiating it from existing solutions like Quassel.

Circle uses Tangence for its underlying communications layer.

What is it really?

OK so the above is all a big lie. Circle is in fact an application hosting framework, focussing on effectively breaking the link between the backend application logic and the frontend user interface. The idea being, to disconnect the user interface from the application logic, in such a way that multiple frontends can connect to the same application, and vice versa. This allows for easy dis/reconnecting of frontends, as well as a choice of local frontend independenly of backend application.

Currently, the only backend application is an IRC client, and the only frontend user interfaces are GTK2 and a terminal one using Tickit. A set of Java libraries to allow e.g. an Android mobile client frontend are currently under development.

How do I get it?

Instructions on obtaining it can be found here.

Current development TODO list can be found here.

The mailing list is maintained here.

What does it look like?

A gratuitous screenshot; I'll get around to adding more sometime:

Of course, half the point of developing this is for its behaviour, not simply its look. The screenshot doesn't manage to show this.