Sunday, June 12, 2011

Windows 7 got UI right!

Let me preface this with I'm a hardcore linux nerd. I use linux for work (Software Developer), I use linux on my laptop, I use linux at home. I even game on linux.


Also for the purpose of this post, consider everything opinion and subjective! I really don't want to have to say "an in my opinion" before every sentence.


If there's something Windows 7 got right, it's the whole desktop environment. In "old-school" Desktop Environments (e.g. Windows XP / GNOME2 / XFCE / KDE) there's really too big a disconnect between launching applications and switching. Say I want to use firefox, I don't particularly care if it's currently running.


Most of the "next-gen" Desktop Environments (e.g. Windows 7, GNOME 3) have solved this problem. But not every solution is equal. In GNOME 3, true to their minimalistic roots -- just decided to remove the window list! And to switch to an running application, you just go about the same way as if you were starting it. Cool in theory, in practise (as someone who really tried) it's shitty, especially if you use many different programs to achieve a goal (and my normal work requires lots of switching between terminal, qt-creator, gitg, meld and firefox).


So how does Windows 7 do it? It has a of your favourite applications, that is constantly shown and provides special styling for when one is already launched. Best of both worlds! There's no real difference in going to an application depending on its started state -- but also helps you track what's going on.


Now the next thing Windows 7 got right was putting the "bar" at the bottom. Putting it at the top like GNOME 3 is just stupid for the purpose of being different. It makes closing an application more difficult (the 'close' is no longer at the very top-right of the screen). And there's already enough space space wasted at the top (due to the applications "title bar" and "menu bar" each wasting their own row). Putting the "bar" on the left side would also be a good idea, it'd be different, it wouldn't waste any vertical space -- and you could still slam your mouse against a corner to get to the close button. Ubuntu's Unity almost got this, but in what I can only assume was due to a bad batch of crack, they decided to move the "Window Controls" (e.g. 'close') to the left, where they also put the "bar".



But the best thing about Windows 7 is the application notification scheme. It's almost like the authors actually used it. Seriously, who the FUCK thought if an application wants extra visibility with a status icon -- you should HIDE it =/ Like if someone sends me an IM, and I don't attend it immediately (or god forbid, not at my computer) I'll lose the notification (despite the application changing / adding its status icon).