XMPP
Swift
XMPP Chat Client
Swift is a modern web chat client, designed to be used anywhere, on any device. It enables you to deploy a high capacity, secure chat solution across your network with zero footprint deployment.
Swift is based on the XMPP (eXtensible Messaging and Presence Protocol) family of open standards, which is the leading open standard for chat.
1:1 Chat
1:1 Chat is the backbone of most chat clients. 1:1 chat through Swift provides a clear interface that, along with all the other standard features you’d expect from a chat application, provides:
- Clear indication of users, with customisable images.
- Time and date of each message sent.
- Scrollable message history, clearly marking day changes.
- Editing of the last message sent.
- Direct message reply.
- Pop-up alerts for new messages.
Multi-User Chat (MUC)
Multi-User Chat or ‘MUC’ rooms are the perfect way to group communications by team or topic.
Swift MUC rooms are clearly labelled to facilitate user choice of room. With an optional side panel showing an occupant’s name; photo (if set), their availability and any further information such as their XMPP address or chat status, you can quickly find out exactly who is part of the conversation with you.
Presence & Roster
The roster shows which of your contacts are online and available to talk with user presence. An easily searchable list of users and MUC rooms you are an occupant of are highlighted along the left-hand side, with changeable indicators for whether users are ‘Online, Busy, Away or Offline’. Users can also set their own, customisable status to give more information on their location or availability.
Security Labelling
Security labelling is critical for military and government deployments. Swift provides security label support based on XEP-0258 “Security Labels in XMPP”. This can be used in conjunction with an XMPP server such as Isode M-Link to perform access control based on security clearance.
Swift allows setting of a security label on each message, with values selected from the list of security labels returned by the XMPP server. If used alongside the Isode M-Link, this will reflect the list of labels allowed for the message being sent (1:1 or MUC).
When used with MUC rooms, Swift will clearly display the Security Label associated with the room. Setting the default security level for the room guides MUC room members on how they should act. When a label has been specified for a room, all communication will typically happen at this level, so to avoid UI clutter any subsequent messages will not display their security label, unless they differ from the default already set.
For 1:1 chat, Swift will clearly display the security label of each message.
Hardware Flexibility
Swift is designed to be fully responsive to both screen and device size. No matter what device you are using you can use the full functionality of Swift. This includes standard desktop, tablet and phone (illustrated below).
Web Architecture
Swift follows a modern Web architecture. A key operational benefit is “zero footprint” as this approach avoids the need to install desktop products on many machines, which is needed with many older XMPP clients. Key points to note on the architecture:
- Browser connects to Swift Server.
- Swift Server connects to XMPP server using standard XMPP Client to Server protocol.
- Long term message storage is provided by the Message Archive and Management (MAM) XMPP service on the server.
- This enables horizontal scaling of the Swift service, by allowing multiple Swift Servers to connect to a single XMPP Server.
Data Confidentiality
Swift uses the standard TLS (Transport Layer Security) to secure all Swift data connections.
- HTTPS is used to secure connections with the browser.
- TLS is used to secure XMPP connections to the XMPP Server
Admin Controls
With a built-in admin interface, Swift administrators will use a separate account to manage their Swift implementation. This allows the administrator to configure server options such as TLS and to set default application settings.
Browser & OS Support
Swift Server supports the following platforms:
- Red Hat Enterprise Linux 8 & 9.
- Ubuntu 22.04 LTS.
- Windows Server 2019 & Windows Server 2022.
Swift is supported on the latest versions of Edge, Chrome and Firefox. However, it can be deployed on any modern browser.
For more information on the platforms and browsers supported for Swift and all other Isode products, you can click here.
Swift Open Standards conformance is listed below.
RFC 6120 | Extensible Messaging and Presence Protocol (XMPP): Core. P. Saint-Andre, March 2011 |
RFC 6121 | Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence. P. Saint-Andre, March 2011 |
XEP 0030 | Service Discovery. J. Hildebrand, P. Millard, R. Eatmon, P. Saint-Andre, February 2007 |
XEP 0045 | Multi-User Chat. P. Saint-Andre, July 2008 |
XEP 0048 | Bookmarks. Rachel Blackman, Peter Millard, Peter Saint-Andre, November 2007 |
XEP 0049 | Private XML Storage. P. Saint-Andre, R. Davies, March 2004 |
XEP 0085 | Chat State Notifications. Peter Saint-Andre, Dave Smith, September 2009 |
XEP 0092 | Software Version. P. Saint-Andre, February 2007 |
XEP 0115 | Entity Capabilites. Joe Hildebrand, Peter Saint-Andre, Remko Tronçon, Jacek Konieczny, October 2006 |
XEP 0138 | Stream Compression. J. Hildebrand, P. Saint-Andre, September 2007 |
XEP 0153 | vCard-Based Avatars. P. Saint-Andre, February 2018 |
XEP 0198 | Stream Management. J. Karneges, June 2011 |
XEP 0237 | Roster Versioning. P. Saint-Andre, Dave Cridland, March 2010 |
XEP 0258 | Security Labels in XMPP. K. Zeilenga, March 2009 |
XEP-0363 | HTTP File Upload. Daniel Glutsch, January 2022 |
XEP-0385 | Stateless Inline Media Sharing (SIMS). Tobias Markmann, January 2018 |
XEP-0308 | Last Message Correction. Kevin Smith, May 2017 |
XEP-0313 | Message Archive Management. Matthew Wild, Kevin Smith, March 2023 |
While we highly recommend taking advantage of the latest version of Swift, we know that some people still want an open source option.
Swift 4.0 is an open source, desktop only version of our Swift XMPP Chat client. Whilst it is not likely to receive any further updates, there are support packages available for purchase should you require custom support and bug fixes for your deployment.
Key Features
- Security Labels: Swift supports the security labelling of messages, ensuring that in both MUC rooms and 1:1 chats, messages can only be delivered to those with the security clearance required to view them (requires supports from an appropriate server).
- Trellis Mode: Enables the user to view several MUC rooms and 1:1 chats at the same time, instead of on a tabbed interface.
- Keyword/Phrase Highlighting: Easily create highlight rules for key words or phrases across multiple conversations, include the ability to highlight words or phrases only when used by specific individuals.
- Message Delivery Receipts: Swift can request and display an acknowledgement from the target user’s client (1:1 chat).
Swift supports Strong Authentication using certificates and smart-cards as well as password-based SASL authentication mechanisms.
Commercial Support Packages
The open source version of Swift is written with Swiften and licensed under the GNU General Public License. Swiften is offered under both commercial licensing, from Isode, and under the GNU General Public License.
Development has been supported by Isode with the contribution of considerable engineering effort. The open-source version of Swift will always be a free client, however Isode does offer commercial support for large installations and mission-critical environments as well as commercial licenses and commercial support contracts for Swiften. Please fill in our contact form for more information.
Supported Platforms
Swift 4.0 is available for Windows, Mac OS X (10.9+) as well as an AppImage for 64-bit Linux systems. Swift 4.0 can be download from the Open source Swift website, along with the source code of Swift and Swiften.
Ready to request an Evaluation?
Thankyou for considering Isode’s software products. To request an evaluation, please select the product(s) you are interested in, then fill out the enquiry form.
Select your Evaluation products:
Customer Portal
For access to our customer portal please login below.
If you are having trouble accessing the portal please contact our support team who will be happy to help.
Need help with your account? Contact us