I just finished playing with very cool VoIP application that uses Flash/Flex to allow you make calls to any phone right from within your browser: GizmoCall. The app appears to be built on the Flex framework, requires Flash 9 for the interface and audio in and out. You dial, speak and talk right through the application. You get five minutes a day of free calls to any phone line, along with unlimited free calls to users Google Talk, Windows Live, Gizmo Project and any other SIP service. You can also of course register and buy credits for more time for outgoing calls that don’t qualify as free. THey also provide control over your caller-ID (allowing for some mischievousness) I tried it out and called my brother in his cell phone and the quality was great. It was really quite impressive the quality on both ends. I was using a pretty decent noise cancelling headset, a Plantronics .Audio 550 DSP so that certainly helped.
The application is pretty slick in that it does require (at least on the Mac OS X side of things – haven’t tried it on Windows yet) a small Preference Pane plugin that handles part of the communications with Flash and the connections. It appears that the Preference pane app becomes a local server on your machine listening on port 61280 by default, and in turn the Flex app uses the new binary socket capabilities to communicate to the local proxy of sorts and transfer data for calls between the local Flex/Flash app in your browser. I haven’t investigated it too deep yet, but I am guessing that they are using the local server/proxy app as a sort of local FMS server to handle the audio coming from the microphone through Flash and back out. I’m going to have to do a little sniffing and see how its all working a bit more because its a really interesting approach they have taken. I have a fairly decent 16MB down/4MB up connection, but even so, there was no latency/lag at all in the calls I made this evening.
I’ve used IM for voice chats, Breeze/Acrobat, Skype and other VoIP solutions, but this one seems really interesting. I guess for me its because of the tie in with Flex/Flash and the innovative way in which they have utilized the technology to tie it all together. To me this seems like a perfect fit for an Apollo application down the road instead of a Flash/Flex and custom local app, just do it all in Apollo. Hopefully Apollo will be able to support some more advanced local OS integration to accomplish applications like this.