Planet Jabber

Distribuir contenido
Planet Jabber - http://planet.jabber.org/
Actualizado: hace 2 horas 14 segs

ProcessOne: ejabberd and the Google Summer of Code 2016

1 March, 2016 - 15:06

ejabberd project and developers are involved this year again as mentors in Google Summer of Code 2016 initiative, as members of the BEAM Community. This blog post explains what it could mean for you as a student wanting to contribute to our project.

What is Google Summer of Code ?

Google Summer of Code (GSoC) is an annual program in which Google awards stipends (US$5,500) to all students who successfully complete a requested free and open-source software coding project during the summer. The goal is to compensate your time while giving you the ability to strengthen your programming skills while working on Open Source projects.

We have been contributing ideas and will be helping students enrolled in projects for GSOC under the BEAM Community organisation: Beam Community: List of GSoC project ideas.

Students are free to get involved in suggested ideas, but can also propose new project ideas on their own.

Why get involved in GSoC, working on ejabberd ?

For a student, GSoC is a great opportunity to learn new skills, learn to work with a team of experienced developers, help open source projects and get a fair compensation.

ejabberd is one of the most used XMPP server in the world, deployed on huge scale deployments in large corporations. This is a unique chance to get your code running for tens of millions users and have a real impact with your code.

The suggested ideas should be quite interesting and challenging but still manageable to be completed during the summer. Of course, we are open to your own suggestions.

Here are a few of the ideas we have put together, in no particular order:

Students can contribute either in Erlang or Elixir programming languages.

What’s next ?

So, what is the process ?

You will need to submit a proposal on GSoC website, for the Beam Community. Students should pick their projects and submit proposals from 14th to 25th March 2016. Do not be afraid, you are not alone and, as experienced mentors, we are here to help. You can get in touch with our team (On XMPP groupchat, of course), in the chat room gsoc@conference.process-one.net.

Please, make sure that you are eligible before investing time on the project. Details are available on Google Summer of Code 2016 FAQ -> Students.

The whole ejabberd community is looking forward to working with you !

ProcessOne: ejabberd 16.02: Happy Leap Day

29 February, 2016 - 18:12

To celebrate leap day, we are happy to release ejabberd 16.02, which mark huge leap for ejabberd both in terms of features and improvements.

In terms of features, we see in this release the culmination of our work in several areas:
– Support for flexible offline retrieval, aka XEP-0013. This is a big win for mobile developers.
– Improvements on archiving, with Message Archive Management (MAM) now supporting version 0.4.1 of the specifications.
– Full Elixir compliant packaging with the ability to deploy ejabberd as an Hex.pm dependency from your own application. See ejabberd on hex.pm.
– Performance improvement with faster and more memory efficient XML parsing and TLS encryption. You can also refer to our previous blog post: ejabberd Massive Scalability: 1 Node — 2+ Million Concurrent Users
– Better stream compression with the ability to enable stream compression after SASL.
– Easier adoption of ejabberd with a new migration script from Prosody XMPP servers.

As usual, this version is the product of a great community team work, with special kudos to Holger, Alexey, Evgeny, Pawel, Christophe, Badlop, Mickaël for their large contributions in this release.

That community effort is what makes ejabberd is such a popular project, with 2260+ stars on Github, availability in most Linux distributions and showing amazing number of downloads ! Thank you all !

Here is the full list of changes:

Changes New XMPP Extensions support Admin
  • New migration script from Prosody to ejabberd
  • Fix --disable-debug compilation flag
  • don’t escape ERL_OPTIONS
  • Two new global timeouts configurable: c2s_hibernate, receiver_hibernate
  • Make it possible to define sm_db_type per virtual host
  • configuration checker: Describe option type in code for domain_balancing option
  • Log failed SQL requests
  • Include mod_muc.hrl and fix records
  • mod_http_upload: Expand docroot before using it, also expand @HOST@
Commands
  • New import_prosody command
  • Start documenting arguments in mod_admin_extra commands
  • We added a way to get all ejabberd_commands, not only those that was registered
  • Allow to pass \n in argument to ejabberdctl
  • Add error handling to send_stanza command
  • Fix format_result so get_room_options command works again after commit reference aa5caa3
Dependencies
  • lager is the default (and only) logging module and we removed p1_logger
  • Handle spaces in vsn attribute of app file when installing deps
  • Renamed dependencies and modules for consistency but also to reflect huge performance gains:
    . p1_iconv -> iconv
    . p1_stringprep -> stringprep
    . p1_stun -> stun
    . p1_tls -> fast_tls
    . p1_yaml -> fast_yaml
    . p1_zlib -> ezlib
Message Archive Management
  • Advertise MUC MAM v0.4.1 in room JID’s disco#info
  • Add “delete_old_mam_messages” admin command
  • Add ‘from’ attribute to tag
  • Add “request_activates_archiving” option
  • Respond to form requests
  • Support XEP-0313 v0.2 MUC archive queries
  • Check whether MUC message is desired
  • Reject -based paging
  • Limit result set page size
  • Sort messages returned by Mnesia
  • Strip existing JID tags from MUC messages
  • Expose MUC occupant JID in more cases
  • Don’t let outcasts access MUC archive
  • Send new preferences when they are set
  • Stream management (XEP-0198): Let MAM take care of pending messages
GroupChat
  • Send presence with code 170 in initial presence from MUC
  • Add most status codes only to initial MUC presence
  • mod_muc_room: Don’t expose JIDs in anonymous rooms
  • mod_muc_room: Let members see admin/owner JIDs
PubSub
  • Fix presence-based delivery
  • Make caps warning less confusing
  • Fix host/serverhost usage
  • Add support of pubsub#itemreply=publisher
Other
  • Accept stream compression request after SASL
  • Make C2S session establishment optional to better conform to XMPP specifications and still be friendly with older clients.
  • MUC: new regexp_room_id option to limit possible room names.
  • ODBC: Set utf8mb4 charset on MySQL connection to support emoji storage as default.
  • LDAP: Improve LDAP shared roster support.
  • mod_register_web: Allow setting host when deleting account or changing password.
  • Rename timestamp_to_iso functions in jlib.
  • Stream management (XEP-0198): Fix session timeout corner case.
  • Several improvements in Elixir support.
  • Updated many translations.
  • Improve web admin stylesheet to fix rendering issues in some browsers.
Packaging
  • ejabberd is now available as an hex.pm package and can be easily included as a dependency in any Elixir or Erlang application.
  • Installers include latest OpenSSL patches.
Feedback

As usual, the release is tagged in the Git source code repository on Github.

The source package and binary installers are available at ProcessOne.

If you suspect that you’ve found a bug, please search or fill a bug report on Github.

Swift Blog: Swift 3.0 Released

29 February, 2016 - 00:00

We’re pleased to announce that Swift 3.0 has reached full release status. The packages can be downloaded from the releases page and a full list of new features can be found in the 3.0 changelog.

We encourage everyone to get the new build and try it out, and give us feedback on our latest release.

Swift Blog: Swift 3.0 Released

29 February, 2016 - 00:00

We’re pleased to announce that Swift 3.0 has reached full release status. The packages can be downloaded from the releases page and a full list of new features can be found in the 3.0 changelog.

We encourage everyone to get the new build and try it out, and give us feedback on our latest release.

Swift Blog: Swift 3.0 Released

29 February, 2016 - 00:00

We’re pleased to announce that Swift 3.0 has reached full release status. The packages can be downloaded from the releases page and a full list of new features can be found in the 3.0 changelog.

We encourage everyone to get the new build and try it out, and give us feedback on our latest release.

Monal IM: Monal OSX 1.3 and iOS 2.9

26 February, 2016 - 05:22

Monal OSX 1.3 and iOS 2.9 are almost ready.  I have put up what I hope will be the final OS X beta and will begin beta testing iOS today.

This is a major update.  iOS does not run on iOS 6 anymore. iOS 7 isn’t actually supported but will still run.

There are many major improvements.  Most notably:

  1. XEP-0313: Message Archive Management to download chat history.
  2. XEP-0352: Client State Indication for dramatic reduction on power use.
  3. XEP-0363: HTTP File Upload to send images in conversations
  4. Dropbox integration to share files. Can be used when HTTP upload isn’t available.
  5. Fixed several issues with periodic disconnects when in the background
  6. Sped up the app significantly. In particular, logging in.
  7. Rosters download correctly again and contacts should have proper full names instead of id shown.
  8. Fixed bugs with Google logins
  9. iOS text input will grow to multiple lines

Peter Saint-Andre: Ethics and Politics

19 February, 2016 - 00:00
My understanding of philosophy is simple: the love and practice of wisdom. Immersed as I am in the ancients and a few moderns such as Thoreau, I try to live a better life and to have a positive influence in the limited sphere in which I can be effective: to be a good husband, a good friend, a good co-worker, a good neighbor; to exercise financial prudence and mental clarity and physical health and environmental stewardship over my little plot of land; to help make my community a better place to live in and my company a better place to work in; and, at a more personal level, to achieve emotional self-control, to make the best use I can of my limited time on this earth, and to continually improve as a human being. This kind of self-goverance sounds so simple, yet in practice I find it continually challenging.

Peter Saint-Andre: Living in Earnest: Kurt Keefner's Concrete Ethics

19 February, 2016 - 00:00
Have you ever noticed those people who live in their own reality, and who go through life as if they're the center of the world? Whether their act is being cool or earthy, macho or sweet, they're essentially pretending their way through life instead of authentically living it.

ProcessOne: XMPP Academy #3 Video and Slides

18 February, 2016 - 14:37

We recently had our third XMPP Academy live online event. Thank you for all our customers who attended and for all the questions we received.

Here are the questions that were covered during that session:

  1. ejabberd questions:

    • How does Apple and Google Push support work on ejabberd SaaS and ejabberd Business Edition ? direct link – 1m20s
    • What is the relationship between ejabberd Push support and XEP-0357: Push Notifications ? direct link – 22m34s
  2. XMPP questions:

The full video recording of that session is now online and available for everyone to enjoy.

Please, send us your XMPP questions for the next event !

For those who just need access to the slides, they are on Slideshare:

XMPP Academy #3 from Mickaël Rémond

And of course, do not hesitate to watch previous videos:
XMPP Academy #2 video
XMPP Academy #1 video

Daniel Pocock: FOSSASIA 2016, pgDay Asia 2016 and MiniDebConf Singapore

16 February, 2016 - 16:39

The FOSSASIA 2016 conference is taking place next month, 18-20 March at the Science Centre Singapore. The FOSSASIA community has also offered to host a MiniDebConf Singapore 2016 and pgDay Asia 2016. With sufficient interest from volunteers and participants, these events could do a lot to raise the profile of free software in the region.

Applications from speakers and exhibition tables are still possible using the form.

Real-time communications technology at FOSSASIA 2016

We are currently discussing a Real-time lounge and demo area for FOSSASIA, hopefully with a live linkup to the FSF's LibrePlanet 2016 in Boston.

FOSSASIA have invited a number of developers to speak about SIP, XMPP, WebRTC and peer-to-peer communications solutions. Hopefully exact attendance and scheduling can be publicised soon.

Sponsors needed

Bringing leading free software developers to Singapore is not easy and further sponsorship is needed to ensure all the speakers who would like to participate can get there. If you or your organization can help with funding or accommodation please make contact.

Google Summer of Code

If you want to be selected for Google Summer of Code 2016 and you live in Singapore or a neighbouring country, FOSSASIA could be a great opportunity to meet potential mentors, hack on things together and talk about project ideas. Free software development is a community activity and the more you engage with the community, the more confident mentors are likely to be about selecting you.

Questions and contact

For general questions about FOSSASIA 2016 and Singapore, please ask the FOSSASIA mailing list. For questions about the MiniDebConf, see debconf-discuss and for pgDay Asia, please join the pgday-asia mailing list or otherwise try pgsql-general or the seasiapug regional list.

Erlang Solutions: MongooseIM 1.6: Riak, DevOps love, and so much more!

10 February, 2016 - 18:49

Most of the development work around MongooseIM is done by working closely with our clients. Many of the new features in MongooseIM 1.6 are the result of building and testing around particular client requirements. We are particularly excited about this release, as it means the beginning of an improved team dynamic, new high-value features, and many improvements.

What’s new in MongooseIM 1.6 Riak KV

MongooseIM 1.6 introduces support for Riak - the scalable, fault-tolerant, distributed database written in Erlang. For this release, four modules can be configured with Riak, but more are on their way.

Currently, MongooseIM supports Riak as a storage backend for:

  • Authentication
  • Message Archive Management (MAM, XEP-0313) for one-to-one conversations
  • vCards (XEP-0054)
  • Private XML storage (XEP-0049)

This brings more flexibility in terms of database choice for any infrastructure, as you are free to choose between a RDBMS or NOSQL data store.

Powerful metrics, DevOps love

Version 1.6 offers very powerful metrics and monitoring infrastructure. For the underlying instrumentation, MongooseIM relies on Exometer. It reports OS-level and Erlang VM metrics, in addition to business metrics. You can then push those metrics to any ingesting and graphing system, such as Grafana or Kibana.

This greatly improves DevOps' visibility for managing systems, no matter the size of the installation. Other departments will benefit from having more data to dig into (big data, analytics), thus better understanding the end-users and eventually discovering new opportunities to improve UX, core competencies, and selling points.

Additionally, we have improved how session data from the DB is cleaned up when a node goes down. It eases the support for more database backends in the future, and it brings better cluster handling for DevOps.

Also, it is now possible to change log-level dynamically with a custom log path. For DevOps, once again, it helps consolidated logging for easier deployment, administration, and analysis.

Get your own easy-to deploy Docker image of MongooseIM. As it is still experimental and will improve over time, please handle it with care: https://hub.docker.com/r/mongooseim/mongooseim-docker/. Give it a test drive, come back to us with feedback or questions and tell us and what you'd like to see in the future. Feel free to fork it from: https://github.com/ppikula/mongooseim-docker.

Additional high value improvements

Extensive technical investment means we can continue to deliver a better MongooseIM with the Open Source community: we made changes to the core and integrated our test suite, the first of its kind, in the hope of seeing even more Open Source contribution.

Selected improvements:

  • Supported XEPs are now documented on https://github.com/esl/MongooseIM
  • Substantial refactoring: authentication mechanism, c2s, simplified MAM
  • Erlang/OTP 18 support
  • Better RFC & XEP conformance

We encourage everybody to review the release notes on GitHub.

Coming up next

MongooseIM 1.6 will continue to bring many benefits such as: extensive and powerful business metrics, flexibility for DevOps, a rock-solid code base and stability for server and backend developers, more conformance for client developers, and extensive testing for all.

1.6.x maintenance series

We will be working on a maintenance version, 1.6.1 (and perhaps a 1.6.2 later), with more complete Riak support, and of course the usual bug fixes, optimisations, and general improvements.

1.7 and subsequent releases

The development cycle for version 1.7 has already begun! We will focus on cloud, mobile, and testing. That is all we can share for now, but feel free to tell us what you think. We will also put more effort and commitment into making release schedules more predictable - in fact we already are.

Invitations Be the first to get informed!

We have set up a new public mailing-list for all announcements of major events happening on the MongooseIM front. Expect one or two emails per month, the archives are free and open. We highly encourage you to subscribe here: https://groups.google.com/d/forum/mongooseim-announce

Click on the blue button "Join group":

Then click in "Email delivery preference" on "Notify me for every new message":

Contribute...

We received some very valuable contributions over the last months, and we would like to thank all of the developers who took part in the delivery of version 1.6: @rgrinberg, @vooolll, @syhpoon, @mweibel, @Stelminator, @larshesel, @ruanpienaar,@aszlig, @jonathanve, @gmodarelli.

We hope to see everyone contributing again in the coming months - you have all the power to closely participate in this fully open source project.

Influence our roadmap!

We encourage you to comment below this blog post, tell us what you think about this release, and where we should go in the future. You can also give feedback on GitHub through “Issues” - we are keen on gathering common problems and goals to provide solutions.

We believe the best thing to do is fork the project, and make a pull requests when you are happy. We will discuss with you, and include that into a milestone, entering our fully automated testing process.

Monal IM: Monal OS X with Client state and initial Mam

10 February, 2016 - 13:32

There is a new version of the OS X beta with a complete implementation for XEP-0352: Client State Indication and an initial implementation of  XEP-0313: Message Archive Management . I know some issues with MAM that I will fix, in particular:

  1. last message received is duplicated
  2. time stamps on delayed messages are not the originals but when they arrived
  3. only retrieves the default number of messages from the server/ doesn’t handle paging yet.

If you see anything else, let me know.

ProcessOne: Deep Dive Into ejabberd Pubsub Implementation – ejabberd Workshop #1

9 February, 2016 - 13:21

In this new talk from ejabberd Advanced Erlang Workshop, Christophe Romain goes into the details of ejabberd Pubsub implementation. He explains the Pubsub plugin systems and how to leverage it to optimize ejabberd PubSub for your own use cases.

This talk will teach you how to get more performance and scalability from your Pubsub implementation.

You can watch the full talk online:

You can also browse the slides:

If you like our videos, you may consider joining one of our next Advanced Erlang Workshop:

Swift Blog: Swift 3.0-rc2 Released

9 February, 2016 - 00:00

We’re pleased to announce that Swift 3.0 has reached the release candidate stage, this means we have fixed all known issues and implemented all features we intend on having in 3.0, if no critical issues are found in these builds we will do a full release in the near future. The packages can be downloaded from the releases page and a full list of new features can be found in the 3.0 changelog but highlights include the ability to authenticate using certificates, support for the OS X notification center as well as the secure transport mechanism.

We encourage everyone to get the new build and try it out, and tell us about any bugs they should come across as we work towards release candidates and a final release.

Swift Blog: Swift 3.0-rc2 Released

9 February, 2016 - 00:00

We’re pleased to announce that Swift 3.0 has reached the release candidate stage, this means we have fixed all known issues and implemented all features we intend on having in 3.0, if no critical issues are found in these builds we will do a full release in the near future. The packages can be downloaded from the releases page and a full list of new features can be found in the 3.0 changelog but highlights include the ability to authenticate using certificates, support for the OS X notification center as well as the secure transport mechanism.

We encourage everyone to get the new build and try it out, and tell us about any bugs they should come across as we work towards release candidates and a final release.

Swift Blog: Swift 3.0-rc2 Released

9 February, 2016 - 00:00

We’re pleased to announce that Swift 3.0 has reached the release candidate stage, this means we have fixed all known issues and implemented all features we intend on having in 3.0, if no critical issues are found in these builds we will do a full release in the near future. The packages can be downloaded from the releases page and a full list of new features can be found in the 3.0 changelog but highlights include the ability to authenticate using certificates, support for the OS X notification center as well as the secure transport mechanism.

We encourage everyone to get the new build and try it out, and tell us about any bugs they should come across as we work towards release candidates and a final release.

The XMPP Standards Foundation: The 19th XMPP Summit and FOSDEM 2016

8 February, 2016 - 21:25
19th XMPP Summit

In late January 2016, from the 28th to the 29th, the XSF held its XMPP Summit in Brussels, Belgium. It was the 19th meeting by XMPP standards writers, implementers, and enthusiasts since the first XMPP Summit in July 2006. Among the topics we discussed were MIX, efficient reconnections and, as always, end-to-end security.

#XMPP2016 XSF at work at XMPP Summit pic.twitter.com/ZNEsilzJ2z

— Nicolas Vérité, Nÿco (@nyconyco) January 28, 2016

MIX, defined in XEP-0369: Mediated Information Exchange, is a replacement for the current multi-user chat standard (XEP-0045). Classic MUC was first standardized 14 years ago. While it has received some updates and fixes over the years, it still has severe issues considering modern usage scenarios: like mobile devices without a permanent connection and on low bandwith, or rich-media applications with images, movies and voice/video conversations.

MIX is a new protocol aiming to solve these issues and provide a clean solution, based on Publish-Subscribe allowing independent distribution of messages, configuration, presence and more, and Message Archive Management for chat history.

MIX related topics like mentioning others in a chat room, conversation threading and bookmarks have also been discussed and to some extent already standarized shortly after the summit. MIX will enable the implementation of modern group-chat applications with a good user experience in an easier fashion compared to classic MUC.

Simple and efficient reconnection was another large topic discussed at the XMPP Summit. The protocol for a full connection of modern XMPP clients has become more complex and extensive over the years as features have been added. This includes stuff like TLS negotiation, synchronization of contact lists, feature discovery and more.

We collectively analyzed the protocol a modern feature-full XMPP client uses to login, and highlighted opportunities to reduce traffic, round trips and latency. An efficient reconnection is becoming more important as more and more chat applications run on a mobile device and reconnect quite often. A writeup of our findings and directions to possible optimizations will soon follow in the form of an informational XEP.

Finally, end-to-end security between XMPP clients was shortly discussed. The current ideas mainly evolve around fixing OpenPGP usage in XMPP and the Axolotl-based OMEMO proposal. Here, our discussion mainly focused on current issues around the OMEMO proposal like missing support for full-stanza encryption and the threat model OMEMO is designed to protect against.

On the evening of the 28th, we also had our traditional XSF Dinner with interesting discussions and delicious food.

Yummy meal. Honestly, best steak in Belgium at L'Auberge Bretonne for XSF dinner. #XMPP2016

— Dave Cridland (@DwdDave) January 28, 2016

#XMPP2016 https://t.co/oWNO1LopMN pic.twitter.com/fbYza3VO1C

— Sergey Dobrov (@JBinary) January 29, 2016

We would like to thank the summit's sponsors, AG-Software, Cisco and Surevine, for enabling this great meetup and the XSF Dinner.

FOSDEM 2016

In the Real Time devroom, there has been a lot happening around the SIP and WebRTC protocols & ecosystems, but also around XMPP.

Panagiotis Stathopoulos presented "Sharp.Xmpp, a multiplatform .NET XMPP client library and Android" with some real world return of experience around battery and bandwidth efficiency.

Nicolas (Nÿco) Vérité presented "The state of XMPP and instant messaging, The awakening" introducing the 3 generations of Instant Messaging, the trough of disillusionment, and consequently the necessary cleanup yet to be accomplished.

The state of XMPP and instant messaging at #FOSDEM2016 thx @michalwski for the pic #XMPP2016 it was fun, thx to all! pic.twitter.com/9CNqIYSwQz

— Nicolas Vérité, Nÿco (@nyconyco) January 30, 2016

Dave Cridland talked about "Reigniting Openfire: A tale of birth, death, zombies, and resurrection" (with a lie about zombies), showing the history of the Openfire XMPP server.

Matthew Wild talked about "XMPP: Beyond standards, Exploring the non-technical requirements of open communication" which echoes the need to focus less on lower layers, but more in the user space.

Matthew Wild presenting #XMPP2016 #prosody #FOSDEM pic.twitter.com/YS8zxjI33t

— Steffen Larsen (@zooldk) January 30, 2016

Jérôme Poisson (Goffi) presented "How we built a decentralized blogging engine with XMPP" in Libervia (Salut à Toi), demonstrating the capacities of XMPP outside of chat.

The Real Time lounge was a booth where people could sit in large cushions, to openly discuss about Real Time Communications.

Setting up at FOSDEM. #XMPP2016 pic.twitter.com/Y0Yv9cxOBL

— Dave Cridland (@DwdDave) January 30, 2016

In the Main Track, beyond the scope of only Real Time Communications, Daniel Pocock presented "Free communications with Free Software is there any credible way to build a trustworthy communications platform without using free software?".

Daniel Pocock introducing humourously "Free comms with free software" #FOSDEM2016 #xmpp2016 pic.twitter.com/uYzSL9VPiw

— Nicolas Vérité, Nÿco (@nyconyco) January 31, 2016

Overall, the participants were all quite satisfied with what they achieved and we are looking forward to our next XMPP Summit.

Monal IM: OSX support for HTTP upload

8 February, 2016 - 21:14

The latest OS X beta for 1.3  is up and you will notice a paperclip icon. This is an initial implementation of XEP-0363 HTTP Upload . I am still working on updating the UI but generally speaking, if your server supports it, it should work. I have mostly tested with Prosody. I am curious to see how well it works with other servers.  There are a couple of caveats at the moment:

  1. It shows the button for all servers at the moment. I intend to hide it for servers that do not support HTTP upload.
  2. There isn’t any feedback in the event of HTTP upload failure. I will add an alert in the future.
  3. There isn’t a progress indicator. Again, this is something I intend to add in the future
  4. If your server uses HTTPs this will not work will untrusted certificates.

ProcessOne: Implementing State of the Art One-to-Many Chat Services with ejabberd – ejabberd Workshop #1

8 February, 2016 - 17:29

This is the first published video for ejabberd Advanced Erlang Workshop.

In this video, I talk about the history of XMPP protocol extensions for group messaging and detail each approach for message broadcasting, from multicast to pubsub.

I also explain how to overcome the limitations of Multi-User Chat protocol to build mobile Whatsapp-like group chat services with ejabberd.

You can watch the full talk online:

You can also download the slides: ejabberd state of the art to implement one-to-many chat services

If you like our videos, you may consider joining one of our next Advanced Erlang Workshop:

Monal IM: New bug tracker

5 February, 2016 - 20:43

In the interest of moving as much as possible to github, I am going to move all Monal issues to github’s tracker.  Please submit new bugs and features at github.