The rationale:
Unity's launcher is designed to act both as a launcher AND a window
switcher. The current implementation of the 'launcher' works well as a
launcher but requires much more thought from the user when it comes to
switching windows. This (for me at least) is Unity's biggest stumbling
block when it comes to multi-tasking.
The problem is that it is difficult for the user to, at a glance,
distinguish between running and favourite apps as they are often
dispersed amongst each other. It is not immediately clear which apps
are running. This means that when switching windows the user must
first search through the list of (many) apps to see which are running,
then can think which one was it that they wanted to switch to.
Although this might not seemed like much of a difference it requires a
lot more thought process from the user compared to if they were
presented with the running apps and favourite apps "separately". I
find that usability is greatly increased in Unity if i do not pin any
apps to the launcher and only use it for switching apps. Give it a go.
Proposed solution:
A solution could be to have dynamic ordering of applications on the
launcher starting with the most recently used application (similar to
Alt+Tab). At first this might feel a bit strange but it would make
sense as you would know exactly where to start looking.
ALL running apps should appear at the top of the launcher (but under
the dash button) in order of most recently used. Favourite apps should
appear beneath running apps. If a favourite app is opened it will move
from its favourite position to the running apps section. eg.
-------
Dash icon
-------
(Most recent running app 1)
(Most recent running app 2)
.
.
.
(Most recent running app j)
-------
(Favourite app 1)
.
.
.
.
(Favourite app k)
-------
Workspace switcher
Rubbish bin
-------