Here at work we decided to use Skype as the default communication IM for the whole company. Two days ago I decided to try the new beta ’cause, honestly, the interface looks horrible on a GNOME desktop (maybe not so much on KDE, because Skype uses Qt). So I downloaded the newest beta.
The result? Groups are gone, the main menu is going and you can’t hide offline contacts anymore and there are some options that simply don’t make sense for normal user (Transports? What’s that?). I thought it was something wrong with my installation, so I went to their forums, just to find that this is gone because they rewrote the thing from scratch. Honestly, I don’t think that switching between Qt 3 to Qt4 means “you need to completely rewrite all your code”.
But, then again, today I read an article were you can read that the complete rewrite was done because they wanted to add video support. Now, were the hell you need to drop an interface when you need to add something in the engine behind it? Ok, maybe the interface don’t have the space to put a video, but that doesn’t mean you need to drop everything and start from scratch.
Honestly, the problem is not that “we had to add video support”. The problem is that now their team is bigger and a lot of guys there are like 90% of the developers around: they can’t read code from someone else. Joel Spolsky pointed this before: it is easier to write code than read it.
And, on top of that, I can say: there is nothing proving that rewrite code makes it better. Honestly, I think it makes it worst (and that’s the same opinion Joel has): you are dropping several years of bug fixing and you are just adding new ones.
PS: If one of the Skype guys want to prove me I’m wrong, do this: GPL the previous version. So everyone would see that the code was bad for a start.