Planet Jabber

May 15, 2012

ProcessOne

Are you desperate for Push Notification in your prefered app ?

More than a year ago, Fred Wilson, a renowned VC, was explaining in a blog post titled “mobile notifications, March 1, 2011” that game changer for an app would be mobile notifications.

Here we are, that’s exactly the point that needs to be fulfilled by all application providers today. These developers are only concerned about thinking and developing some awesome user experience, explaining how good their apps are, blogging, tweeting and more than anything else achieving the highest ranking among the leaderboard in application shops.

Why real-time notification pushed to the app is key ?

Today the primary way to get an info is, without doing anything, to receive push within mobile lock screen. The primary interaction with an app is to awake the interest of the end user. Unlocking push would let you enter right in the app at the info level. Most of the users won’t open frequently an app like Email, Facebook or Twitter but will just wait for info coming right away.  The paradigm is changing from pull to push : I won’t go to the info, the info would come to me.

Today, the new Sparrow 1.2 release is encountering this phenomena.

 

Most of the users are desperately asking for this capability, even when they don’t need it, because they are addicted to get email without having to check frequently. It’s the same for other apps but it depends on value added by the notification. Probably a Twitter DM, an eBay bid or a prospect email would not have the same value regarding how much we’re willing to pay !

Want push support in Sparrow for iPhone? You’re going to have to pay extra for it.Sparrow for iPhone — the third-party email client that has left Apple’s built-in Mail app [...]

Credits: PUSH by Steve Snodgrass

by Arnaud Le Ruyet at May 15, 2012 10:21

May 14, 2012

ProcessOne

LinkedIn for iPad: The Native/Web Messaging Bridge and WebSockets

Realtime low latency notification methods get ubiquitous. This article is interesting as it show a way to leverage web communication channels even for native apps, showing that hybrid approach is gaining ground.

Websocket is a bidirectional persistent framed communication protocol that is supported in recent browsers. It has been standardized last year by the Internet Engineerind Task Force (IETF). It is still very new, but it is the most promising approach to implement realtime app in the browser.

In our daily work, we see the demand for websocket enabled application, either for XMPP on ejabberd Websocket stack or on other type of pure HTTP / JSON based protocol. In the gaming world, the use of websocket is growing both on iOS and on web-based games.

Note: If you only need unidirectional streaming communication from server to browser, you can also look at the HTML5 Server Send Event alternative. This is the standard we use in our web Push Mail (Demo).

This is the third article in a series of blog posts about LinkedIn’s new iPad app. In the first post, we discussed how we built a snappy mobile experience using [...]

Credits: Very cool, finally #LinkedIN for iPad. #themoreyouknow by rick1j13

by Mickaël Rémond at May 14, 2012 15:01

May 12, 2012

Tigase Blog

Encryption and Tigase running on new JDK

During a setup of a test environment on the Tigase XMPP Server runing on JDK7 a client could not connect to the server using TLS/SSL encryption.

After investigation I discovered that the JDK7 supports TLS 1.1 and TLS 1.2, a client was using a recent version of the OpenSSL library (version 1.0.1 from Ubuntu 12.04). Knowing that I tried to connect using a command line utility from OpenSSL to connect to a secured port on the Tigase XMPP Server:

openssl s_client -debug -showcerts -connect xmpp.server.com:5223

- another connection failure. After testing connection using a command line ultility from GnuTLS (which was successful), I knew that there was an issue with the recent version of OpenSSL library.

Apparently even that OpenSSL can be convinced to work with proper parameters:

openssl s_client -debug -showcerts -ssl3 -connect xmpp.server.com:5223

read more

by andrzej.wojcik at May 12, 2012 17:35

May 11, 2012

ProcessOne

The road to ejabberd 3

In this article, we would like to explain and share details on the mid-term and long term roadmap to ejabberd.

108650560 f98e11ad9f z

What’s up with ejabberd 3?

ejabberd 3 has been in preparation for a long time now. The reason we are taking our time to reach that milestone is that we are actually trying several approaches in production systems to validate our assumptions and our improvements. ejabberd is deployed in thousands of companies and run critical services. Upgrading to this new version should bring benefit in all cases to make the upgrade effort worth it. We were not totally happy with the initial result of ejabberd 3, so we kept it in the work, exploring new visions. It means that ejabberd will not look like the current master branch in our code repository, and this is for good. We have one of the longest and largest experience in the world on building scalable XMPP system and we wanted to take the time to reflect that experience in future ejabberd versions.

The second reason why we took our time is that we are changing our internal ejabberd architecture to allow us to manage more easily our dual versions, open source and commercial ones. This business model is commonly known among open source companies. Since many years now, we have been offering an open source version to the community along with a commercial version. However, in the current state of ejabberd, it was difficult to manage both in parallel. The new architecture will be more modular and it will be easier to handle different code to handle different behaviors or feature in ejabberd.

So, what can you expect in ejabberd 3?

Here is a few things you will find in the next release of ejabberd:

  • Memory optimization: we have reduced memory consumption. That means more scalability.
  • Architecture change: ejabberd is more modular, especially for the largest module.
  • Web oriented module for web chat, including rewritten Bosh module and websockets support.
  • Cleaner code for better readability and homogeneity across modules.
  • Refactoring for I/O optimisations.
  • New XEP implementation / helper modules.

The commercial version will add much more to this, for deployment where scalability and flexibility matters:

  • Large scale cluster engine, to make ejabberd support even more massive deployments.
  • Mobile stack including mobile reliability, fast reconnect, Apple push notification support.
  • Improved and clusterable Multi-User Chat.
  • Flexible PubSub: XMPP PubSub is a huge spec that needs to be tuned depending on your use case, if you need performance. A flexible PubSub module can more easily be tuned and thus can give more performance in real life usage.
  • Gateways to legacy networks.
  • Monitoring and statistics framework.
  • Provisioning kit: API to integrate ejabberd with other services.
  • And many more features that are expected to come in 3.x like NoSQL alternative backends.

When will it be ready?

We want to make sure the new architecture allows smooth transition to ejabberd 3. For that reason we’ll focus all our efforts and won’t apply other changes to ejabberd 2.1.x except critical fixes. We expect the transition work to be ready in October 2012.

However, the good news is that commercial ejabberd 3 is available on the 15th of June 2012 for customers that want to benefit from today’s improvements.

Credits: Photo Take the straight road by Arnar Valdimarsson.

by Mickaël Rémond at May 11, 2012 14:41

May 09, 2012

ProcessOne

Surprise, Telefonica launches globally an OTT all-in-one communication app !

Almost a year ago, in June 2011, I published a post titled “Group messaging the next big thing to invest in and deploy“, I was talking about “2011 is the year of group texting” : $35M invested in startups (GroupMe, TextPlus, Kik and Yobongo) at least, two internet giants, Facebook and Skype, bought respectively Beluga and GroupMe, and above all Apple and Samsung, the two major leaders in the smartphone industry launched their own messaging over IP service : iMessage and ChatOn.

By that time, I was already talking about messaging over IP (MoIP) is not a service by itself but a core feature of an “over-the-top” (OTT) mobile communication service.

Like always the question is not whether MoIP is an important feature blah blah… but if OTT-over internet services/apps would succeed over cellular network-based services.
Just want to remind you that an OTT service operates over data (3Gx/4G) and is not tied to carrier’s xMS or voice services. This kind of service can work regardless of which carrier you are on or with.
Obviously in 2011, these OTT messaging services were launched mostly by mobile handset and platform vendors.
In the mean time, the mobile carrier industry, thanks to the GSMA, was working on a telco-standardized equivalent : the Rich Communication Suite initiative, named commonly RCS, focsued on the use of IMS (IP Multimedia Subsystems) for providing enhanced mobile comm servives (messaging, video sharing and enhanced contacts compared to what we have today). It’s not really here yet : complex to federate all the participants around the same table, have the same goals when mobile services world are taking the fast lane thanks to mobile handset (Apple, Samsung) and internet giants (Facebook, Google).What is the result between these 2 opportunities ? OTT com services (VoIP+MoIP) vs. current network services (or tomorrow RCS)
For one or even two years, the carrier industry has been seeing declines in common telco revenues, voice and xMS (OTT’s to burn 40% SMS revenue by 2015 and voice revenues would decline 21% in 3 years on average), because end users are shifting to OTT cost-effective or free alternatives. All major European telcos are facing this new interest coming from app stores/markets success and must find some agressive time-to-market alternatives. Unfortunately RCS is only taking its first steps in major launches.
That’s why Telefonica has thought differently the question by not opposing the two approaches but by launching them both, one globally, TU Me iPhone app (and Android would follow), and an other in Germany with RCS-e (with other German carriers).

In a nutshell, TU Me service is a response to let end users make calls, send voice messages, instant messages, photos and your location from one single easy-to-use app. For the first time, Telefonica is deploying globally this service thanks to Apple AppStore, and tomorrow Google Play and probably its own app shops. TU Me is an internet-centric app positioned as a low-end “techno-savvy” service bundled with low-cost offers, providing attractiveness to unlimited offers with no contract and no subsidy.

Indeed, “TU Me is the the direct response to OTT services such as Viber, Skype and WhatsApp, which provide similar functionality”, said Telefónica. I’m adding Nimbuzz (VoIP+instant messaging) and TextOne, Kakao Talk, Katango, Kik… (MoIP or group messaging) and the well-known originator, Blackberry Messenger or BBM.
This move shows that Telefonica doesn’t want to see its subscribers to switch to OTT competitive services. Telefonica prefers to provide some low-cost over-IP services to its subscriber base. Probably Telefonica subscribers won’t leave and would be more loyal.
To go further, I’m pushing Telefonica or any other carrier to go beyond and explore some new features like federation between MoIP services, provided between major telco companies, or email federation in order to open discussions with any email address. Like Disruptive Wireless I’m expecting to see rapidly service providers enter this particular space : carriers targeting techno-savvy people through low-cost offer, or even niche offerings targeting particular groups of people.
Let’s see how it goes but it’s a surprising move, but well-thought…
Read other articles discussing about federation and XMPP :
Telefónica Digital, the global business unit announced by Telefónica back in September to spearhead the telecom company’s digital growth, has launched a new mobile app called Tu Me.
The app is [...]

Credits: Telefonica by ZaCky ॐ

by Arnaud Le Ruyet at May 09, 2012 20:50

Push, Realtime, Riak: Meetups in Paris, at ProcessOne

We have two technical Meetups scheduled at ProcessOne in the coming month.

  • May, 31st (2012) 19:00: Meetup about push and realtime on mobile and web. This is a first meetup of a serie to meetings about realtime technologies and the solution available to implement them. We will present our Push Mail backend, but of course any other presentation on push and realtime are very welcome, no matter what technology is used. You can register here: Push and Realtime on mobile and web.
  • June, 7th (2012) 19:00: Riak users meetup. The meetup is about the Riak NoSQL database and to discuss benefits and use cases. The meetup is organized with the help of  our friends at Basho Technologies. You can register here: Paris Riak Meetup.

Both Meetup take place at ProcessOne Office in Paris.

We hope to see you there !

by Mickaël Rémond at May 09, 2012 19:11

May 07, 2012

ProcessOne

ProcessOne launch Push Mail Backend-as-a-Service

Mail is still one of the most commonly used tool, either in enterprise or individually. However, access to mail is usually relying on protocol that are not web friendly. ProcessOne is planning to change this access by offering a new way to get notified.

Mail realtime processing and delivery designed for modern apps

We’ve been thinking for a long time that mail is undervalued due to a couple of missing features:

  • Email is hardly handled in a realtime purpose in a standard and generic way. Some devices manufacturers are providing push mail on some of their devices, but they are always limited in scope (the device or the provider of the account).
  • Access to the mail information is not designed to be accessed from Web application, making it hardly usable in a broad scope of services.

What we’ve built is a platform that is able to:

  • Provide secure access to users email, using either OAuth when available or password encryption.
  • Process emails to make them available in realtime in a simple JSON format suitable both for web or mobile applications.
  • Deliver them to a wide range of devices in realtime, on Apple Push Notification Service (APNS) and Google Cloud to Device Messaging (C2DM).

Here are examples of applications you can build with our platform:

  • Mail client application (either for mobile or web mail tools).
  • Platform using mail as a critical data source : email-as-a-Platform. Ideal use case is for example TripIt (who looks into your mail for trip related purchases), Slice (who tracks all type of online receipts). Building all types of email analyzers is now possible easily with our backend, to analyse email semantic, importance, contacts, etc. If you plan to build social helpers for webmail like WriteThat.Name, WiseStamp or Rapportive, our backend should get you up to speed quickly.
  • Realtime reliable email archiving solutions.

Technically, we abstract usual mail protocols (IMAP, IDLE, POP), authentication modes and we make sure we always use the best approach to deliver the mail notification in the most efficient way, depending on what is available on the mail provider infrastructure.

Simple Push Mail Demo

You can try a demo of our platform with your GMail account, using OAuth to grant us credentials without having to share your password.

The demo is using HTML5 Server-Sent events to stream “From” and “Subject” for each received mail, in realtime. It is supported on most browsers with the rare exception of Internet Explorer and Android browser (iOS works fine).

The demo demonstrate that Realtime Mail in your browser can be implemented in 10 lines of Javascript thanks to our platform.

You can try the demo by yourself on https://push-mail.process-one.net/ or watch this short screencast:

Have a cool use case ? Share it in the comments :)

by Mickaël Rémond at May 07, 2012 17:37

New Facebook Messenger “Seen by X” indicator : Confidence vs. Privacy ?

Interesting the new Facebook move in favour of displaying whether or not you’ve seen the incoming message wihtin Facebook Messenger… Facebook Messenger is following Blackberry Messenger, BBM, in the disclosure of personal information with its well-known indicator “Message has been read”. I remind you that BBM is displaying 3 status : “Sent” (from app) , “Delivered” (to app) and “Read” (by the app… thus the user).

Remember the “old time” of Instant Messaging – I wouldn’t say this because I’m still using and selling it – we were talking about “Available”, “Not available”, “Away”, “Do not disturb”. After using these online status presence, we asked all IM users to type by themselves their own custom status message and ended up by proposing to hide this status presence and status message. Why ? Simple because, by selecting theses statuses, I was revealing some privacy info and moreover I was spending too much time to parameter an info that ended not to be really crucial to my receivers. That was the end of the use of online status presence and status message in favour of hidding everything… Too long, too complex!

Today the sole important information that needs to be disclosed to the receiver(s) is “Sent and Delievred”. The rest belongs to the category of personal info I do not really want to disclose. At ProcessOne, we’ve developed another way of showing indicators within our messaging over IP service, TextOne : only when a message is not delivered or a message delivery has not been confirmed, the mobile app shows a red or blue icon respectively.

Amazing no that the VentureBeat is writing “Sure, you may sacrifice a little privacy in favor of better conversations, but the exchanges are with people you presumably like, so maybe more information is better”. Guess what I’m messaging with other people than my close friends, my family… I’m messaging with my clients even sometimes my prospects (that would like to test our TextOne messaging service). So I really don’t want to share that I read or even seen his/her message… but it’s not the case with my peers and friends but not Facebook friends (some of them I do not even know who they are!).

Like other privacy settings, location for instance, you would be able to customize this “Seen by X” in Facebook Messenger. Otherwise, you would chat with a bunch of people known or not, and without knowing it, you would be disclosing some kind of interest by revealing that you’re reading and seeing messages.

What do you think ? What is your standpoint on this privacy-disclosing feature ?

In an effort to eradicate some of the challenges associated with text-based communication, Facebook has today updated the iOS and Android versions of Messenger, the social network’s cross-platform messaging-only app.
Version [...]

Credits: Facebook Messenger by Dekuwa

by Arnaud Le Ruyet at May 07, 2012 08:13

May 05, 2012

Remko Tronçon

Swift Hackathon Roundup

Last sunday, we finished our week-long Swift Hackathon, and it was a great success, leading to Swift 2.0-beta1! Here’s a list of the things we achieved during that week.

First of all, the goal of the week was to find and fix as many bugs as possible. This is what our ‘hackathon bug count dials’ were displaying at the end of the week:

Hackathon Week Bug Counter

In only one week, we found 19 bugs, and fixed 64! Not a bad result for our first hackathon, don’t you think? As you can see from the trend, we put a big dent in the list of open bugs:

Hackathon Week Bug Trend

And if fixing all these bugs wasn’t enough, we found the time to do some other things on the side as well during the week:

  • Together with Olly Betts, we finished our Debian packages, and submitted them to Debian. So, expect both Swift and Swiften to be available from the official Debian repositories soon!
  • We set up a build for the brand new Ubuntu 12.04 (Precise Pangolin)
  • We started fixing and cleaning up translation strings

Thanks again to all the people who have helped us during this excellent week!

by Remko Tronçon at May 05, 2012 22:00

May 04, 2012

The XMPP Standards Foundation

BrowserID, meet XMPP.

Identity and Privacy are a growing concern on the Internet nowadays, and there have been different attempts to solve this.

One of the most recent ones is BrowserID. The XSF believes however, that building upon the strengths of XMPP would be a great way forward for the BrowserID concept, due to its inherent federation, proven Internet-wide scalability, and decentralised architecture.

This is why the XSF has decided to support projects that demonstrate the use of XMPP for BrowserID purposes. In order to do this, the first step is to get a Request for Proposals designed, so that the XSF can establish criteria to decide which projects to support financially.

We’ll have an initial open discussion tomorrow:

Time / Date: 15:00 UTC (16:00 UK; 17:00 CET, 11:00 EDT, 08:00 PDT) / 05.05.2012
Location: xsf@muc.xmpp.org

So if you’re interested in joining us to shape the future of Identity on the Internet, please drop by!

by florian at May 04, 2012 18:41

ProcessOne

Push – Web Realtime showcase

Realtime on the web is now a core component of many websites and applications. As a provider of technologies that empower the realtime web, we would like to provide our readership with a showcase of the best use case for realtime web applications.

We started small, but we hope that you will share your favorite examples with you to increase the showcase. You can see the showcase and contribute to it on Push – Web Realtime Showcase page.

Let us show together why the web is better in realtime !

Realtime web showcase

by Mickaël Rémond at May 04, 2012 18:23

[ANN] New bugfix release ejabberd 2.1.11

We are pleased to announce the bugfix release ejabberd 2.1.11.
It includes a few bugfixes and improvements, and also ODBC support for several modules.

The major changes are:

  • HTTP service
  • Fix ejabberd_http:get_line
  • Don’t use binary:match to extract lines from binaries
  • Parse and encode https header names like native http parser does
  • Parse correctly https request split into multiple packets
  • Properly handle HEAD request in mod_http_bind (EJAB-1538)
  • New option default_host for handling requests with ambiguous Host (EJAB-1261)
  • ODBC
  • New ODBC support for mod_announce
  • New ODBC support for mod_blocking
  • New ODBC support for mod_irc
  • New ODBC support for mod_muc
  • New ODBC support for mod_shared_roster
  • New ODBC support for mod_vcard_xupdate
  • Add ODBC exporting function for privacy table
  • Work also with some unicode strings in PgSQL (EJAB-1490)
  • Replace a single quote with double quotes in an ODBC escape
  • SSL
  • Make sure that res is initialized in all cases
  • Parse correctly https request split into multiple packets (EJAB-1537)
  • Added missed tls:recv_data/2
  • Don’t ignore Length parameter in tls:recv
  • Avoid quadratic behavior in reading SSL data
  • Dix http_bind webserver TLS fail on Chrome (EJAB-1530)
  • Miscellanea
  • Assume we have only one CPU when an auto-detection fails (EJAB-1516)
  • Auth: Relax digest-uri handling (EJAB-1529)
  • Caps: Cache caps timestamp before the IQ-request is done
  • IRC: Use of MUC password
  • Private: misc errors cases fixes
  • Pubsub: return user affiliation for a specified node (EJAB-1294)
  • Shared Roster: Foreign items were not pushed (EJAB-1509)
  • Shared Roster LDAP: user substitution in ldap_rfilter (EJAB-1555)
  • Windows: Fix makefile rules for building DLLs

Check the Release Notes for a more complete list of changes:
http://www.process-one.net/en/ejabberd/release_notes/release_note_ejabberd_2.1.11

If you upgrade from ejabberd 2.0.5 or older, read carefully the release notes of ejabberd 2.1.0 too, because there were several changes in the installation path and the configuration options.

The list of solved tickets since previous version is available on ProcessOne bug tracker:
http://redir.process-one.net/ejabberd-2.1.11

ejabberd 2.1.11 is available as source code package and binary installers for Linux 32 bits, 64 bits, Mac OS X Intel, and Windows:
http://www.process-one.net/en/ejabberd/downloads

by Jérôme Sautret at May 04, 2012 18:22

May 03, 2012

Remko Tronçon

Swift 2.0-beta1 Released

After another year of development, we’re happy to announce that we released our first Swift 2.0 beta! We encourage everyone who is interested in helping us with testing to try out this new release, as it has many bugfixes and enhancements (see the release notes for more details).

Thanks to the hackathon week (of which details will be posted shortly), we believe this first beta to be pretty stable. Nevertheless, should you find some bugs, please come and tell us about it!

by Remko Tronçon at May 03, 2012 22:00

Tigase Blog

Code syntax highlighting lost on the website

Syntax highlighting for Tigase code examples in our documentation has been lost after last, minor Drupal update. We are aware of it and we are working on bringing it back.

For some reason the old markup for the highlighting engine is no longer recognized. Therefore all code examples using this markup are displayed as a plain text.

There is another markup which seems to work fine, however, converting all the code examples is a manual and slow work which takes some time. Also we might be missing some of the pages in the process. Therefore, if you find a page which is not fixed yet, please let us know.

read more

by kobit at May 03, 2012 04:25

May 02, 2012

buddycloud

buddycloud goes west. As far west as possible.

[Flash 10 is required to watch video.]

buddycloud goes west. As far west as possible.

May 02, 2012 19:31

As far west as possible. See you at the next buddycloud...

[Flash 10 is required to watch video.]

As far west as possible. See you at the next buddycloud hackathon.

May 02, 2012 18:21

Thanks for everyone’s hard work.

[Flash 10 is required to watch video.]

Thanks for everyone’s hard work.

May 02, 2012 18:20

spotted on a beach in Half Moon Bay.



spotted on a beach in Half Moon Bay.

May 02, 2012 18:07

April 30, 2012

Remko Tronçon

Steve Jobs would not appr o ve

In his famous 2005 Stanford Commencement Speech, Steve Jobs explained how his interest in typography played a fundamental role in creating the first Macintosh computer, and how the beautiful typography set the Mac apart from other personal computers out there. He was obviously passionate about these things, going as far as pixel-perfectionism about fonts and icons. That’s why I was a bit shocked when I started noticing bad kerning (aka keming) in the iOS 5 status bar. Could it be that these are the first artifacts of the post-Steve Jobs World? (Update: No)

Spoiler alert: As XKCD points out, recognizing bad kerning is something you may not want to learn about. If you like your iOS status bar, consider not reading on.

Have a look at the battery level indicator of the iOS screenshot below:

Battery Indicator: 44%

Now compare that 44 with the one from the clock. Doesn’t look right, does it? How about something a bit more obvious: charge your iDevice to 100%, and you see the following:

Battery Indicator: 100%

That 1 in the battery level almost looks like it’s coming from a different font?! Still not convinced? How about anything in the 10-19% range?

Battery Indicator: 18% Battery Indicator: 15%

You have to admit that this is much worse than pixel-imperfectionisms. Even if this was post-Steve, or Steve always had his battery level indicator turned off, you would have come to expect someone at Apple must be annoyed by this, surely?

I know I’m nitpicking, but the problem is that, if you noticed it once, you will notice it every time you look at your status bar. The only solution: disable the battery level indicator.

by Remko Tronçon at April 30, 2012 22:00

Tigase Blog

Tigase XMPP Server 5.1.0 Beta6

With another test version of 5.1.0 line - beta 6 we introduce one minor change in database schema which should be handled fine by installer. There is also an update instruction available: MySQL database schema upgrade for Tigase 5.1

Packages as usual can be downloaded from the files section of the Tigase XMPP Server project page.

As always all kind of feedback is very welcome. Please feel free to report found bugs in our bugtrack and post questions in the forums.

read more

by wojtek at April 30, 2012 13:08

April 29, 2012

The XMPP Standards Foundation

And our GSoC students are…

It’s with great pleasure that we would like to share with you the list of students that have been selected to participate in the Google Summer of Code 2012 for the XMPP Standards Foundation.

  • Cătălin Badea
    Conversation history support for Swift
  • Denis Washington
    PubSub HTTP Interface for buddycloud
  • Mateusz Piękos
    Swift – Whiteboarding
  • Pawel Domas
    XMPP-Jitsi: PseudoTCP
  • Rodrigo Duarte
    An XMPP Media Server
  • sarangbh
    Twitter Backend for Spectrum
  • Yoann Blein
    Swift – Screen Sharing

Congratulations to all of you, and thanks to everyone who submitted an idea for this year. We are looking forward to an interesting summer ahead. You can find more information about the Google Summer of Code on the Wiki.

by florian at April 29, 2012 16:17

Prosodical Thoughts

"Tiiiiiiimber!"

A while back we realised that some of the changes we needed to make for the Prosody 0.9 release were not trivial, and involved breaking some established core APIs. We have traditionally kept our trunk repository "stable" for everyday testers who aren't worried about the occasional bug, so we decided to open up a new branch for in-progress, and potentially broken, work. This branch gained the name 'timber' (broken trunk) - timber also happens to be the Old English term for a building, and more appropriately the act of building.

And that's exactly what we've been doing. We have revamped a bunch of APIs in Prosody, from port management to our built-in HTTP server (used for BOSH, among other things). We've also moved the bulk of our c2s and s2s code into modules, which makes them fully reloadable without a server restart.

Some of our important new features destined for 0.9.0 landed or improved in timber. These include our much-requested IPv6 support, as well as certificate authentication for server-to-server streams.

Of course one of the primary goals of Prosody is to remain small and simple. All the while we have continued actively looking for unused code, especially in small features which were added that never took off,or could be replaced by less code, and removing it. This means that despite all the new features we have added, our code has only grown from the previous release by around 40KB. This means we still fit comfortably on a floppy disk alongside a copy of Lua, panic over!

Well, as announced on the Prosody mailing list, we merged timber into trunk today. This means for the first time the new code is available in our nightly builds, in trunk build #271.

Since all this code has had limited testing (a brave (read: 'crazy') group of us have been running our servers on timber for some time). Now that it's out in the open we expect more bugs to be uncovered, if you run into any then please let us know so we can squash them in preparation for the release.

I finally leave you with the obligatory picture of a piece of timber. Oh, and of course a cat. On a sawmill.

by The Prosody Team at April 29, 2012 01:12

April 25, 2012

Remko Tronçon

Swift Hackathon Update

We’re just halfway through our Swift Hackathon, so we thought we'ld update you about the progress we’ve made so far. In fact, a screenshot of our live hackathon week bug counter sums this up quite well:

Hackathon Week Bug Counter

That’s right: in merely a couple of days, we managed to fix 50 (more than half!) of the open bugs, and found 17 new bugs. And what’s more: we still have the whole weekend ahead of us, so you still have a chance to join us in fixing, testing, and improving Swift!

A big thank you to all the people who have been helping us out so far!

by Remko Tronçon at April 25, 2012 22:00

ProcessOne

Bytestream Proxy for file transfers on hosted.IM

We are pleased to announce the release of the Bytestream Proxy for our hosted.IM XMPP service. This is a server implementation of the XEP-0065 standard, used mainly for file transfers, when users are connected with their instant messaging clients behind a NAT or within a private network that prevents point to point communication between users.

File transfer is now made easier on hosted.IM.

SOCKS5 Bytestream Proxy

When you send a file to another person using your IM client, like OneTeam, what it actually happens is that both chat applications (yours and the one used by your contact) try to establish a point to point direct connection: this means that one of such clients will open a port and listen for a connection coming from the other one to transfer the file.

What if this is not possible, typically because both use private IP addresses and work behind a router? In this case both clients need to find a mediator available on the public internet for file transfers: so both can connect to it and proceed with the interchange. This is an very common scenario already addressed by the XEP-0065 standard (Mediated connections), and now available on our hosted.IM service.

How to use it

First of all, you need to enable the feature “File transfer proxy” available on the Team 10 and higher plans. Go to “Manage your domains”, click on your domain and then on the “Plans & Features” tab. The figure below shows the optional feature to check.

Enable "File transfer proxy" feature on your plan

After updating your domain you will see a new item is displayed on the folding menu under “Plans & Features” tab:

If you click on it you will see more information on the status of the proxy service, the ID and port where it operates. If your IM application supports Discovery of Services, like OneTeam does, you will see it with the ID “proxy.hosted.im“:

Configuring your IM application

Depending on your IM application you won’t need to do anything extra, as it is the case with OneTeam which automatically discovers the proxy service, or you will need to set the service Id (“proxy.hosted.im”) manually. The image below shows the advanced settings to configure the proxy service on Psi:

Prices

File Transfer Proxy feature is available for your domain for free on the paid plans: Team 10, Office 25, Office 50, Organisation 75, Organisation 100, Company 200, Company 250, Enterprise 350 and Enterprise 500.

Enjoy hosted.IM!

by Juan Pablo Carlino at April 25, 2012 16:48

New releases: ejabberd 2.1.10 and exmpp 0.9.9

We are pleased to announce the bugfix releases of ejabberd 2.1.10 and exmpp 0.9.9.

ejabberd 2.1.10

This release includes a few bugfixes and improvements. This is just a short list of them:

* Erlang/OTP compatibility
- Support Erlang/OTP R15B regexp and drivers (EJAB-1521)
- Fix modules update in R14B04 and higher
- Fix modules update of stripped beams (EJAB-1520)

* XMPP Core
- Fix presence problem in C2S after first unavailable (EJAB-1466)
- Fix bug on S2S shaper when TLS is used
- Prevent overload of incoming S2S connections

* XEPs
- BOSH: Get rid of useless mnesia transaction (EJAB-1502)
- MUC: Don’t reveal invitee resource when room informs invitor
- Privacy: Activate “Blocked Contacts” to current c2s connection (EJAB-1519)
- Privacy: Always allow packets from user’s server and bare jid (EJAB-1441)
- Pubsub: Add hooks for node creation/deletion (EJAB-1470)
- Shared Rosters: support groupname@vhost in Displayed Groups (EJAB-506)
- Vcard: Fix error when lowercasing some search results (EJAB-1490)

Check the Release Notes for a more complete list of changes: Release Notes for ejabberd 2.1.10

If you upgrade from ejabberd 2.0.5 or older, read carefully the release notes of ejabberd 2.1.0 too, because there were several changes in the installation path and the configuration options.

The list of solved tickets since the previous version is available on ProcessOne bug tracker:
http://redir.process-one.net/ejabberd-2.1.10

ejabberd 2.1.10 is available as source code package and binary installers for Linux 32 bits, 64 bits, Mac OS X Intel, and Windows:
http://www.process-one.net/en/ejabberd/downloads

exmpp 0.9.9

exmpp home page:
http://support.process-one.net/doc/display/EXMPP/
or easier to remember: http://exmpp.org/

Download exmpp 0.9.9 source code package from:
http://download.process-one.net/exmpp/

You can also check the ProcessOne Labs page:
http://www.process-one.net/en/labs/

by Marek Foss at April 25, 2012 13:14