Developer Blog
Updates before the Holidays
by Sven Paulsen on Dec 13, 2006
Hello TeamSpeak fans!

After a few weeks of intense developing, we are back to bring you more news concerning TeamSpeak 3.

Key Bindings
Currently we are adding key-bindings to the TeamSpeak client. With this new interface it will be possible to bind, for example, button 5 on your joystick to mute your microphone and button 3 on your mouse to mute output. We also plan to support things like push-to-mute, which requires support to bind actions to 'button-down' and 'button-up' events - pretty neat stuff.

Preferred Servers
We have decided to allow the user to store his preferred servers as bookmarks, just like you all know from your favorite web browser. The graphically most challenging component, the bookmark manager, is nearly finished.

TeamSpeak 3's Core Architecture
OK, for all you techies and brainiacs out there, we are developing the client in two layers, the core part which we usually refer to as the ClientLib and the interface part which we call the ClientUI . The ClientUI uses the ClientLib to do all the interaction with TeamSpeak 3 servers (like connecting, disconnecting, creating channels, etc). The ClientUI is responsible for the user interface (hence UI), as it presents the user with dialogs and windows showing information retrieved from the ClientLib (e.g. the channel list in a tree view) and it allows the user to issue commands (e.g. right click on a user and kick client) that are submitted into the ClientLib which carries the command into execution. The advantage of this modular approach can easily be seen from a developer's point of view. When anybody wishes to create an entirely new user interface, he just takes the existing ClientLib , and substitutes our ClientUI with his own completely custom interface.

The ClientLib can also be used when integrating TeamSpeak into a totally different application - like an online game. This is something we are really looking forward to. That is, having the advantages of a fully integrated voicecom solution within an online game (e.g. automatic team channels) bundled with the advantages of a full-featured voicecom application, as opposed to the often very 'limited' in-game voicecom solutions that you see in most of today's voice-enabled games.

Stress Testing
Currently we already have TWO user interfaces, the regular full featured graphical one, and a console only application that we use mainly for stress testing - spawning hundreds of these clients at once (you could call it 'bot'). This stress testing has become increasingly interesting since we recently added a new command to the server's serverquery interface which allows you to spawn a new virtual server. It would be hard to fill e.g. 500 virtual servers (*) with 50 clients each during closed alpha (especially with our current 6 alpha testers) without them. Of course these bots are no real substitute for 25000 testers, and we will certainly extend our test team once we reach feature completeness and progress into our open beta stages.

(*) Spawning 500 virtual servers is fact, not fiction, even in our current ALPHA server. Hence, we hope to say good-bye to the petty 75 virtual server 'scalability restriction' that TeamSpeak 2 has.

Hail to the igloo-building gods
In three weeks we will try to build an igloo to sleep in, just as we did last year. But this time we won't take a tent as backup with us. So don't worry if our next blog entry is late, it's simply because we're getting thawed out after being frozen like popsicles! If you really want us to survive, you still have a little time left to teach us how to build a GOOD igloo. Please post your comments in our forums - we'd love to hear from you.

See you next time...
« Read all Developer Blogs