Archive for 2008

4 Gotcha’s of text-based protocols

As I stated many times, I think binary encoding is superior to text based encoding. However, usually, when you are a software engineer implementing a protocol, the protocol choice is not yours. In this post, I will consider the pitfalls and gotcha’s of text-based protocols and how to design your way around them. I mostly consider protocols defined by ABNF rules (such as SIP). If the protocol uses an XML scheme, there are readily available documents on parsing XML into (read more...)

By Ran Arad  |  July 3rd, 2008  |  Filed under Development, SDKs
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 


Standards? Pul–lease!

Jeff Atwood for Coding Horror already mentioned the better looks of Guitar Hero 3, and concluded that presentation matters. Reading it, I concluded that he has not played the game for more than half an hour, since after half an hour you hardly see the presentation, except for when it annoys you. My favorite game at the time was the first Guitar Hero, since it was easier (I actually felt abused by GH3). Then came Rock Band. This time, a (read more...)

By Ran Arad  |  June 2nd, 2008  |  Filed under Standardization
1 comment  |  Add your own 


Compiled Protocols vs. Script Protocols

There is a huge difference between compiled languages and scripting languages: the former are first entirely compiled and then executed, the latter are interpreted as they progress. I will use this terminology to discuss two types of protocols: the more common is made up of readymade messages or methods; each message type indicates a predetermined course of action. The less common type, and one I think deserves more attention, sends messages made up of many simple commands that do very (read more...)

By Ran Arad  |  May 27th, 2008  |  Filed under Standardization
Add a comment 


The human puppet

In the standardized human behavior series, I discuss human behavior, compare it to a protocol and see what we can alter or learn from it. Previously I considered whether people want to be standardized at all and concluded that they do not. Nobody wants to think of himself as a puppet manipulated by external forces or to act just as is expected of him. It’s possible to take the “Soup Nazi” episode from the Seinfeld sitcom as an example. The (read more...)

By Ran Arad  |  May 14th, 2008  |  Filed under Interoperability, Standardization
Add a comment 


Writing code for human beings: IN, OUT and INOUT

Checking the searches that lead people to this blog revealed that they search for “Radvision INOUT”. Thus, on public demand, I will explain the super-secret-non-more-secret parameter guidelines. From RADVISION’s common type definitions: /* Some "empty" definitions that we can use for readability of the code */ #define IN #define OUT #define INOUT What this simply means is these words are replaced by nothing; they are just indications for the reader, not the compiler. I think mini-comments may be the best (read more...)

By Ran Arad  |  May 8th, 2008  |  Filed under SDKs
Add a comment 


Empty Security & Vitamin Cookies

In my previous post, I mentioned the “wicked son,” the vendors who want to give their customers a sense of security, but do not actually want to implement any cumbersome security algorithms. I had a customer using H.323 who sent me specifications for a security implementation for H.323 where the password wasn’t known in advance, and asked us to support it. When I mentioned to them that they were showing the password in the open, where anyone who wants can (read more...)

By Ran Arad  |  April 30th, 2008  |  Filed under SDKs, Standardization
Add a comment 


Four Sons of VoIP security

On the Jewish holiday of Passover, we read about the tale of the four sons: One wise, one wicked, one simple and one who does not know how to ask a question. In this special Passover post, I will consider their approach to security.What does the wise son say? For the wise son, no amount of security is enough. He will use authentication, integrity and privacy algorithms to protect his online data and communications, although he knows that all measures (read more...)

By Ran Arad  |  April 23rd, 2008  |  Filed under SDKs, Standardization
Add a comment 


Logs + Scripts = Ownage

At times, I like to keep scores between Development and Customer Support (CS). If a problem is on the customer’s side, a point is awarded to development and if the problem is with our code, a point is awarded to customer support. Then there are the many special cases, for example problems with documentation (points for CS), problems with API design (more points for CS), problems fixed for another customer already (points for Development) problems which are already fixed in (read more...)

By Ran Arad  |  April 14th, 2008  |  Filed under SDKs
Add a comment 


Gabe Wachob: Memo to API Service Providers

Gabe Wachob provides tips for API developers. In contrast to my low-level approach, Wachob looks at API design from a holistic perspective. Although he speaks on API design for web services, most of his tips are relevant to every aspect of API design. For example: API can be seen as a separate product you are delivering One can document the service and not just the API Provide a reference client application to demonstrate usage of the API The one that I am most fond of involves developing against your API “fun and personal”. Wachob links another post explaining that last point, in which he writes: “If you are a developer, you know what the thrill of the hack is - when your building something, and you sit down and implement a new feature and all of a sudden, your stuff plugs into a bunch of other people’s stuff and what was once a cool standalone thing is now part of an ecosystem of interoperating cool stuff. The whole becomes greater than the sum of the parts. And you, the developer, are part of it.” Here Wachob references web services, developer communities and open source development. I need to think about how this translates to the design of product APIs and protocol stacks and I’m open for new ideas.

By Ran Arad  |  April 9th, 2008  |  Filed under SDKs
Add a comment 


Previous Posts


Subscribe

Subscribe via RSS
Subscribe via email:

Join the Survey