Saturday, January 21, 2012

Ubuntu 11.10, Unity, and Gnome Shell

I installed Ubuntu 11.04 (Natty Narwhal) almost as soon as it came out last April. Overall I was thrilled. I'd played around with the numerous desktop customization tools available for Linux, and finally decided that what was needed was a fresh perspective on the Linux Desktop. Unity brought together simplicity and innovation in the same package, proving that you don't have to strip out all the features to simplify. Gone was the old Ubuntu desktop default install, with its chaotic collection of applications and administrative utilities. The idea seemed be, "Let's start small and build it back up again, only adding what's really necessary when it's really ready."

Okay, so that's a somewhat Utopian description, which ignores the numerous bugs in Unity. Still, I believe it reflects where Ubuntu is headed, though it still seems rather distant at times. However, I have to say that I was surprised at how well 11.04 worked. There were a few annoying bugs, but I was able to quickly resolve most of them; with the help of the Ubuntu community.

Most surprising was how well it worked on my Laptop. Until very recently, my experience with the Linux laptop has been an almost hopeless endeavor. But not only did 11.04 run well on my Acer 1410, but it ran much better than the painfully sluggish Windows 7 factory install. Strangely enough, Natty has actually worked much better on my laptop than on my desktop.

Needless to say, I looked forward with bright anticipation for the fixes and improvements that would come with the 11.10 release. Unfortunately, however, Ubuntu 11.10 (Oneiric Ocelot) has not been the delight I'd hoped for. While there are many things I like about this most recent release, it also introduced some annoying bugs that have made it almost unusable. Boot up and login have gotten quite slow, and the desktop effects are subject to frequent corruption and conflict. It seems that the numerous Compiz plugins are at war with each other, even if only the defaults are used.

I've become far too familiar with the magical "unity --replace" command. While it does fix most problems temporarily, it also constitutes a jolting interruption to my work flow. The frequency with which I've had to either log off or reboot my computer has given me flashbacks to Windows XP. Many of these reboots have required some magic key combinations to avoid a hard shutdown.

Admittedly, the lion's share of these headaches have been on my desktop, not on my laptop, though both have become buggier with the upgrade. And, of course, the nice thing about Linux is that there are alternatives to simply holding down the power button when the system locks up.

After several months of trying to be patient, and telling myself that bugfixes will be forthcoming, I'm on the verge of falling back to a more stable desktop. Maybe Fluxbox on Debian or Mint. The problem is that I've become addicted to certain unity features, namely the Dash. The ability to hit a key, type in a search term, and quickly locate whatever I'm looking for, is a quantum leap ahead of menu browsing.

When people complain to me about not being able to find anything in Unity, I tell them that they just need to transition from the "menu mentality." Once you make that transition, it's actually much easier than the old way. In fact, this has probably been the biggest selling point for me in getting "non-geeks" to use Ubuntu. For me this is the principle innovation in Unity. The launcher is kind of neat, but I could live without it.

I challenge those who call Unity an OS X clone to show me a comparable tool on the Mac desktop. Spotlight is similar, and the 3rd party Quicksilver add-in is even better (albeit unreliable). However, in my opinion, the Unity Dash is far more intuitive, easier to user, and more powerful, not to mention more visually pleasing. There are, of course, some things that need to be ironed out - as far as organization and a more inclusive search algorithm - but I like where it's headed.

So there you have the good and the bad. Now for the ugly. Actually, I think I've already covered that, though not in detail. I don't want to turn this post into a bug report. As much as I like the new Ubuntu in both form and concept, I've finally reached the conclusion that Unity's instability on my desktop is far too disruptive to be acceptable. At least for now. I'm still running it on my laptop, though I'm considering a revert to 11.04.

Fortunately, Gnome 3 installs easily in 11.10, and actually runs quite well. It's much more responsive than Unity, and far less buggy. In fact, I haven't run into anything yet that I'm sure is a bug. Login is much faster, and I haven't had any lock-ups or corrupted visual effects. Best of all, there's still a dash. The Gnome 3 searches do lag a bit behind Unity Dash, but not by much. Overall, things seem to work as intended. Gnome-Shell is disturbingly restrictive for a Linux desktop, but I think the developers have made their point: there's always a trade-off.

All that said, I still like Unity better, and I plan to go back once sanity is restored. Gnome-Shell is a well put together product, and has the advantage of running on several distributions. However, it's a little too blatently "tablet-esque" for my taste.

I'm still considering other alternatives, as Oneiric has some frustrating bugs that have nothing to do with the desktop used. High on the list is the fact that my NFS client tries to connect via NFSv4 by default, and NFS server requires frequent restarts. And there's still no option for connecting to an NFS server in nautilus. Such deficiencies in a mission critical service leave me wondering if I've "boarded the wrong train."

Of course, there's a touch of "Christmas morning effect" in all this. Once the initial thrill of playing with the new toys has passed, we typically fall back to the old stuff. Especially when the new toys are already broken. And now that the holiday is over, it's time to get some work done.

To their credit, the Gnome devs appear to have productivity as their main focus. That's probably why their desktop feels like a tool, whereas Unity seems more like a toy. If they can tone down on the touch-pad thing, Gnome-Shell will likely do well in enterprise deployment.

For those just wanting to play, neither desktop would likely be the best choice. Both have limited customization in favor of stability, or at least have made it more difficult. The principle audience for Unity is probably somewhere in the middle, much like OS X.

I doubt that either desktop will do very well on tablets, though both seem to have that platform in their cross-hairs. Albeit, for Gnome-Shell it seems much closer to reality. The mobile environment is all about apps. Specifically, apps that work well in the mobile environment. Who's going to want a tablet without any apps.

There is a chance, however, that many independent Android devs will be drawn over once they see that a truer Linux distro is fully functional on a tablet. I'm sure there are at least a few who wish Android had fallen a bit closer to the tree. And it would be nice to have a tablet that's a little more like a laptop, and less like a smartphone. Having gnome-terminal on a tablet would be great.

So, as far as what I'm going to do with my desktop - other than build a new one - there are a lot of options to consider in the Linux world. The trick is to pick a combination that's stable enough to use for file serving and development, and still has some desktop goodies. But the future looks bright for stable, feature-rich Linux desktops. For now, I just need a little patience.