Interface Design & Perceptual Control Theory

It’s been a (long) while, but I’m finally back to continue my discussion of Dan Teasdale’s Design Lessons Learned From Rock Band. Dan brings up issues of design, re-design, software development cycles, management, communities and dealing with the unexpected that are much more universal than just game design. I discussed the One Question Principle in the previous post, and in this one, I’ll consider the second principle he discusses – the Perceptual Control Theory (PCT). The What What What? If (read more...)

By Ran Arad  |  September 23rd, 2009  |  Filed under Development, SDKs
Add a comment 


Jitter Buffer HowTo

We just implemented an Adaptive Jitter Buffer (AJB) module over our Advanced RTP stack and I wanted to share a few insights that I arrived at during development. What is Jitter? A quick statistics reference, over an IP network, packets sent are always received in the same order that they were sent in or with the same latency. For simplicity sake, we’ll look at the time between sending and arrival of a packet as a random variable with a normal (read more...)

By Ran Arad  |  December 15th, 2008  |  Filed under Development
2 comments  |  Add your own 


The Last Universalist of VoIP

Henri Poincaré (1854 -1912) is sometimes said to be the last mathematician to know all of Mathematics, or The Last Universalist, as he excelled in all fields of mathematics. It’s not that we don’t have bright people today, it’s just that mathematics today has so many disciplines that it is impossible to know them all in depth and excel in them. The amount of knowledge that is needed to excel in a field is so great that we no longer (read more...)

By Ran Arad  |  December 3rd, 2008  |  Filed under Development, Standardization
Add a comment 


5 must-have tools for VoIP Developers

Is developing protocol stacks and communication software any different from developing any other software? I have to develop API’s for my protocol stacks a challenge in itself and related more to user psychology than to programming. I have to check control flows all the way down to the network and back to the application. I also need to process large amounts of data and  develop  many platforms. I hope these tools will be as useful to you as they are (read more...)

By Ran Arad  |  June 9th, 2008  |  Filed under Development
1 comment  |  Add your own 


Can have it all: flexibility with simplicity

API design is tricky. You have to constantly answer two opposite questions: How can I let the user do anything he would like to do? How can I make things simple to use? Flexibility causes complexity, simplicity causes rigidness, right? Wrong. Take the void pointer for example. The void pointer can point to anything, so it’s flexible, and it is very simple as well. The same can be said for Java interfaces or C++ container classes. Or take (read more...)

By Ran Arad  |  February 4th, 2008  |  Filed under SDKs
1 comment  |  Add your own