On building a platform

Sakis Kasampallis | Jul 12, 2012 min read
The se-radio podcast about building a platform contains many useful tips, but the most important IMHO are (1) the importance of the API, (2) "eating your own dog food".

The API should be easy to use. This means that it should be intuitive for the users, which in this case are programmers. Note that the developers of the API should not decide about its flexibility and easiness. That should be decided only by the users, so the design of an API is guided by the programmers who use it. Good code documentation is also important, and in this case tools like doxygen are invaluable. Finally, backward compatibility is crucial.

"Eating your own dog food" in this case means using your own platform, either to extend it or to develop customer products (or by being just the end customer). I find this extremely important, because when programmers develop products that they never use or don't find useful for themselves, the quality of the product is low. This is related with the "Scratching an itch" topic (see guidelines 1 and 18). Examples: Eclipse developers use Eclipse to develop it further, Apple developers use the stuff that they developed in their daily life, etc.