Friday, July 17, 2009

Jingle Nodes Preview

I've been working on Jingle Nodes XEP from the past 3 months. But as I usually do, I implement it beforehand so I can make sure I don't release any sci-fi specification.
So far the results are satisfactory and sounds promising even though the implementation is at very early stage.
I will post below some nice features to be covered and a RTP Diagram showing some use cases:

Main Goal
Jingle Nodes and Super Nodes are intend to provide easy to use Jingle Relay Type Candidates that can be used in ICE-UDP and also on RAW-UDP Jingle Sessions.
Relay Candidates can provide NAT Traversal for users that don't have STUN/TURN Support, but also for users with STUN/TURN support that the negotiation failed.

Similarity
Skype Network works in a similar way except that on Skype you can't choose whether share your bandwidth or not. And as a closed protocol you can't do anything about it.
On Jingle you can choose to share with:
* everyone
* nobody
* only buddies
* only whitelist
* blacklist
* etc...
In other words you are free to choose and decide about your device and network.

Diagram


Jingle Client Developers with interest in helping creating prototype or being early adopters are welcome. Leave a comment and you will be contacted.

Mobile Voip over XMPP

Mobile Voip is one of the hottest trends now on new generation phones. But what's the most efficient way to do it?
In a time that calling is not the absolute main feature, but another in a combination of: Calling, Presence and Contacts. Telecom companies choose to go for SIP/SIMPLE IMS based systems.
Well it turns out that we all know that it exists but we never saw it live in a mobile in front of us. I mean, at least in a way that the battery survived more that 4 hours or so.

Analyzing IMS specs you will notice that it is nothing but a lot of work around in order to let SIP do what he wasn't meant to do from the beginning. And another question that pops up is interoperability, as the specs are quite open to interpretation in several aspects.
Work-arounds like XCaps which is just a web service but behind a cool name and lack of a defined and more strict way for contact management are leading IMS implementations through a long off-road track. A race that they don't wanna quit as they spent billions of dollars acquiring already obsolete plataforms.

In the other hand XMPP have shown that Presence and Contact List are very simple doable things and that this can inter-operate successfully among different networks, devices and even protocols.
And now it has another advantage, which is the mobile Voip ability. Already deployed live for millions of users on Nimbuzz Network.
One of the coolest features of Jingle it is his almost natural way to deal with P2P negotiations, which leads to much better and reliable negotiation of media specially when compared to SIP.
XMPP Jingle demystified Voip showing the real simplicity behind it, removing all the obfuscated logics behind SIP tags, branchs, CSeqs and transactions. (Check MiniJingle as an example)

All this packed together can guarantee that whatever the market wants in next months and years, XMPP is way ahead when dealing with extensibility, simplicity and interoperability.
Which are the strongest tendencies for near future communication.

Friday's Top 5 - Must Die Applications

Big companies are always trying to overuse their versions, dragging them to the limit of "durability" seeking for extra profit. But just like real waste, this is not healthy for software ecosystem.
We all are annoyed by software waste, specially that ones that drag us in order to keep backward compatibility.
Something that big companies also don't tell is that backward compatibility is always responsible for at least 25% of overall costs of a new version. So now guess who pays for that? YOU!
So this Friday's Top 5 is dedicated to all crap waste software and technology that stays among us.

5. RealNetworks Real Player
"In order for your browser to display the following paragraph this site must download new software; please wait. Sorry, the requested codec was not found. Please upgrade your system."
I still don't believe when some people say that they saw a web site using it. The lowest usability, compatibility and flexibility you can achieve in a media player.
Besides the original format never took off specially due special requirements and slowness.

4. Norton Uninstall Tools
Why would you want an application to uninstall another? I understand that on Windows 95 Mud Times, but now with a huge set of different softwares and different installation procedures and mainly decent ones with correct unistallation, why would you use Norton Unistall?
And more, we are almost in 2010, I can't believe you still using operating systems that don't provide at least a regular package and installation manager.
(If you are an user, starting changing your OS to something good(Ubuntu, MacOs, Debian, etc...) before going to such solutions.) But this one is unused that don't even pollute our software environment.

3. Windows Vista
Red, Pink or Brown? Red!
Windows vista is the most non-baked OS that was shipped out this decade.
Containing lots of ridiculous newbie issues, regarding graphic cards, permissions, security, usability, stability and specially performance.
What about compatibility? That was quite a disaster on very first versions. The IT economic crisis might have some relation with this...hehehe
Well, I don't have to describe one of the biggest reason to start using Linux ever.

2. IE6
Better known as "Microsoft Bug Collection", Internet Explorer 6 still being used for a lot of unresponsive people all over the world. And also causing a lot of work to Web Developers in order to achieve compatibility with one of the worst piece of software ever dragged.
It is said that browser compatibility consumes at least 30% of development time and effort in a Web application, and it gets even worst when it comes to Web 2.0 applications.
IE6 is considered the scariest nightmare for the Web Developers, Users and whoever gets closer to it.

1. IPV4
The Number 1 Enemy of: Voip, Security, Scalability, Flexibility, P2P etc...
Considered obsolete since 1995 with the creation of RFC1752, IPV4 is being dragged causing a lot of side effects including hundreds of thousands of companies, software and even protocols in order to solve its problems and limitations.
A great example is ICE specification for P2P Connection, contains more than 70% of dedicated content, that didn't even need to exists if IPV4 had fade out already.
Besides IPV4 being a obsolete old guy, we own it lots of respect for being one of the biggest drivers for Internet the way it is nowadays.
We love and hate you IPV4!