July 20, 2004

Next BitWise Frontier: Voice or Video?

Posted at July 20, 2004 05:29 PM in BitWise .

One big decision that will be made "soon" is whether we'll consider voice chat or video chat as one of the next major features in BitWise. While such posts would normally go in the "New Feature Ideas" forum, this one is significant enough to have a bigger appearance. So here I am. This is long, I apologize, but it has to be, there's lots to think about.

I am frequently asked, "Does BitWise support voice chat?" and/or "Does BitWise support webcams?" The anwser to both at this time is no, but I hope that will change in 1.0.3 or 1.1.0. The question is which should be done first. Adding video does not necessarily imply voice (clarification: adding video would add a full audio-visual chat, however, adding video chat does not imply that a separate voice-only capability would be present depending on how the video chat worked. Further, the best audio to go along with video may not be the best stand-alone audio). Bear in mind through this whole discussion that we're not just talking about one platform, we're talking about three (Windows, Linux, OS X). Let me outline some of my thoughts, based on some preliminary searching that I have done, and we'll see where we go.

First, on voice chat. I have located two very promising cross-platform libraries that could be used to create a voice chat solution. PortAudio could be used for capture, and Speex could be used for compression/transmission (it claims to be optimized for VOIP). The biggest hurdle with voice is lag, of course, and so I expect some amount of time would be needed in order make it function well. Fortunately, there is no A/V sync like on a webcam.

One "barrier" common to both would be using UDP rather than TCP. TCP has quite a high overhead, and therefore is not well-suited for streaming media. This would create new issues especially for the routing server and those using routers. However, this is common to both voice and video.

Second, on video. Video comes not only with the lag problem but also with the A/V sync problem. Further, I have not yet been able to identify a good cross-platform way for capturing or streaming video (maybe I just haven't looked in the right place). Video is obviously a very in-demand item for home users (just ask Yahoo why anyone still uses them for IM), so having a cross-platform well-made video chat would probably come close to being in the "killer app" category. However, there's got to be a reason it hasn't been done yet: it is my opinion that the complexity of video is probably many times worse than voice.

Also, there's the issue of business use: which one would be more desired by businesses? VOIP is a big thing, but what about video conferencing? Lastly, speaking of conferencing: how about voice conferencing, where you could have a group of people all voice-chatting with each other, all hearing each other, much like a speakerphone in a conference room (maybe this is what NetMeeting does?). Is this useful?

Skype proved that voice chat is very popular, but unless BitWise can do it as well as Skype, is that a competition not to enter? Or is it worth providing a more "all-in-one" app and trying to tear people off of Skype? Has there been a "Skype" in the video market?

Lots of good questions to think about, and obviously a decision that could have a big impact on the future of BitWise. Voice looks easier, but video, if it could be done, carries a potentially higher reward in terms of being unique and useful. Is it better to have voice than neither, and have it sooner, than toil away on video and neglect everything else (such as the chat room module?).

This is clearly in the early stages. The final decision is ours to make, of course, but our users never cease to provide those insights that we often overlook sitting on the other side of the fence. Here's your chance to help us do "the right thing" to keep BitWise an exciting, innovative product now and in the future. Please leave a comment with your thoughts and/or desires.

Comments

Grabbing video from a camcorder on mulitple platforms would take so much time (and luck) that I think starting with voice is a better option. There's more likely to be a simple microphone interface on each platform than one for video (speaking as somebody who has never tried to do either).

Posted by Tom at July 20, 2004 09:27 PM

I was using Firetalk about 5 years ago, it was a voice chat program and a really nice one at that. Its gone now, but be for they left they were having problems with the phone companies trying to sue them because you could have long distant conversations with the coast of a local call. I don't think thats the reason they are dead but oh well.

Personaly I would like voice chat because that is some thing I could use, not very well mind you (slow connection). If you start with voice chat then it will probably be easier, so it could be "completed" quicker and then you could move on to video rather than started with the hard problem. (Strategy of testing remember)

Posted by he_the_great at July 21, 2004 12:34 AM

I got to thinking, if you got started on video, maybe you could beat anyone else trying it. Then you would get lots of people to sign up and they would stay.

Posted by he_the_great at July 21, 2004 02:08 AM

While video/audio would be awesome, I think audio-only would be a little better to start with.

You're right about Yahoo. One of my younger brother's uses only Yahoo, and what for...? Yep, voice and video. I haven't even bothered trying to get him to switch to BitWise. The reason for this is that he's dyslexic, and being able to actually TALK to his friends gives him the ability to communicate with them a lot quicker. It takes him a bit longer to type stuff out. He's not stupid, he just has more trouble with it at times than some people.

I'd think audio only would take a bit less bandwidth to use than video/audio, which means more people would be able to take advantage of it. Plus, not everyone has a netcam (the brother previously mentioned stole mine -=\)...
I know netcam's are more "fun" to use than just plain old audio... but I think you get more use out of audio.

Of course all of this is aimed at the free side of BitWise. In a professional environment, I don't know what the heck would be best.

Posted by ooklah at July 21, 2004 05:40 PM

Oh, and yeah, I know. Not everyone has a microphone for their computer, either. But I believe they run a bit cheaper than a netcam!

Posted by ooklah at July 21, 2004 05:44 PM

Oh yes, the Business side of it. The video would probable be more useful here, for like, showing an idea with the webcam. The people then already have a way to comment on it with the text chat, where as the audio just gives an easier way to chat.

Posted by he_the_great at July 21, 2004 09:26 PM

I suppose I'll be the Devil's Advocate and say that perhaps bloating BitWise isn't in the best interest of the program. I'm sure all of us have different ideas of what an ideal IM should do, but it's worth noting that the core textual instant messaging part is far from done. In addition, Kevin appears to be the guy who does most of the coding work on BW, and dividing up that scarce resource might result in the entire BW client stagnating for a while.

Instead, I'd recommend offloading the work to other people who are already doing it! Why try to beat Skype at voice when Kevin can just integrate a function to bring up the Skype client with the user data provided from BW? I can't imagine it would take nearly as long as developing it from scratch, plus all of us would benefit from Skype's continuing research AS WELL AS Kevin's work on BW. (Disclaimer: Just using Skype as an example, I'm sure there are plenty of other candidates)

Posted by cswake at July 22, 2004 01:25 AM

I am curious how you mean the term "bloat." If you're talking strictly about file size, I do not think that voice alone will substantially ad to the file size. The libraries that I have found so far are not huge by any means, and the code in BitWise itself is not likely to be significant compared to the overall size. If you mean "bloat" in terms of features, then maybe you have something to think about.

I generally agree that BitWise is about IM and doing it better than anyone else. That said, however, BitWise already has file sharing, which is not really related to IM. However, competition demands that file sharing be present, just like competing with Yahoo requires having video chat. Should BitWise compete with Yahoo? That's a good question, but the truth is that without video chat, you can't (again, whether you should or not is a separate issue).

Bundling with Skype has several issues and isn't something I'd like to pursue. What happens when Skype (or someone else) begins charging for their service? As a business user, you want to pay for a service, not have to pay twice. If someone is interested in voice chat, they'd bypass us directly for Skype, potentially costing us users (and more importantly, potential sales).

I believe that these features may deviate from a textbook definition of IM, but in today's market are important to being able to compete. That said, I myself am strongly leaning towards voice first for the very reasons mentioned by cswake: I am afraid that video chat would be a huge and potentially unrewarding time trap. Given the libraries I have already located, voice chat looks feasible without months and months of time and without making BitWise become really huge. It's not as cool as video chat, but at least it wouldn't, as cswake said, cause BitWise to stagnate.

Posted by Kevin at July 22, 2004 10:04 AM

I just wondered if you had heard or tried Picophone, (freeware)
Its the closest thing on the Internet that I've used for voice chat, to a telephone, the lag is tiny 100/200ms and you can talk over each other (unlike on Yahoo) so you can interrupt mid sentence etc. Bandwidth usage is tiny too, in fact you can use it while playing Multi player games with no noticeable ping lose.
I don't think its Open Source but it may give you some ideas?, I think the standalone .exe is only about 50kbs in size too (probably is completely unsecure-but I love it too much to care)
I think it uses codecs that are in Windows GSM6.10 or Truespeech or MS G.723 - Anyway like I said, it may give you a hint??

Posted by warpoc_muse at July 24, 2004 10:16 PM

I had not tried Picophone, but I don't think I'll need to. Reasons will be evident soon enough in my next blog post coming up here shortly... but thanks for the link, it was interesting to see it. And being able to talk on top of each other is definitely a good thing! :)

Posted by Kevin at July 24, 2004 10:20 PM
Posting of new comments has been disabled for this post.