The. best. job. ever. – build Skype 2.0 in a year.
The perfect project has surfaced. I almost certainly won’t get to do it,
but a man can dream….
It has everything – VoIP, hard deadlines, massive users, adequate resources, well defined requirements, most (but not all) of the necessary components already exist.
Rebuild Skype in a year.
The original founders of Skype have held onto some of the core technology and Skype may not be able to continue using it.
So Skype may need to re-engineer their technology in a hurry.
What a brilliant opportunity for them, and for the engineers who get to work on it!
It’s like Apple moving to OSX or Microsoft moving to the Windows NT kernel.
A chance to fix all the weaknesses and create a product that better fits the niche they have carved themselves.
So what do they need to keep (in no particular order):
- 3 media : voice, text, video
- peer to peer (One look at YouTube’s bandwidth costs tell you why)
- simple naming/addressing
- zero cost to new users
- firewall and NAT traversal
- wideband audio
- the userbase
What do they need to loose:
- secret protocol – there are many businesses that can’t permit Skype
- because they can’t manage or record the protocol.
- distributed storage – currently your data is stored ‘somewhere’ – (for an EU company, that isn’t good enough, legally we have to know if data is being exported outside the EU and get permission from the person concerned)
- bloat – the skype client is big and heavy – netbooks and smartphones need something lighter
What they should add:
- defined data storage zones EU – Americas – APAC perhaps ?
- defined (and ideally standardized) protocols
- 3rd party access to the platform.
- more browser friendliness – you should be able to embed skype in a web page.
- support for stereo
- support for ‘local’ proxies – allowing enterprises to control their internal network traffic.
According to some, they have a year in which to do this.
It’s difficult but do-able. The trick is to find the right protocol(s) and then build
an architecture around them.
I’m biassed by my experience at Phonefromhere.com, but I’d say IAX and DUNDI would go a _very_ long way to solving the problem.
IAX is an encrypted VOIP protocol that supports very good NAT and firewall traversal, it’s documented (if not a standard), it supports voice, video and text
and peer-to-peer. It’s lightweight, and easy to implement.
DUNDI is a companion protocol (also from Diguim inc) which provides for user
discovery in a mesh of VoIP agents.
As far as the rest of the architecture goes, I think a more ‘conventional’ setup
of a raft of LAMP clustered servers in the 3 regions could support all the data storage, web service and persistence requirements.
They could use the Skype for Asterisk technology to gateway between the old
and new versions to provide a transition arrangement.
Time to get talking with Digium and Skype I think 🙂