Thoughts on Winamp3
According to Joel Spolsky (JoelOnSoftware.com), the "single worst strategic mistake that any software company can make" is deciding to rewrite their code from scratch.
Joel was talking about Netscape/Mozilla. Now another of AOL/Timewarner's children has shot themselves in the foot.
Winamp used to be small, tight, fast, and nimble. It used to whip the llamas ass. Now, in the latest release, version 3.0, which was completely re-written from scratch, it is awkward and unrefined.
Winamp3 doesn't use standard Windows controls. You can't Tab through form fields. Over a year ago, I ranted about non-standard user-interface elements, skins, and how these decisions to build proprietary cross-platform interface controls make sense for programmers, but not for users. I could go on and on about this (look at this skin - what the hell is that!?).
Winamp, the program that pioneered the "Stop bugging me!" checkbox in their installation/registration wizard now puts AOL icons all over the place.
They also win my Most Meaningless Icon of the Week award for their 'shuffle' control button. The button looks at times exactly like a 'volume' control, and at times exactly like an 'equalizer' control. What was wrong with the word shuffle.
I realize that Winamp is owned by AOL/Timewarner, but if their parent company fails to realize what it was that made Winamp popular in the first place, they will have wasted their $400 million.
The real winner here is Microsoft. Their Windows Media Player has always been bulky and slow. Winamp used to be the light alternative. The other alternatives aren't looking good either. QuickTime on Windows is a bad port from the Mac version and RealPlayer fell prey to the worst advertising saturation of any application in the history of software to the point where many refuse to even install it.
Having said all of this, it has been pointed out to me that Winamp2 was not very refined when it was initially released either. I'm sure Winamp3 will improve over time as well, but that's the whole point - they shouldn't have to improve.
Haven't they been working on Winamp3 for at least a year (maybe two?) now?
There's only one problem. They make 2 look like a little guy, sad and alone in a smashed-up world. He's still there, but he's not really doing much. But 3, oh, now 3 is just busting through everything with action! He's big, he's buff, and he's gonna kick your music's ass hardcore. The problem is that, while WA3 may be the new and 'explosive' software Nullsoft always wanted to create, WA2 is still sitting there, compact, fast and efficient. It's not gonna bust your music's balls, it's not gonna make you sweat. It's going to work, pretty much perfectly, all the time. And it's not gonna eat up RAM, and it's not going to waste your time.
And as an aside, I'm also against WA3 because I will have to rewrite my WA2 plugin, CurrentlyHearing, for it to work. I don't really want to do that.
Only little nitpicks I know, but things that will make me stay with Winamp 2.
If its not broken, why fix it?
When it comes to writing code, every book/resource will tell you to research built in functions of the language before reinventing the wheel. When a program is built well its usually because the proper planning and research was done up front and complete to the point where the programmer knows what is already available with in the language. Unless a company wants to switch from COBAL to a more modern language for a specific reason there shouldnt really be a huge need to start over. Most development tools allow you to plan for the future and with OO programming now, it is easy to update a block of code within the program preventing the need to go through line by line of the entire project.
From that article I like this paragraph best:
It's important to remember that when you start from scratch there is absolutely no reason to believe that you are going to do a better job than you did the first time. First of all, you
.
It's harder to read code than to write it I guess this all depends on how organized it is. How much you already know of what the program is intended to do. And how many comments and descriptions the author has placed to help others understand the concept they were thinking at the time of development.
The nullsoft guys have always been highly respected in my eyes, some of the funniest title bars in history ("Winamp - Easier to use than a virgin on prom night" - honestly), and a good screw you attitude to AOL (early versions of gnutella). But it appears they were pushed to get winamp3 out the door by their owners.
It's a great alternative to WinAmp.
As for rewriting from scratch, I'm a big fan of it. I don't care what any software development 'gurus' say, it's often the best thing you can do, clearing away years of mistakes, bolt-ons and incompetence, whilst also offering the opportunity to apply new tools and techniques.
If something is well-built the code will have a much longer life, but often it'll still reach a point where a (partially or completely) clean slate is a good thing, particularly if the purpose of the application has changed beyond all recognition.
By criticising Netscape for scrapping their v4 code Joel Spolsky simply showed his complete ignorance of the whole project. It wasn't possible to adapt v4 to get to v6, a ground-up XML-based rewrite was essential.
Netscape can be criticised for many things, but the v4 code had already been pushed beyond its limits and could go no further.
The one thing i did like about it though is now the skins for winamp3 take it to a whole new level,you are able to manuipulate the design even more so then you ever could in 2
All in all im going to stick with winamp 2.8 until i can no longer use it..
First thing I asked my brother after starting it up was... "where's the open button?" Then "where's the volume control?" And then after much fiddling and clicking "Where's the close button!?!? I want out!!!"
Allowing skin designers to alter the interface / button locations was not a good idea. And what's with that "thinger" that they use for the components? Such a hassle.
And that AOL spam it comes with... totally unacceptable.
