I've meant to write about downloadable VoIP Clients for a long time now, but didn't quite know how to tackle the issue. I finally wrote about it on my VoIP Survivor blog, stating I don't see the value of having downloadable VoIP clients in mobile application stores. However, there's an additional aspect that needs to be tackled, and that is video.
I'll start by quoting Morten Hjerde on the fragmentation on development platforms:
"... if you intend to interact with the phone itself - if your app uses the camera, the GPS, or any other internal phone feature - you are back to developing a separate app per manufacturer...the dream of cross platform development seems further away than ever. Maybe forever."
Video requires all of the above and more. Video is also much harder than voice. It requires more processing power and it usually requires optimization on the target platform in order to run smoothly. Furthermore, it requires interaction with a lot of peripherals.
This makes it quite impossible to make it downloadable on a large scale.
I was the Product Manager of the 3G-324M stack in RADVISION up until recently - a protocol stack that is used for mobile video calls from handsets. In this capacity I had the pleasure of working with a lot of handset vendors. If there's anything that this experience has taught me it is that mobile devices are different from each other to the extreme. Some use the latest NVIDIA graphic accelerators just to get better visualization while others are looking for something that can run off a low cost ARM7 for their device.
For an operator to support a downloadable client, he must have that client running off multiple devices. Almost every device will need its own optimization for the video codecs - without it, you simply can't run video encoding off of the device; at least not today, when real time video encoding is not widespread.
Each and every handset vendor we worked with had to work out the optimization and integration part of the video codec into his system - quite a tedious task.
As much as it would have been nice to have a downloadable video client, it simply can't be. At least not today. It must be integrated into the phone itself. Tailoring into each and every handset is impractical.