Remote working with opensource tools

Why

We’re living times where the level of information created and consumed is too much to be procesed in a simple way. Each company has it’s own solutions or standars how the manage this problem and other type of entities like universities don’t have a unified approad.

The idea behind this post it’s to try to create a simple set of tools as a base for any company or entity looking forward to have a minimal setup for communication.

All this tools are opensource and, in some cases like bedework used by universities over the world.

The rules follow here are:

  • A tool must be opensource
  • Data must be encrypted
  • It must provide self hosted intallation

If you’re a small company, a community or a learning institute trying to organize your communication this may help to do it.

The list of tools to use will be:

Requirements:

  • A server
  • A domain

Traefik https://containo.us/traefik/

Simplify networking complexity while designing, deploying, and running applications.

Jitsi https://jitsi.org/

Jitsi is a collection of free and open-source multiplatform voice, videoconferencing and instant messaging applications for the web platform, Windows, Linux, macOS, iOS and Android.

Matrix https://matrix.org/

An open network for secure, decentralized communication

Riot https://about.riot.im/

A universal secure chat app entirely under your control.

Bedework https://bedework.github.io/

Bedework will be a total calendaring and events system for institutions of higher learning

Shibboleth http://shibboleth.internet2.edu/

Shibboleth provides Single Sign-On capabilities and allows sites to make informed authorization decisions for individual access of protected online resources in a privacy-preserving manner.

Understanding each tool and what can do with it

Jitsi

Example domain: meet.mydomain.com

Features:

Calls:

  • Audio calls
  • Video calls
  • Desktop streaming
  • Audio conferences calls
  • Audio level display
  • Call recording
  • Attended transfer
  • Blind transfer
  • Call encryption (with SDES/SRTP and ZRTP)
  • Mute
  • Hold
  • Support fot ICE
  • Wideband audio (with SILK, G.722 and Speex)
  • Noice suppresion
  • Echo cancellation

Messaging:

  • Presence
  • One-to-one chats
  • Multi-user chats
  • File transfer
  • OTR encryption

Security:

  • Encrypted password storage
  • Password protection with a master password
  • Encrypted Instant Messaging with Off-the-Record Messaging (OTRv4)
  • Chat authentication with the Socialist Millionaire Protocol over OTR
  • Call encryption with SRTP and ZRTP for XMPP and SIP
  • Call encryption with SRTP and SDES for XMPP and SIP
  • DNSSEC support
  • TLS support and certificate-based client authentication for SIP and XMPP

Miscellaneous:

  • On-line provisioning
  • Provisioning server discovery via DHCP and mDNS (Bonjour)
  • IPv6 fully supported by SIP and XMPP
  • Call history
  • Missed call notifications
  • Systray notifications (using Swing, Growl or libnotify)
  • Drag and drop support for file transfer
  • Integration with Microsoft Outlook and Apple Address Book
  • Presence Integration with Microsoft Outlook: make calls, start chats * and see your contacts’ presence from within Microsoft Outlook
  • Support for LDAP directories
  • Support for Google Contacts
  • Cross protocol conference calls: call your contacts over different accounts and protocols and join them in a single conference call.

Riot

Example domain: chat.mydomain.com

Features

  • Custom communication
  • Choose who you trust your data (you have your data secure on your own server)
  • Security, all your data can be end-to-end encrypted.
  • Share files
  • Intelligent notifications (name based notifications or by keywords definition to tigger if you’re following a specific topic).
  • Integration with other apps, stikcers, widgets and bots

Bedework

This app provides two main purpose. Provides a calendar you can use for all your team memebers and/or you can have one or more events streams.

Example domain:

  • calendar.mydomain.com (company’s members calendar)
  • events.mydomain.com (company’s public streams)

Features

  • Standards based and interoperable (Interoperability with other calendar systems and clients )
  • CalDAV server
  • CardDAV server
  • Web clients
    • Public calendar suites
    • Personal calendars
    • Administrative client for public events
    • Public event submission
    • Public event data feeds and widget builder
  • Highly customizable look and feel: XML & XSLT
  • Database independence: Hibernate
  • Sharing
  • Scheduling
  • Import and export
  • Calendar subscriptions
  • Multiple calendars
  • Internationalization
  • RSS & Javascript Feeds
  • Portal support
  • Timezone support
  • Recurring events
  • Event references
  • Pluggable group support
  • Container authentication
  • Support for other calendar systems and clients

There will be a few posts explining how to install each of these tools.