Building an OTP release for ejabberd with Elixir mix

ejabberd is an ubiquitous Erlang application that is widely available in Linux distributions. For that reason, it needs to rely on the de facto Linux build tools like autotools to make integration very easy for Linux and FreeBSD packagers. However, it does not mean that ejabberd does not play well with the standard Erlang release […]

Advanced Erlang ejabberd Workshop Talks

We have started preparing our Advanced Erlang ejabberd Workshop that will take place on the 17th of november 2015 in Paris. The main focus of the workshop will be to showcase the use of ejabberd for broadcasting messages and alerts. The goal is to demonstrate that you can truly unlock the power of XMPP by […]

ejabberd 15.07 released: Summer Progress

This month’s ejabberd release contains many fixes and a few improvements. This is a consolidation release that help us pave the way to exciting new features coming at end of the summer. Since we released our Message Archive Management support in ejabberd 15.06, we have been impressed by how quickly our users did adopt this […]

ejabberd 15.06: Message archive, configuration checker and new packages

ejabberd 15.06 includes over 100 changes since the last release two months ago. Among those changes it includes several major new features. New features The focus of this release is archiving and easier configuration. Message Archive Management support Message Archive Management (aka MAM, defined in XEP-313) is now the de facto standard for message archiving […]

ejabberd 15.04

ejabberd 15.04 keeps the project delivering new features and improvements at the same fast pace. The focus for this release is to consolidate and improve what was delivered in the previous release, and also to integrate contributions which had been critical for most deployments these days. New features We integrated usefull contributions around groupchat (mod_admin_extra […]

Embedding ejabberd into an Elixir Phoenix Web application

By combining Elixir powerful web framework with ejabberd realtime messaging platform, you can build extremely powerful applications. This tutorial will help you get started. Here is the screencast showing the whole process. Please read further for detailed step-by-step description and code. Create a Phoenix application The first step is to create your Phoenix application as […]

ejabberd 15.03

ejabberd 15.03 is yet another important release. We have added fixes and some major improvements. You can learn more about the changes and roadmap by meeting part of the team in upcoming ejabberd San Francisco Meetup. New features Websocket Websocket support is among the major new features introduced in this release. You can write speedy […]

Elixir Sips: ejabberd with Elixir – Part 1

Elixir Sips is an Elixir screencast website providing great tutorials to learn Elixir but also to help you build extraordinary pieces of code quickly with Elixir. They produced a great series of videos on programming ejabberd with Elixir. Here is the material for the first part. We will publish more material on ProcessOne blog soon. […]

Easy installer and structure for ejabberd contributed modules

Ejabberd comes with a lot of modules, but sometimes you may need an unsupported feature from the official sources or maybe you need to write your own custom implementation for your very special needs. For many years, such contributed modules are stored on ejabberd-contrib repository. However, these modules required manual compilation. This means having Erlang/OTP […]

ejabberd and dependencies: major set of open source repositories

Since 2002, ejabberd established itself as a major Erlang project. People learn Erlang because of ejabberd. For this reason alone, ProcessOne is one of the major contributors in the open source Erlang community, along with Erlang OTP itself (heavy investment from Ericsson), Elixir mainly from Plataformatec, Riak from Basho, Cowboy from NineNines, ChicagoBoss and Zotonic.

Ejabberd available as a buildroot package

Johan Oudinet contributed a new ejabberd package in buildroot sponsored by Green Communications. Buildroot can generate any or all of a cross-compilation toolchain, a root filesystem, a kernel image and a boot loader image. The generated root filesystem contains a libc (uClibc, glib, eglibc or musl), busybox and some extra packages. Now buildroot allows to […]

Revamped ejabberd website, new logo, new development process

We all agree that ejabberd.im website was a bit dated and did not do justice to the ejabberd code base. It indeed deserved a major rework and that’s what we have started a while ago. We have just rolled out a brand new fresh and modern ejabberd home page on https://www.ejabberd.im/. Along with that design, […]

Cardinality Estimation

In server world, we always need to maintain some metrics; We need to measure to improve. A very common one being “unique active user” per unit of time. While this is really easy to describe, it’s complex when it comes to implementation. Naive implementation logs all events (let say, user connection), either on memory or […]

Whatsapp, Facebook, Erlang and realtime messaging: It all started with ejabberd

There has been a lot of buzz recently around Whatsapp acquisition by Facebook and the record price paid for the company. FastCompany’s Ainsley O’Connell wrote Inside Erlang, The Rare Programming Language Behind WhatsApp’s Success, giving some technical background around the story. As the founder of leading instant messaging technology provider developed in Erlang, I want […]

Optimizing Erlang applications: emysql

Here at ProcessOne we are in the business of building and managing huge scale robust platforms. Be it APNS or GCM, the timely deliver of every one of them is our core task, and we need to be sure that all our infrastructure is ready for it. One of the key components of our system […]