Sunday, August 7, 2011

ouvid.us - Twilio Experiment

Last Monday I had an idea for an useful web based service that could be built using Twilio. A purely web based call center service, with queue management, alerts, easy to install on a website.
On my spare time at night this week, I manage to build an early version of the product hacking some PHP and jQuery. It turns out to be very productive and straight forward. (I hit some bumps, but Twilio Support and Documentation was very helpful)


ouvid.us
is already live and although limited amount of features, it is fully functional!
You can create an account for free, create queues, add other users to attend to your queues, add a Call link to your website/blog etc...

The problem this project solves is: Small and Medium business would have high costs on maintaining a Call Center system. ouvid.us solves the problem, by enabling a pure web based Call Center Service.
Please try it out and let me know what do you think.

Twilio Evaluation:
  • Pros:
    • I'm a fan of simplicity, and Twilio got it right
    • Easy to setup, debug and release
    • Great Documentation and Examples
    • Good Support
  • Cons:
    • Lack of support for SIP, XMPP and Jingle
    • Sometimes the FlashPlugin Crashes and needs to be killed manually
    • No Paypal support

Thursday, July 21, 2011

Internet 10 Commandments

The thing is, on Internet...
  1. you don't choose your users. The users chooses you.
  2. you can't sell fake for long. The Collective intelligence prevents that.
  3. the success of the company is proportional to the talent of the people that works on it.
  4. your product needs to be good, regardless if it is free. Actually, it needs to be good specially if it is free. As more people will talk about it.
  5. what you call user base is nothing but a bucket of thin air. Email address doesn't mean anything. You have active users or you are fading away.
  6. companies must know that good ideas and feedbacks can and will came from all levels of the company. You ignore it, you miss the point.
  7. user expectation is an everyday task. You miss it, they migrate. Yes, your competitor is only one click away.
  8. to succeed you need to know how to "count cards". There is no meaning-less statistics.
  9. developers are artists. They need inspiration, motivation and freedom.
  10. this post might be totally WRONG! Or not...

Tuesday, June 28, 2011

Skype Client XMPP Support for Facebook



Skype released a beta version for Windows with support for Facebook Chat. They are doing it through XMPP directly from Skype BETA Client.


Once again XMPP moves forward in becoming the universal bus for 'realtime' communications.
Companies that are not understanding the importance of being 'realtime' will soon realize that their time is gone.

Hopefully in the future we also have support for other open alternatives for Audio/Video Communications on Skype like Jingle and Jingle Nodes. Like Google did adopting the Standard Jingle.

Thursday, June 23, 2011

Standard Jingle on Google

After many year after its creation and early adoption, Google finally announced the switch from their own Jingle variant to the Standard Jingle Version created, approved and maintained by XMPP Foundation.
This comes in the right moment after the previously GIPS Media Company now owned by Google itself, announced the OpenSource WebRTC Project. Which intends to provide multimedia and realtime communication capabilities to Browser like Firefox, Chrome, Opera, etc...

Google intend to bring rich communication also to their other browser products like Orkut, iGoogle and even adSense with Ads that could place direct calls to the announcers.

This will enabled direct compatibility to the already know Jingle Clients Jitsi, OneTeam, Pidgin and others. The amplifier of this announcement is that soon we may be seeing native Jingle Support on Android OS, which will make a great and powerful opposition to Skype Mobile Market.

Nimbuzz was the very first Mobile Company to runs their entirely Voice Services over Jingle since 2007. They would have immediate benefit if they were allowing XMPP Federation, which currently is blocked. For now they support GTalk Calls but requires the user to have a Google account registered (which is not a big problem, but not as handy as it could be).

Hopefully Jingle Nodes will also be adopted soon as the default mechanism for Relay Sharing Discovering for Jingle. Stay tuned for more good news. 

Saturday, May 21, 2011

XMPP Server SRV Record Tutorial


With the new Openfire Version (3.7.0) released in March. I noticed a change in the S2S (federation) integration and would like to share the tips to help the setup to be done by other XMPP System Admins.

To prevent connection issue among the Servers it is required the registration of the SRV records according to the example:

In the case of the domain minhaempresa.com.br and the jabber domain to be  xmpp.minhaempresa.com.br the following records are required:
  • _jabber._tcp.xmpp.minhaempresa.com.br
  • _jabber._tcp.minhaempresa.com.br
  • _xmpp-server._tcp.xmpp.minhaempresa.com.br
  • _xmpp-server._tcp.minhaempresa.com.br
All the registration must point to your jabber domain, as noticed below:
marcelo@hellboy:~$ dig srv _xmpp-server._tcp.minhaempresa.com.br

; <<>> DiG 9.7.3 <<>> srv _xmpp-server._tcp.minhaempresa.com.br
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11368
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;_xmpp-server._tcp.minhaempresa.com.br. IN SRV

;; ANSWER SECTION:
_xmpp-server._tcp.minhaempresa.com.br. 86297 IN SRV 0 1 5269 xmpp.minhaempresa.com.br.

;; Query time: 16 msec
;; SERVER: 200.175.5.139#53(200.175.5.139)
;; WHEN: Sun May 15 00:24:00 2011
;; MSG SIZE rcvd: 89
I've have faced this situation when migrating a customer server that was upgraded a from a previous version of Openfire. If you don't register the domain fixing SRV record, S2S functionallity will not work.

* This is an authorized translation from the Blog Mundo OpenSource written by Marcelo Terres.  Especial thanks for the great and simple guide for setting up DNS SRV records required for an XMPP server.

Thursday, May 19, 2011

Open Discussion Day - 19th May

On May 19th is celebrated Open Discussion Day, a promotion day dedicated for open communication systems and protocols.
Communication is a natural necessity and should be open and available for everyone.
If you care about your own freedom of choice on how you IM and Call your friends, like you currently have with your email, from which you can send and receive emails from every server. Consider using an XMPP solution for such.

XMPP is free to use, and they don't restrict you to one provider or one client or even server.

Related Posts:

Thursday, May 12, 2011

XBox Skype 3D Video Call Support


Right after Skype acquisition by Microsoft, I already have sources talking about Skype native support on XBox 360. That will be great as it is quite handy, well positioned camera in millions of living rooms around the world.
Besides the comfort of having Video Calls sitting in your couch, you also need to expand the possibilities of the experience, as XBox Kinect Camera has much more than just lens. It is equipped with:
  • Multi-Array Mic
  • Dynamic Motorized Tilt
  • 3D Depth Sensors
Put it all together and the result will be an awesome:

Video Call with 3D support

If Microsoft is smart enough to foresee all those possibilities, they have a great and vast ground to explore with Skype.

Tuesday, May 10, 2011

Skype acquired by Microsoft


Mourning post about Skype future...
Although it have the policy to be closed and stuff. It was nice to have it at least providing the platform choice for their users. I hope that at least in that aspect Microsoft doesn't come to screw up.

In other aspects it may help the World to get rid of MSN Live Network, which has being the biggest technical / protocol failure all time for Instant Messaging and Communications. Including yearly Protocol Hacks and Updates, with fallback servers and periodical outage.
It would be a superb evolution for Microsoft to get rid of the technical garbage pile of MSN Live Network and applications, replacing it by Skype.

Phone Numbers and Telecoms will be affected and we are getting closer and closer to a phone number extinction. This acquisition not only confirms it, but also will speed it up. In that sense it is a positive move.

If you want to see yourself free of those monopoly battles use:
  • Jitsi.org - Open Source Fully Featured Jingle and SIP Video Client
    • Used in combination with fastvoip.com you get a very cheap (sometimes free) solution for calling international phone numbers
  • OneTeam.im - Open Source Jingle Client with Native Jingle Nodes Support

Friday, April 29, 2011

Android Video Call over Jingle


Finally! Google released what they already had. Video Call on Android!
As we know Google Talk already offers Video Calls even on gmail web client, now they extended the support also for Android 2.3.4.
The technology behind it, is the same behind gmail Video Call, XMPP and Jingle.

As GTalk also support XMPP Federation, Jingle is one step ahead towards World domination!

Thursday, April 14, 2011

ISP and Operators Take Another Hit on VoIP Blocking


"In view of those characteristics, Advocate General Cruz Villalón considers that the installation of that filtering and blocking system is a restriction on the right to respect for the privacy of communications and the right to protection of personal data, both of which are rights protected under the Charter of Fundamental Rights. By the same token, the deployment of such a system would restrict freedom of information, which is also protected by the Charter of Fundamental Rights."

The text above was extracted from the public document: http://curia.europa.eu/jcms/upload/docs/application/pdf/2011-04/cp110037en.pdf

This also mean that VoIP filtering applied by Vodafone and other operators in Europe, is illegal.

The more stupid Operators blocks VoIP more the market drives to an IM based communication, which they cannot block. They are the responsible for sinking their own business due their greed and incapacity of adapting to a new communication era. Innovate or fade.

Operators that blocks, filter or censor rich communication like VoIP and Streaming, they have a much shorter lifespan than you might think.

Wednesday, March 9, 2011

Promissing Alternative for XMPP API


Recently I got a comment in the blog about hXMPP which is an alternative for multi-platform code.
I spend some time checking their Jingle Code and also how easy is to use the examples. The result is that the developer should be proud. It is a very nice accomplished work.

Specially in Browsers with WebSocket support, that may be the way to go. For now thay have good BOSH Support.



Check the project and examples at: http://hxmpp.disktree.net/

Give it a try!

Monday, January 10, 2011

Jingle Nodes in Campus Party Brazil


Jingle Nodes Project will be presented in Campus Party Brasil in a very special way. Besides the keynote, there will be also 3 Educational workshops where the protocol and current solutions will be discussed in practice:
  • Installing an OpenSource IM Server with support for Audio and Video.
  • How to customize and adapt a VoIP Client to suit your personal or company needs.
  • How to build your own VoIP Client using OpenSource APIs. 
When in Campus Party Brazil make sure you check out the talk about Jingle Nodes and how you can get independence in your daily communication, therefore protected against "digital dictatorship" blocks like the Skype Block in China and Nimbuzz Block in Syria.

Wednesday, December 22, 2010

Skype Down, the Closed P2P Issue


You may be wondering why Skype is Down if it is a P2P network. That is not hard to answer, it is a closed P2P Network which the Fallback Servers and Main Nodes are entirely dependent on Skype itself. So if something goes wrong with them, there is no real fallback like you would have in a distributed regular P2P network like BitTorrent, UseNet or Jingle Nodes.
The main issue is that only Users from within Skype can share the Routes, but not users on different Networks and Domains like you can do with Jingle Nodes.
Skype official response was that they were creating "mega-super-nodes"? I don't know what does that mean, but I'm sure it still have same single point of failure of the current system. Until Skype don't come up with a Federated System, where providers, services and users can share Routes, they will always suffer from outages. And of course the most affected are the users and business that depends directly on them. Nearly 20 Million Users are suffering from the outage.

Open Standard Free alternatives that can provide reliability and superior quality:

Clients with Jingle Nodes Support:
* Nimbuzz (Mobile and Desktop)
* SIP Communicator (Jitsi) (Desktop)
* OneTeam (Desktop)

Services with Jingle Nodes Support:
* Nimbuzz (Free)
* Talkr.im (Free)

Don't wait for Skype to come up with "hyper-ultra-mega-super-nodes" to migrate to reliable software.

Sunday, November 14, 2010

Jingle Nodes Updates

Jingle Nodes will complete 9 months of official Specification published. As suggested by @luissoeiro, I will summit what happened so far.
How to contribute to Jingle Nodes:
  • Writing Code and Discuss the Specification - All fixes, patches and suggestions are always welcome (Jingle Nodes Group)
  • Talk about the project - Talk about Jingle Nodes simplicity and how it's easier than other alternatives
  • Propaganda - Add a Jingle Nodes Image to your Blog or Website (Jingle Nodes Selo.png)
  • Write a Tutorial - Describe how you are making use of Jingle Nodes
  • Testing and giving feedback - Your opinion matters!

Monday, October 25, 2010

The Good, the Bad and the Ugly

Skype have closed one more third-party this week. Nimbuzz announced that, like Fring, they were forced by Skype to stop supporting it in their Clients.
It is even more evident now, that the good signs about Skype Openness we saw beginning last year are completely flushed now, probably due their eagerness of pursuing an IPO and new management.
Although, what they did not count is the bad impact in their own user base and public image effects of such blocks. It proves once more that companies should not rely on Skype as something solid to build product features. Not only that, according to Skype, third-party MUST not build product features based on their services.
Skype also claim they have an API. Really? Not exactly, they have a Client SDK/API. And why it matters, is that if a client or device want to make use of it, they need to have exclusive granted privileges for a black box piece of software to be embedded and shipped within your product. Yes, if you want to support Skype, you need to build your product on top of that, and also make sure the product is exclusively Skype friendly. If that wasn't enough they also say that they do not guarantee for how long the piece of software will be valid.
Skype wants to do what AOL did, trying to force their users to install their Software and only use their own Browser/Client to access Internet. 
The Bad.


SIP is widely adopted worldwide specially among technical people, geeks and behind the curtains, even used as base landlines telephony like in Netherlands.
  • The interoperability is something achievable theoretically, meaning that several different SIP Clients can talk to each other
  • SIP release the Telecom from the "Dark Ages" to the "Modern Times", showing that Telephony could be done using IP and good software
  • Vast majority of Communication equipments and platforms have support for it.
  • It enabled the possibility to create huge portfolios of Value aggregated Services based on Legacy Telecom Centrals
  • It is responsible for the cheap VoIP as we know it
  • Most terminations that Skype buys, are provided via SIP
  • Estimated numbers of SIP Providers worldwide is bigger than 50.000
  • SIP Providers can sell termination minutes not only to end users, but also to other Providers
Although there are some not pretty facts about SIP:
  • SIP Protocol is not as practical and simple as it should be by 2010
  • SIP is not extensible, the current attempt of extending it (3GPP) is failing badly, taking more than 10 years of pure specifications, without any success to reach mass market. The current result is a HUGE stack of workarounds badly described and full of contradictions
  • SIP Calling is great and almost straight-forward, but Messaging, Presence, Contacts and Extended Services are way too complex for current Market Status
  • SIP is always backed by big corporations that tries to mystify it, trying as much as possible to postpone the life-cycle of the protocol.
  • The current Market needs and demands extra features than only Calling. There is no such thing as a mass market SIP based service with extensive features like: Presence, Contacts, Whiteboard, Video, File Sharing etc.
  • Apple Facetime is a frustrated attempt to use SIP for extended Video Call service ( Why frustrated? A service that works based on "trial-error" and does not have interoperability support in 2010, is a failure by default ). Apple end up implementing a half-SIP, half-XMPP, half-STUN solution. Which is completely closed for interoperability. It claims to implement it ALL, and supports NONE.
  • The complexity of the protocol makes it hard and restricted to highly specialized developers, which have their jobs lifetime guaranteed, but decreases the potential mass adoption of the protocol. The Ugly. 

Wednesday, October 20, 2010

Facetime and Video Call Matrix


Today Apple released Facetime for Mac OS, making it possible to have easy and H264 quality Video Calls between IPhones, IPods and Mac Desktops/Laptops.
besides the lack of Device Capability Discovery, meaning that you need to know who has support for it based on Trial and Error. Hard to believe for a 2010 Technology.
The moment also calls for attention of the extremely fragmented market of Video Call Clients Interoperability.

Current Status, October 2010:
Oct 2010
Prediction, January 2011:
Jan 2011
All the Buzz aside, Facetime still pretty limited, due:
  • Strange Username/Device setup
  • Confusion about device/contact support
  • Lack of simple start/stop Video buttons
  • 3G support
  • Interoperability
I still hope a XMPP Jingle Based Messiah to come and solve the fragmentation and interoperability matters.

Thursday, October 14, 2010

Jingle and Gaming

I've being discussing too much about VoIP on Jingle and we are almost forgetting that Jingle is also very suitable for Realtime Games, that requires very low Latency.
Having Multi-Player games using Jingle doesn't mean all the commands, events and actions will be sent in XMPP Format through IQs.
Jingle can also be used to negotiate direct TCP or UDP ByteStreams which is the most suited for low latency Games like Shooting Games for instance:

<iq from='romeo@3drealms.com/borntobewild'
 id='ph37a419'
 to='juliet@dnforever.com/makemyday'
 type='set'>
    <jingle xmlns='urn:xmpp:jingle:1'
     action='session-initiate'
     initiator='romeo@3drealms.com/borntobewild'
     sid='ohhyeah'>
        <content creator='initiator' name='dukenukem'>
            <description
             xmlns='http://dukenukemonline.com'
             media='game'>
                <payload-type id='1' type='controller'/>
            </description>
            <transport
             xmlns='urn:xmpp:jingle:transports:tcp'
             pwd='asd88fgpdd777uzjYhagZg'
             ufrag='8hhy'>
                <candidate component='1'
                 foundation='2'
                 generation='0'
                 id='y3s2b30v3r'
                 ip='192.0.2.3'
                 network='1'
                 port='45664'
                 priority='1694498815'
                 protocol='tcp'
                 rel-addr='10.0.1.1'
                 rel-port='8998'
                 type='srflx'/>
            </transport>
        </content>
    </jingle>
</iq>


So if you are looking forward to build Multiplayer Games, you may consider ejabberd or Openfire a ready to use platform for such.
This is an insight post, so please fell free to send question and ideas as comments.

Wednesday, September 22, 2010

Gravity

Imagine that in the beginning was only a small ball with hyper mass and for some reason this mass expanded extremely fast, but so fast that it cause the three-dimensional space to echo infinitely creating the dimensional effect we call "time". Time is the dimension that contains all infinity spaces.
Gravity is the "inertia" of the timeline that we are situated. Basically it tries to pull back the matter to the earliest state as possible in a state-less way.
From a Macro Cosmo perspective there was only one incident and everything currently tries to converge back to the previous state, which is all the mass in a single point of space and time.
Gravity like most of the other effects we see in regular physics, does not keep state of each previous state, except for the most relevant one.
For instance no matter how many rocks diverged the flow of the water in a river, from a higher perspective, the river will always follow its course like no rock, had changed the movement and the water form at previous points of the river course.
Gravity keeps the original shape, course and intensity as most as possible. Mitigating the essence of this energy. Which is one of the most basic ones in the universe.
The energy can be defined and resolved as a recursive movement of energy always trying to go back together to the original state, usually perceived by the nearest and easiest bigger mass around.

Meaning that to stop gravity you will need to stop time as we know it.

Saturday, September 11, 2010

Jingle Nodes Proxy and EU Surveillance

"The German Pirate Party has disclosed some secret documents on how the EU is planning to monitor citizens. The so called INDECT Documents describe how a seamless surveillance could (or should) be implemented across Europe. The use of CCTV cameras, the internet (social networks) and even the use of UAVs are mentioned as data sources. Two of the nine documents can be downloaded from the German Pirate Party's website (PDFs in English)."

When I read this news on Slashdot.org, as an enthusiast of civil freedom, I immediately downloaded both documents available in the Link. But what I found was more interesting for me than the news itself. In the "The communications framework architecture" section, the document contains the following diagram:
They not only use XMPP and Jingle, but also Jingle based RTP Server/Proxy which is the essence of Jingle Nodes Specification. Specially if we refer to the very beginning back on the Jingle RTP Proxy in Openfire (2006):
2006 - Diagram for Openfire RTP Proxy
It is very cool to see how new technology is overwhelmed for a while, before the real life adoption starts.

In regard of the EU Surveillance, I hope they don't manage to use it for Surveillance but to provide Free and Open Communication alternative for Citizens. Because that is actually what the Architecture in the document and Jingle Nodes are about.
European population cannot accept what Egypt did and now India is trying to do with all Internet Communications system, install a dictatorial, monitored and censored Internet communication. This don't only harm Citizens Freedom but also basic rights of privacy.
For those people who believes these are anti-terrorist measures, stop acting like an ignorant blind animal, and remember that is way easier and anonymous for a terrorist to buy a pre-paid SIM card place one single call and then throw it away, to actually use Internet Communications. The main interest is "Command-and-Control" the ability to control Prices and Profits through a basic human necessity: Communication.

STOP 
Surveillance 
and 
START 
Open Communication!