Why doesn’t Unity just use Docky? Here’s why.

If you ever wondered why Unity uses it’s own launcher instead of the SimplyAwesome™ Docky?

Well here’s an explanation as to why – straight from the mouth of Docky’s creator Jason Smith.

As an aside, Jason who created Docky now works for Canonical.

Why not Docky?

Jason explains that

“Because Unity is a shell it needs to have highly integrated window management features.

As a stand alone piece of software Docky is essentially limited to doing the same things a user can do with a window (actually a little less), Unity however can do much more (i.e Expose windows, implement Live Window Previews in a meaningful and useful way).

Docky has zero accessibility support and does not run well on ARM hardware.”

It is not just the reasons stated above though, there are also some technical reasons:

“Unity is designed to to be a very finished product – animations should be smooth and clean, etc. Many of [these] animations require doing things like blur effects or color transitions which, while possible in cairo, are very very slow.

Docky cannot perform even the simplest blur in real time but Unity, being based in OpenGL, can.The toolkit we now use in Compiz is a first class opengl API so we have access to the hardware shader pipeline directly and can perform a much wider array of visuals than Docky can.”

Why didn’t you modify docky to suit Unity then?

Commenting on this Jason said

“If Unity were to use Docky, it would be difficult for me to not tailor it to Unity, by not using Docky, we have saved it from being a slave to Unity.”

Jason wrote the internals of both Docky and Unity and you might be surprised to know that they are almost identical, with the only difference is the visuals and the plugin system.