← Back to context

Comment by bpyne

10 years ago

Reusable components is a mantra within software engineering. People deciding on product direction want to reuse what's available and has been tested: known quantities increase confidence levels. Unfortunately, the reuse in the large vs. reuse in the small dilemma gets lost in the decision-making. At a certain job level, applications become components represented by geometric shapes on a whiteboard or electronic diagram. At that level, components look like good candidates for reuse.

Unfortunately "the devil is in the details". Reuse, in this case, hurt the messaging app because of a fundamental difference between connection and connection-less communication. I'm sure the engineers working on the messaging app understood the problems. But, they were most likely not a key part of the decision chain.

This whole Skype/P2P thread makes me feel very pleased and very optimistic about what we have built already and are building for release relatively soon.

You can do P2P on mobile and you can even do P2P with central server fallback without sacrificing reusable components and with standard network protocols. You just have to do the hard work at the lowest layers first and you have to think about the problem from an SDN perspective instead of an app-centric-P2P perspective.

(Intentionally cryptic response, yes. Grin.)