Open letter to all software developers

June 26, 2008

Dear software developers of the world,

First of all, thank you.  Thank you for taking the time to learn a skill that can be difficult, confusing, and time-consuming.  Thank you for producing some truly great and productive software so that the rest of us can function.  Thank you for taking user requests under advisement and incorporating some of those requested features into upgrades.  Thank you for bug fixes, security patches, and testing.  Thank you.

Now, I also have a complaint, as you have probably already guessed.  It’s not a big one, but it annoys the ever-loving piss out of me.  Please, for the love of all that is good and righteous in this world, stop making your own damn GUI interfaces!  Please stick to the windowing GUI conventions of the operating system that you’re coding for.  Stop making tricked-out borders and close/maximize buttons.  Don’t do what Apple did with iTunes for Windows.  Don’t try to force what looks like a cool window to you onto the general population.  All you do is piss me off and make it so that I look for someone else’s software that isn’t a fucking eye-sore.  I’m looking right at you, X-Fire.  And you, too, Rhapsody.  And you, Apple.  Cut it out!  If I wanted my programs in Windows XP to look like Mac OS X programs, I’d just buy a damn Mac and run Mac programs!  Throwing reflective eye-candy onto your window borders is distracting.  You know why?  Because the window is just a container for the actual application.  It shouldn’t distract the user interfacing with your software.  But when you have glowing buttons, hover effects, reflective and/or translucent borders, it’s fucking distracting.

The window border should be simple.  Probably the best window border/title bar combo is in Windows XP.  It isn’t as ugly as the plain gray they used to have, but it doesn’t have so much flair that it distracts from the contents of the window.  It has a simple color gradient and a simple small red X button, which doesn’t glow or flash.  It’s just red.  It’s red because clicking that button will close your application.  It makes fucking sense.  The title bar and borders aren’t translucent, nor do they look like an anime-inspired Speed Racer wet dream.  I don’t need lens flares reflecting off my window borders.  I don’t need a translucent border showing me a 2-pixel section of whatever application is beneath the active application.  Stop wasting my graphics card.

Plus, I’m a very anal person about my computer.  I have my files in specific folders so that I can find them easily.  I never keep icons on my desktop, other than the default My Computer, My Network Places, and Recycle Bin (or the hard drive icons on the Mac desktop).  I like my computer to be lean, clean, and professional looking.  If I have to deal with another application with a border that looks like it was designed by a 13-year old Halo fanboy, I’m going to get angry.

If you want to add skins into your application to allow users to change the appearance, that’s fine.  I have no problem with that.  There are some great skinning engines out there that will satisfy your needs.  But please allow those users who don’t want Japanese anime-styled borders to use the default GUI interface.  Some of us don’t want special stylized menus.  I just want an application that does what I need it to do and doesn’t stick out like a sore thumb from all my other applications.

Focus on the application and not on the damn window.  Let the OS handle the window creation and maintenance.  Keep your stupid eye-candy, anime, Voltron borders to yourself.

Thank you



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: