Agregador de noticias

ProcessOne: Elixir Paris Meetup: July 5, 2016

Planet Jabber - 24 June, 2016 - 16:09

Elixir Paris Meetup will happen on July 5th in downtown Paris, at Remix Coworking.

The programme includes the following talks (in French):

  • Lessons learned by rewriting a SaaS application in RubyOnRails in Elixir (Thibaut Barrère)
  • Sidekiq and Exq (Bryan Frimin)
  • Phoenix Presence: Phoenix 1.2 realtime service (Mickaël Rémond)

You can register to attend on Paris.ex meetup page: Elixir Paris Meetup #8

ProcessOne: XMPP Radar Newsletter #11

Planet Jabber - 23 June, 2016 - 15:41

Welcome to the 11th issue of our newsletter. You can subscribe to the XMPP Radar newsletter and receive it in your inbox at the end of each month. Here are the links we found interesting in May:

What 671 million push notifications say about how people spend their day

Push notifications are a cornerstone of every mobile app’s engagement and retention strategy, yet we know so little about them.

Personalized push notifications can increase open rates up to 800%

Apps that blast out push notifications are missing out on an opportunity to encourage engagement, with personalized notifications driving significantly higher results across the 1.5 billion messages analyzed for a new report from Leanplum.

Is instant messaging the next innovation for online learning?

The Economist magazine published recently an article titled “The Slack Generation”, highlighting the growing importance of messaging software in the workplace. The article pointed out three main workplace changes that have led to Slack’s rise.

XyBot, an XMPP bot that allows users to interact with Asterisk

Another feature that I believe can improve the user experience is the possibility of interact with your telephone system (Asterisk) directly from your IM client.

Native web push notifications with Angular 2

The Notifications API has been available for some browsers for a while now. Alex Castillo is bringing this powerful API to the Angular world in the form of a library, making it more accessible and reusable for developers.

Is this the end of decentralisation?

Signal, which is developed by Moxie and Open Whisper Systems, is a tool for secure messaging between mobile devices. It has faced criticism since Signal is built on a centralised platform. The criticism was fueled even further by an idea that LibreSignal, an independent build of Signal, would not be able to federate and talk to the Signal servers.

Daniel Pocock: WebRTC and communications projects in GSoC 2016

Planet Jabber - 20 June, 2016 - 15:02

This year a significant number of students are working on RTC-related projects as part of Google Summer of Code, under the umbrella of the Debian Project. You may have already encountered some of them blogging on Planet or participating in mailing lists and IRC.

WebRTC plugins for popular CMS and web frameworks

There are already a range of pseudo-WebRTC plugins available for CMS and blogging platforms like WordPress, unfortunately, many of them are either not releasing all their source code, locking users into their own servers or requiring the users to download potentially untrustworthy browser plugins (also without any source code) to use them.

Mesut is making plugins for genuinely free WebRTC with open standards like SIP. He has recently created the WPCall plugin for WordPress, based on the highly successful DruCall plugin for WebRTC in Drupal.

Keerthana has started creating a similar plugin for MediaWiki.

What is great about these plugins is that they don't require any browser plugins and they work with any server-side SIP infrastructure that you choose. Whether you are routing calls into a call center or simply using them on a personal blog, they are quick and convenient to install. Hopefully they will be made available as packages, like the DruCall packages for Debian and Ubuntu, enabling even faster installation with all dependencies.

Would you like to try running these plugins yourself and provide feedback to the students? Would you like to help deploy them for online communities using Drupal, WordPress or MediaWiki to power their web sites? Please come and discuss them with us in the Free-RTC mailing list.

You can read more about how to run your own SIP proxy for WebRTC in the RTC Quick Start Guide.

Finding all the phone numbers and ham radio callsigns in old emails

Do you have phone numbers and other contact details such as ham radio callsigns in old emails? Would you like a quick way to data-mine your inbox to find them and help migrate them to your address book?

Jaminy is working on Python scripts to do just that. Her project takes some inspiration from the Telify plugin for Firefox, which detects phone numbers in web pages and converts them to hyperlinks for click-to-dial. The popular libphonenumber from Google, used to format numbers on Android phones, is being used to help normalize any numbers found. If you would like to test the code against your own mailbox and address book, please make contact in the #debian-data channel on IRC.

A truly peer-to-peer alternative to SIP, XMPP and WebRTC

The team at Savoir Faire Linux has been busy building the Ring softphone, a truly peer-to-peer solution based on the OpenDHT distribution hash table technology.

Several students (Simon, Olivier, Nicolas and Alok) are actively collaborating on this project, some of them have been fortunate enough to participate at SFL's offices in Montreal, Canada. These GSoC projects have also provided a great opportunity to raise Debian's profile in Montreal ahead of DebConf17 next year.

Linux Desktop Telepathy framework and reSIProcate

Another group of students, Mateus, Udit and Balram have been busy working on C++ projects involving the Telepathy framework and the reSIProcate SIP stack. Telepathy is the framework behind popular softphones such as GNOME Empathy that are installed by default on the GNU/Linux desktop.

I previously wrote about starting a new SIP-based connection manager for Telepathy based on reSIProcate. Using reSIProcate means more comprehensive support for all the features of SIP, better NAT traversal, IPv6 support, NAPTR support and TLS support. The combined impact of all these features is much greater connectivity and much greater convenience.

The students are extending that work, completing the buddy list functionality, improving error handling and looking at interaction with XMPP.

Streamlining provisioning of SIP accounts

Currently there is some manual effort for each user to take the SIP account settings from their Internet Telephony Service Provider (ITSP) and transpose these into the account settings required by their softphone.

Pranav has been working to close that gap, creating a JAR that can be embedded in Java softphones such as Jitsi, Lumicall and CSipSimple to automate as much of the provisioning process as possible. ITSPs are encouraged to test this client against their services and will be able to add details specific to their service through Github pull requests.

The project also hopes to provide streamlined provisioning mechanisms for privately operated SIP PBXes, such as the Asterisk and FreeSWITCH servers used in small businesses.

Improving SIP support in Apache Camel and the Jitsi softphone

Apache Camel's SIP component and the widely known Jitsi softphone both use the JAIN SIP library for Java.

Nik has been looking at issues faced by SIP users in both projects, adding support for the MESSAGE method in camel-sip and looking at why users sometimes see multiple password prompts for SIP accounts in Jitsi.

If you are trying either of these projects, you are very welcome to come and discuss them on the mailing lists, Camel users and Jitsi users.

GSoC students at DebConf16 and DebConf17 and other events

Many of us have been lucky to meet GSoC students attending DebConf, FOSDEM and other events in the past. From this year, Google now expects the students to complete GSoC before they become eligible for any travel assistance. Some of the students will still be at DebConf16 next month, assisted by the regular travel budget and the diversity funding initiative. Nik and Mesut were already able to travel to Vienna for the recent MiniDebConf /

As mentioned earlier, several of the students and the mentors at Savoir Faire Linux are based in Montreal, Canada, the destination for DebConf17 next year and it is great to see the momentum already building for an event that promises to be very big.

Explore the world of Free Real-Time Communications (RTC)

If you are interesting in knowing more about the Free RTC topic, you may find the following resources helpful:

RTC mentoring team 2016

We have been very fortunate to build a large team of mentors around the RTC-themed projects for 2016. Many of them are first time GSoC mentors and/or new to the Debian community. Some have successfully completed GSoC as students in the past. Each of them brings unique experience and leadership in their domain.

Helping GSoC projects in 2016 and beyond

Not everybody wants to commit to being a dedicated mentor for a GSoC student. In fact, there are many ways to help without being a mentor and many benefits of doing so.

Simply looking out for potential applicants for future rounds of GSoC and referring them to the debian-outreach mailing list or an existing mentor helps ensure we can identify talented students early and design projects around their capabilities and interests.

Testing the projects on an ad-hoc basis, greeting the students at DebConf and reading over the student wikis to find out where they are and introduce them to other developers in their area are all possible ways to help the projects succeed and foster long term engagement.

Google gives Debian a USD $500 grant for each student who completes a project successfully this year. If all 2016 students pass, that is over $10,000 to support Debian's mission.

Fanout Blog: hack.guides() Tutorial Contest

Planet Jabber - 16 June, 2016 - 22:12

Are you all about realtime apps? Well, now you can be famous and win $500 to teach the Internet. Fanout is excited to team up with the hack.guides() 2016 Tutorial Contest. Any realtime app submitted to the contest that uses Pushpin or Fanout Cloud will qualify for a chance to win a $500 prize.

See the contest here:


Peter Saint-Andre: Philanthropic Philosophy

Planet Jabber - 12 June, 2016 - 00:00
One of the few investment writers I still read is John Hussman. His deeply rational, evidence-based approach to the markets is something I very much appreciate in this world of breathless hype and cynical salesmanship.

Daniel Pocock: Working to pass GSoC

Planet Jabber - 8 June, 2016 - 17:11

GSoC students have officially been coding since 23 May (about 2.5 weeks) and are almost half-way to the mid-summer evaluation (20 - 27 June). Students who haven't completed some meaningful work before that deadline don't receive payment and in such a large program, there is no possibility to give students extensions or let them try and catch up later.

Every project and every student are different, some are still getting to know their environment while others have already done enough to pass the mid-summer evaluation.

I'd like to share a few tips to help students ensure they don't inadvertently fail the mid-summer evaluation

Kill electronic distractions

As a developer of real-time communications projects, many people will find it ironic or hypocritical that this is at the top of my list.

Switch off the mobile phone or put it in silent mode so it doesn't even vibrate. Research has suggested that physically turning it off and putting it out of sight has significant benefits. Disabling the voicemail service can be an effective way of making sure no time is lost listening to a bunch of messages later. Some people may grumble at first but if they respect you, they'll get into the habit of emailing you and waiting for you to respond when you are not working.

Get out a piece of paper and make a list of all the desktop notifications on your computer, whether they are from incoming emails, social media, automatic updates, security alerts or whatever else. Then figure out how to disable them all one-by-one.

Use email to schedule fixed times for meetings with mentors. Some teams/projects also have fixed daily or weekly times for IRC chat. For a development project like GSoC, it is not necessary or productive to be constantly on call for 3 straight months.

Commit every day

Habits are a powerful thing. Successful students have a habit of making at least one commit every day. The "C" in GSoC is for Code and commits are a good way to prove that coding is taking place.

GSoC is not a job, it is like a freelance project. There is no safety-net for students who get sick or have an accident and mentors are not bosses, each student is expected to be their own boss. Although Google has started recommending students work full time, 40 hours per week, it is unlikely any mentors have any way to validate these hours. Mentors can look for a commit log, however, and simply won't be able to pass a student if there isn't code.

There may be one day per week where a student writes a blog or investigates a particularly difficult bug and puts a detailed report in the bug tracker but by the time we reach the second or third week of GSoC, most students are making at least one commit in 3 days out of every 5.

Consider working away from home/family/friends

Can you work without anybody interrupting you for at least five or six hours every day?

Do you feel pressure to help with housework, cooking, siblings or other relatives? Even if there is no pressure to do these things, do you find yourself wandering away from the computer to deal with them anyway?

Do family, friends or housemates engage in social activities, games or other things in close proximity to where you work?

All these things can make a difference between passing and failing.

Maybe these things were tolerable during high school or university. GSoC, however, is a stepping stone into professional life and that means making a conscious decision to shut those things out and focus. Some students have the ability to manage these distractions well, but it is not for everybody. Think about how leading sports stars or musicians find a time and space to be "in the zone" when training or rehearsing, this is where great developers need to be too.

Some students find the right space in a public library or campus computer lab. Some students have been working in hacker spaces or at empty desks in local IT companies. These environments can also provide great networking opportunities.

Managing another summer job concurrently with GSoC

It is no secret that some GSoC students have another job as well. Sometimes the mentor is aware of it, sometimes it has not been disclosed.

The fact is, some students have passed GSoC while doing a summer job or internship concurrently but some have also failed badly in both GSoC and their summer job. Choosing one or the other is the best way to succeed, get the best results and maximize the quality of learning and community interaction. For students in this situation, now it is not too late to make the decision to withdraw from GSoC or the other job.

If doing a summer job concurrently with GSoC is unavoidable, the chance of success can be greatly increased by doing the GSoC work in the mornings, before starting the other job. Some students have found that they actually finish more quickly and produce better work when GSoC is constrained to a period of 4 or 5 hours each morning and their other job is only in the afternoon. On the other hand, if a student doesn't have the motivation or energy to get up and work on GSoC before the other job then this is a strong sign that it is better to withdraw from GSoC now.

Nicolas Vérité: The true awakening of XMPP

Planet Jabber - 7 June, 2016 - 16:14

2016 is definitely the year of the awakening of XMPP. It is already mid-year, but here is what happened already, and what we can do next.

Matthew Wild: non-tech requirements

At the FOSDEM 2016 and XMPP Summit 19, Matthew Wild, lead developer of Prosody, pushed the XMPP community into « Exploring the non-technical requirements of open communication« , which lead to the creation of a very small website (although unmaintained), but still a very strong initiative: As an XSF Council member, Matthew opened up minds with this thinking out of the box.

Nicolas Vérité: 3 generations of IM

I did my part, by contributing to the wake up call, with « The state of XMPP and instant messaging, The awakening« , followed by « Welcome to the third generation of Instant Messaging! » part 1 (1st and 2nd gen of IM) and part 2 (3rd gen of IM, synthesis matrix), and « 3 gens of IM, next steps for XMPP« . I believe this had its positive effects as well, as some items were actively discussed forward at the XMPP Summit 20 (hosted by Atlassian, makers of the 3rd gen IM HipChat, based on XMPP), and the feedback from the nice guys of Tigase said: « The most prevalent topic at the summit was the future of XMPP communication, and how it can fit into the third generation of instant messaging. ».

Daniel Gultsch: mobile XMPP

Daniel Gultsch, lead developer of Android client, has written a thought-provoking piece on « The State of Mobile XMPP in 2016« , pointing at strengths and weaknesses, and debunking some misunderstanding.

Georg Lukas: easy XMPP

Today, it is Georg Lukas, pointing out « Easy XMPP« , with « Easy Onboarding » and « Easy Roster Invitations« . To quote Georg, « After reflecting upon all these things though I must say that I am surprised how much low-hanging fruit we’ve ignored over the last decade or so ».


It is clear that these many wake up calls have echoed with each other. We have quite a clear path, that may need a little refinement. Now it is a matter of priorities and formalisation, given the limited resources we have…

Is it time we start to write a vision statement and a roadmap for the next 6 to 12 months?

Christian Schudt: Babbler Version 0.7.0 Released

Planet Jabber - 5 June, 2016 - 16:58
Version 0.7.0 of the XMPP Java library has just been released!

As always you can find the artifacts in Maven Central:


Release highlights are support for WebSocket connection, the new XMPP Address Format (RFC 7395), asynchronous API for IQ queries and XEP-0198: Stream Management (which is still a bit experimental).

Some API has also been revised for less ambigious and easier usage, e.g. timeouts are now represented by java.time.Duration instead of a int/long (which somtimes were seconds, sometimes milliseconds) and the xml:lang attribute is now represented by java.util.Locale instead of String to prevent improper usage.

Here's a more complete list of changes:
  • Add support for XEP-0198: Stream Management
  • Add support for WebSocket connection method (RFC 7395).
  • Update Jid class to the new XMPP Address Format (RFC 7622)
  • IQ queries can now be executed asynchronously (non-blocking) using Java 8’s java.util.concurrent.CompletableFuture API.
  • Represent xml:lang attributes as java.util.Locale, not as String.
  • Represent timeouts as java.time.Duration instead of int/long for better clearness.
  • Add a very minimalistic DNS resolver for resolving SRV and TXT records in order to remove the dependency to com.sun.* classes.
  • Add more ReconnectionStrategy implementations.
  • Check connected state of socket before connecting (to prevent SocketException when a SocketFactory provides a connected socket)
  • Add XmppSession#isAuthenticated() method.
  • Add static XmppSession#addCreationListener() method to allow to listen for newly created sessions.
  • Update XEP-0080 to version 1.9 (add altaccuracy element).
  • Add API to destroy a MUC room without a reason.
  • More documentation, e.g. clarify the use of ConnectionConfiguration#secure()
  • Don’t include an empty body in Message Delivery Receipts.
  • Add correct XML names to component namespace stanzas.
  • Eagerly release unused port to prevent ports-leaks due to delayed GC
  • Improve thread-safety during connect() and login()
  • Fix encoding issues, caused by missing UTF-8 encoding, mainly in the debugger.
  • XEP-0033: Address should have extensions.
  • Add workaround for a JDK bug causing memory issues and high CPU.
  • Add documentation for custom SASL authentication.

Tigase Blog: XEP-0334 Support in AMP

Planet Jabber - 28 May, 2016 - 05:52

Tigase's Advanced Message Plugin now supports XEP-0334 Message Storage Hints. Now offline messages can contain hints as to what to do with offline messages.

Peter Saint-Andre: Investing for the Rest of Us

Planet Jabber - 28 May, 2016 - 00:00
Back in 2009, I wrote a blog post entitled Financial Thinking, in which I summarized the results of six months' research on investment strategies after the 2008-2009 market crash (informed both by practical experience and by my grounding in economics, history, psychology, and philosophy). Since then I've done a lot more thinking and research; more pointedly, of late a few friends have asked for my thoughts on the topic. Thus I figure it's time to provide a more complete report on my thinking about finance and investing.

Swift Blog: Swift 3.0: File Transfer and Keyword Highlighting

Planet Jabber - 26 May, 2016 - 00:00

Swift 3.0 was released a couple of months ago and we’ve had lots of feedback from users, so we’d like to start off this blog post by thanking you all for this, we never tire of hearing how great Swift is!

Many new features were introduced in 3.0, a list of which can be found in the changelog, but today we would like to bring your attention to two of those: File Transfe r and Keyword Highlighting.

File Transfer

Swift can now transfer files via the ‘Jingle File Transfer’ protocol. We’ve made it nice and east to start transferring files to your contacts, simply drag the required file onto an open chat and voilà.

Keyword Highlighting

Keyword highlighting is now supported in Swift, this allows users to setup Swift to alert them to activity that matches their configured highlighting rules. This was described in a previous blog post. To get started use the “Edit Highlight Rules” menu item and set your required rules.

Tigase Blog: XMPP Summit reflections

Planet Jabber - 25 May, 2016 - 04:37

A brief overview of XMPP Summit 20

Peter Saint-Andre: Identity Self-Defense

Planet Jabber - 22 May, 2016 - 00:00
A friend of mine was the victim of identity theft recently, so I did some research and took action to further strengthen my identity self-defenses. Here's what I learned...

Erlang Solutions: Welcome to the third generation of Instant Messaging! Part 2/2

Planet Jabber - 16 May, 2016 - 10:20

CC by-sa, Creative Commons Attribution-ShareAlike 4.0 international

This is the second and last part of my “Welcome to the third generation of Instant Messaging!” post, you can read part 1 here.

The first generation was lead by ICQ and followed by all its clones and is characterised by multi-window desktop software, with through sporadic internet connection, all centered around the concept of ‘presence’.

The second generation was triggered by the multi-touch smartphone revolution and includes was lead by WhatsApp and followed by all its clones, with the main focus on making chats less synchronous.

This is the third generation.

3rd generation: group messaging

The group messaging revolution began around 2015-2016, with the advent of Slack and HipChat. Other services in the third generation are Zulip, Otalk, Kaiwa, Mattermost, Let's Chat, Rocket.Chat. Since the third genration revolution is still ongoing, observing and understanding what is happening is much harder. We don’t yet have any strong long-term feedback, and the race is ongoing. But again, a new generation, a new disruption is evolving.

a. Continuous computing experience

The context evolved once again. Mobile have overtaken sales of other forms of computer. People use smartphones as their first (sometimes only) device. But, overall, the smartphone revolution calmed down a little. Many companies now practice “BYOD” (“Bring Your Own Device”), allowing employees to use their personal smartphone and laptop for work. People generally use a laptop at work, a tablet on the couch, and a smartphone on their commute, coffee pause, and lunch break, not to mention parties, family dinners and toilet breaks.

b. Presence makes a shy comeback, but remains a secondary feature

We learned that in the 2nd generation presence was missed by users when removed from apps, or still used as a secondary feature. When it comes to presence, there is continuity between 2nd and 3rd generation, but with a slight come back: although presence does not always comes as a central feature, it is only one click or tap away.

c. Mobile AND desktop in the real world

The 3rd generation IMs come in different flavors: the app is available on one or two (or more) mobile platforms and on one or two (or more) desktop platforms. These software pieces may not come with feature parity due to all these apps’ lifecycles, but the overall user experience is mostly there already. On desktop, software is often available in the web browser. And when it comes as desktop software, it is often just the web app that is delivered into a packaged software working on web technologies.

d. Single window mode, for simplicity, and flat design

All the 2nd generation IMs that now provide some desktop experience offer single window software. Not because of the web technologies they are based on, just because multi-window is far too complex for massive user bases.

The responsive design of the few desktop apps and websites of the 2nd generation has been generalised, and consequently brought about the 3rd generation. If you resize your desktop app window to a tiny size, you have a UX close to that of the mobile app (minus multi touch input), when you resize it to average size, you get a tablet-like experience, and when you really enlarge it, you have the full blown desktop experience.

Flat design is the default of the 3rd generation, whether it is done in Apple style, Material design by Google, Metro-style by Microsoft. This is a minimalist UI design genre or language, getting away from the skeuomorphic paradigm, that immitates previous generations’ interfaces. Even 2nd generation apps are now phasing out non-flat design.

e. Group chat is the main core feature

Group apps of the 3rd generation IM naturally prioritise group chats, or at least do not relegate them as a secondary feature. Conceptually, in group apps, the chat rooms or channels are not just an extension of one-to-one chats, but rather one-to-one chats are a downsized version of group chats. That is one very small technical difference from 2nd generation that makes for a totally different user experience.

Other more obvious differences are groups having persistent files and links and stars/favorites, and room/channel notifications. And let’s not forget full text search, but more on that in a bit.

Some may argue that the 3rd generation IM is a return to what IRC was: a group chat at the core. Indeed, but it undeniable that the 3rd generation IM is much more user-friendly and technologically advanced than IRC clients.

f. Continuous devices synchronisation

The 3rd generation is multi-device by default, by nature, and because it is an extension of the 2nd generation which was mostly mobile-only (at least at the beginning), as it completes the devices’ scope with desktop apps. The idea is to offer continuous flow, not only with message sync, but also with unread and file sync, outside the app.

The 3rd generation is still as asynchronous as the 2nd generation, but it adds email notifications. These are slightly delayed notifications (non real-time), for when you can’t participate in conversations. These emails tell you what you have missed, via a bulk of messages at a time. It might not seem like much, but it fills a gap and underlines the missing parts of asynchronicity.

g. Persistence of in-chat files

In-chat media files have stayed and the 3rd generation brought some improvement, with persistent files directories, often materialised in sidebars. This is an advancement over the in-app galleries of the 2nd generation, which only allowed you to scroll through pictures.

The Ffile transfer of the old days might be missing now, for file exchanges in fire-and-forget mode (out-of-chat propose+accept UX), with no archive, and no search. The common workaround is using external, third party file sync services such as DropBox, Box, Google Drive.

h. Voice and video: stagnation or regression

Since 3rd generation apps focus on groups, multi-party VoIP is the target, the Holy Grail that the 2nd generation has not achieved. This is very difficult to achieve, which may be why implementors are taking their time. The goal might be not to disappoint high expectations.

i. Specificities: full text search, stars, integrations’ craze, ChatBots

One of the most prominent - if not the most prominent - features of 3rd generation is full text search of messages and file. One can finally search old messages and conversations, same as you can do with emails. In a multi-device context that can be very useful, for example when you recall the general idea of a conversation but not all the details. Some seek to monetise the archive, by limiting a free user’s searches.

One can also star/favorite or pin almost everything! It started shyly in the 2nd generation, but the 3rd generalised it. Starred/favourited content generally features in sidebars, sometimes adding unnecessary clutter to the overall appearence and UX.

After group focus and search, the integrations’ craze is possibly the most important trait of the 3rd generation. Integrations are hooks or links to third party apps and services. They help fill the gap between these apps and the chat system. It helps avoiding disruptions between chat and other apps: team mabers always have to switch between apps, now they have all in one place and in real-time. It increases retention and engagement on the chat app.

ChatBots are also becoming huge, since they can help with some serious tasks, and even with some fun, unproductive (ahem procrastination) ones, and the underlying AI is evolving rapidly.

Integrations and ChatBots are tightly linked to the ChatOps movement. ChatOps is “everything of the business process on chat”. Integrations and ChatBots progress and refine together, enabling more team fluidity.

Integrations are huge, not only because everybody jumps on the bandwagon, but also because it enables apps become a real marketplace. The 3rd generation IMs are generally selling subscriptions for teams (with free tier), and integrations and ChatBots enlarge their capacity to monetise.


The third generation made the IM a continuous flow between all your devices, where nothing is ever missed. 3rd generation IM defining traits include: group chat first, full text search, email notifications, integrations and ChatBots.

As it is an ongoing process, the usages will refe during the coming period.

Generation 2.5: specialisation, segmentation

While the 2nd and 3rd generation IMs want to reach the mass market, some 2nd generation apps have chosen more specialised markets. This is the generation 2.5, which sits between generation 2 and generation 3.

Ephemeral messaging

Ephemeral messaging is about self-destructing messages. These could be photo-only or photo-first apps, but also disapearing text messages. Snapchat is the best known example.

Secure messaging

Encryption is at the core. Sometimes, expected features such as multi-device are missing. Encryption is evolving so fast that some apps become obsolete rapidly. Recent, highly publicised concerns surrounding privacy and transparancy will not be resolved quickly, easily or on a supra-national basis.

Mesh networks

Mesh networks use no central servers, rather using mostly the cell network, bluetooth, and wifi. They are used for co-located and synchronous events such as festivals or protests.

Side notes

Here are some general observations, that might not obviously fit in one generation or another.

Account creation and contact management are features that have evolved a lot. And there is no clear pattern shaping up that enables the discerning of a general directions tied to a specific generation.

Message receipts (such as sent, received, read/seen) appeared around the 2nd generation as these imitate the SMS experience, but then disappeared from the 3rd generation. They may yet make a comeback as auditability is clearly important in corporate and regulatory contexts.

Speaking about monetization: the 1st generation was all around ads, and interestingly enough around avatars in Asia. The 2nd generation is about gathering user data for big data and profiling/targetting, and interestingly enough around mobile-local-social marketplaces in eastern countries. The 3rd generation is about building subscription platforms, with integrations and ChatBots marketplaces.

Another interesting trend are the apps adding IM to their core functionnalities, despite not being IM apps. Indeed some apps add basic to complete IM features, in order to generate acquisition, engagement, and retention. To give an example, IM is a helper for the main focus of photo sharing and dating apps.

The adoption and social impact of IM is different: the 1st generation was about reaching a mass market, and is now dead (some zombie apps are still walking around). The 2nd was about the generalisation of IM with an initial focus on mobile, but still with disjointed networks, and incompatible apps. The 3rd generation will probably not take over the 2nd generation since the focus is on groups and collaboration. So 2nd and 3rd generations are here to co-exist for a while, and will probably feed off each other in features and usages. Of course the 3rd generation is still in its infancy, so expect more to come at a fast pace.

As usages and technologies evolve with upcoming generations of users, the experience will continue to evolve rapidly and massively.

Most of these apps offer absolutely not interoperation: you have to create an account to chat with a contact with that app. Of course, the only open standards protocol XMPP enables federation, much like email does: you can send a message to a contact on another service.

Expect some more third generation features to land in the next version of MongooseIM (source code).

Summary table   1st gen: 1998-2008 2nd gen: 2009-2014 3rd gen: 2015-... Most valuable feature Presence and instant chats Always-on mobilility Group collaboration Synchronicity Synchronous Asynchronous Continuous Examples ICQ, Yahoo!Messenger, AIM, MSN, Gadu-Gadu, QQ, NateOn WeChat, LINE, WhatsApp, Google Talk/Hangouts, KakaoTalk, Viber Slack, HipChat, Otalk, Kaiwa, Zulip, Mattermost, Let's Chat, Rocket.Chat New features Gadgets Message actions, mentions, stickers Full text search, persistency, integrations Platform Desktop-only Mobile-only, mobile-first Mobile AND laptop Windowing mode Dual-window Full screen Single-window Presence Presence-based Presence is secondary Presence is secondary Group chat Secondary Secondary Central Multiple end points Multi-client Multi-device, account-based Multi-device, account-based Media File transfer (propos+accept) In-chat media In-chat media, with list of media and search Voice Secondary Important Secondary Status Dead Alive and still growing New and growing fast Monetisation Ads Users are the product Subscriptions, integrations Tell us what you think

This was a brief walk through: we over-summarised, and skipped a lot of aspects. Maybe you have spotted some lacking subjects, or you have different observations? Please comment below!

You are always welcome to subscribe to the MongooseIM announcement mailing-list more articles and news about the world of IM.

Remko Tronçon: Extracting Surround Music Discs

Planet Jabber - 14 May, 2016 - 22:00

I own a couple of multi-channel Surround Sound music albums on DVD, Blu-Ray, and SACD discs. I wanted to extract them all to a hard drive to avoid the nuisance of putting discs in slow (and often stammering) CD/DVD/Blu-Ray players with unfriendly navigation menus, and wanted to have a backup of the audio in case the discs go bad. Each of the different formats requires different tools to convert them to a playable format, so it took me some time to figure out how to convert each one of them. I wrote up a summary of the tools and processes for future reference.

Continue reading post

Tigase Blog: XMPP Web Client

Planet Jabber - 12 May, 2016 - 22:40

With computers nearly everywhere, it can be fairly easy to get access to E-mail, the internet, and other online information at any time. But if you've gone over your mobile data limit, or are in a place without your equipment, you may need the use of a public access compute. Whether at a library or an internet cafe, there is a fair chance that you won't be able to install your favorite xmpp client on there. Even worse, there may not even be an XMPP client available! So how to you stay in touch, check up on multi-room chats, and send messages in the meantime?

Jérôme Poisson: Presentation of Libervia/Salut à Toi at Linuxwochen (Wien)

Planet Jabber - 10 May, 2016 - 20:22


a short message to give you the link to our talk explaining Salut à Toi and Libervia at Linuxwochen in Vienna (Austria), 2 weeks ago.
The talk is in english, and we do a live demo of an installation with docker images, and publishing to the blog graphically with Libervia or directly in console with Vim. Thanks to the Linuxwochen team for inviting us and organising this nice event!

Talking about Vim, a new Emacs frontend has been started by Xavier Maillard (screenshot below), so nobody is jealous ;)

We have also started working on Cagou, our new desktop/mobile device frontend.

For more details, you can come to talk in our room:

Your browser can't manage the "video" tag, you should update it, e.g. with the last Firefox >

First image of Sententia, the new Emacs frontend:

ProcessOne: ejabberd and the Google Summer of Code 2016

Planet Jabber - 10 May, 2016 - 08:07

The BEAM Community is a group of projects that run on the Erlang VM. Our goal is to host relevant projects in the Erlang and Elixir communities, making it easy for those projects to participate in the Google Summer of Code (GSoC) 2016 (and similar initiatives), giving interested students a wide range of projects to choose from.

This year, seven projects have been accepted for Google Summer of Code:

For Lasp project:
  • Distributed Intermediate Tree Elimination in Lasp
  • Implementing op-based CRDTs in Lasp
For Erlang Dbus:
  • Prepare Erlang DBus for OTP
For Barrel database:
  • Implement an elixir backend for indexing and extending the database
For Zotonic:
  • Implementation of Real-time Statistics in Zotonic
For ejabberd:
  • Privileged Entity Support to Write Powerful External Components for ejabberd
  • Improve ejabberd configuration and extensibility with Elixir-based configuration DSL

Students have started interacting with the community, so be sure to welcome them !

ejabberd community growth acceleration

The Google Summer of Code is here to help Open Source project grows. Last year, GSOC helped increase the community and produce a nice push module for ejabberd

This year, it means that indeed you can expect two new major features to be written for ejabberd during the summer.

This is all good news for Erlang and Elixir, but it is also great news for ejabberd, whose development rate has been increasing recently, thanks to the steady growth of the community.

ProcessOne: XMPP Radar Newsletter #10

Planet Jabber - 9 May, 2016 - 12:30

Welcome to the 10th issue of our newsletter. April will be remembered by the renaissance of the chat bubble, the rise of the bots, and the end-to-end encryption for the masses. You can subscribe to the XMPP Radar newsletter and receive it in your inbox at the end of each month. Here are the links we found interesting in April:

ejabberd 16.04 released

This new ejabberd release includes bugfixes, and also two major source code refactorings: one for ejabberd commands, and other for database specific code in many modules. This version is doing lot of under the scene changes to prepare further improvements and refactoring.

ejabberd ARM64 support

ARMv8 represents a fundamental change to the ARM architecture. It adds a 64-bit architecture instruction set, named “AArch64”, or ARM64. ProcessOne has been playing with ARM64 ejabberd servers for few months already, but with recent availability of many low cost 64-bit ARM development platforms, we decided to announce official ARM64 support.

Messenger and WhatsApp process 60 billion messages a day, three times more than SMS

Facebook’s Messenger app was the company’s fastest-growing platform in 2015, chief executive Mark Zuckerberg said at the annual F8 developers conference, and is the second most popular app on iOS globally, just behind Facebook.

WhatsApp switched on encryption for a billion people

For most of the past six weeks, the biggest story out of Silicon Valley was Apple’s battle with the FBI over a federal order to unlock the iPhone of a mass shooter. The company’s refusal touched off a searing debate over privacy and security in the digital age.

Messaging app Kik launched a bot store

Messaging app Kik announced a new bot store to urge users and developers alike to embrace the trendy new form of artificial intelligence-powered software. The company has offered bots in its chat app in the past, which you can converse with over text and use to perform basic web tasks.

Use instant messaging to provide top-notch customer experience

Instant messaging is quickly becoming one of the most important channels for brands to communicate with consumers. The tourism industry is following suit, using it as a customer relationship management tool.

Sorry to burst your (chat) bubble

Conversational software, limited to the conventional chat bubble-based SMS form-factor, isn’t the future. It’s the past. Or perhaps it’s the HTML 3.2 to today’s HTML 5, the latter leading to an explosion in performant, designer-driven apps and experiences. But the bubble is just the beginning, not the end.

Remko Tronçon: Exploring Art with Widgets

Planet Jabber - 30 April, 2016 - 22:00

Although art may not be an obvious area to use BookWidgets in, you can create some fun and interesting explorations of paintings with widgets.

Continue reading post

Distribuir contenido