I recently upgraded to Ubuntu 11.10. That means I finally had to bite the bullet and figure out what I wanted to do about this whole new fancy-shell business; do I reject these encroachments on my established workflow or embrace the new hotness? Trying not to be too much of a Luddite, I decided to make the leap to the new hotness.
But where to leap to? Unity or GNOME Shell? I expected that this would be some sort of big decision that determined what apps I could run and would take a lot of time if I wanted to try it out. But no, getting both Unity and GNOME Shell on the same desktop was as easy as
sudo apt get install gnome-shell from a vanilla upgrade of Ubuntu. Toying around with each was as simple as choosing from the drop-down list in the login manager. Everything just worked.
Now, maybe you’re all like “Duh, that’s what it should be; that you would be impressed by this shows how broken the system is and how your thinking is warped. Eyhhh”. Yeah, well I’m like whatever. Consider all the things that had to come together to make this possible. You need the separation of window manager, desktop environment, an applications; you need a packaging discipline that let’s all this coexist without clobbering each other; you need software broken into nice little pieces; you need Canonical making good choices, etc.
In the end (after a few hours of experimenting with my workflow) I prefer GNOME Shell (to Unity but also to GNOME 2). In theory, I should switch to Fedora since it uses GNOME Shell, but I’ve been really happy with Ubuntu as a whole. Thus, I’m sticking with a Ubuntu+GNOME Shell hybrid and I think it’s awesome that I have that choice. Not strictly, but this seems like the type of thing that can only happen in the distributed-development model open source software. There are still all sorts of problems to be solved for the Linux desktop, but things like this give me hope for the long-term outlook of the desktop and of the broader open-source ecosystem.