Archive for 2008

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 


Naughty protocols, need spanking

I have previously mentioned Joel Spolsky’s brilliant post about standards. If you’ve not read it yet, it is really worth your while. In that post he quotes Jon Postel‘s robustness principle and Marshall Rose’s critique: Counter-intuitively, Postel’s robustness principle (”be conservative in what you send, liberal in what you accept”) often leads to deployment problems. Why? When a new implementation is initially fielded, it is likely that it will encounter only a subset of existing implementations. If those implementations follow (read more...)

By Ran Arad  |  April 7th, 2008  |  Filed under Interoperability, Standardization
Add a comment 


Protocol war

There are two kinds of protocol wars: one is between competing protocols, and the other is between protocol implementations. I would like to offer a glimpse into the reasons and ways in which companies implementing the same protocol compete with each other. However, I will first need to make a small disclaimer: any example I give here is not meant to imply that any company involved has any intention of malice or foul play. In fact, I am sure that (read more...)

By Ran Arad  |  March 31st, 2008  |  Filed under Interoperability
Add a comment 



Subscribe

Subscribe via RSS
Subscribe via email:

Interactive Video Platform