application launcher icons are mixed with icons of minimized windows
I now, it's the way it is designed, but it is wrong.
And the fact that Mac OS does it this way too doesn't make it less wrong. Apple can afford, or sometimes even _needs_, to do things the wrong way, because Apple users love Apple products just because they are Apple, and they want them to distinguish from the rest. They don't care if occasionally they are actually less usable. So if the prevailing way of doing something, adopted by all competitors, happens to be already the best one, Apple needs to distinguish itself by doing it a different way, even if it's worse.
An icon to launch an application and the icon of an already opened window are two completely different things, and it is demential to have them mixed together. When you need to switch between open windows, or to drag something into an existing but minimized window, you don't want to have to look through a lot of icons, including those of applications that are not open, and pay attention at which ones have a small arrow next to it. Icons of open windows should be grouped together and separated from icons of application launchers.
Also, there are cases where one thing is calling an already opened instance of a program and another thing is to launch a new instance of it (including programs that don't have a notion of "open a new window") and you need to be able to do any of the two things.
And Gnome worked just that way, but then Ubuntu 11.10 came and replaced Gnome with Unity and something that was designed correctly was replaced with something that is simply and plainly worse. I'm talking about this particular aspect, i.e. the way application icons are managed. I'm not saying Gnome is generally better than Unity. But this is one feature that has been a huge step back in usability.
DistroRelease: Ubuntu 12.04
Package: unity 5.12-0ubuntu1.1
Uname: Linux 3.2.0-26-generic i686
NVRM version: NVIDIA UNIX x86 Kernel Module 295.40 Thu Apr 5 21:28:09 PDT 2012
GCC version: gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
Date: Fri Jun 22 17:15:50 2012
DistUpgraded: 2012-05-17 16:45:23,028 DEBUG enabling apt cron job
NVIDIA Corporation G84 [GeForce 9500M GS] [10de:0405] (rev a1) (prog-if 00 [VGA controller])
Subsystem: ASUSTeK Computer Inc. Device [1043:15d2]
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release i386 (20100429)
MachineType: ASUSTeK Computer Inc. M51Sn
UpgradeStatus: Upgraded to precise on 2012-05-17 (36 days ago)
dmi.bios.vendor: American Megatrends Inc.
dmi.board.vendor: ASUSTeK Computer Inc.
dmi.chassis.vendor: ASUSTeK Computer Inc.
dmi.sys.vendor: ASUSTeK Computer Inc.
version.compiz: compiz 1:0.9.7.8-0ubuntu1
version.libdrm2: libdrm2 2.4.32-1ubuntu1