24 Hours with Oneiric Ocelot

I've blogged before about how I hate it when an operating system takes away features that I like.  Two years ago, I left KDE for this reason.  Two years later, I'm leaving Gnome.  Their sin?  Removing support for Compiz.  I want my spinny cube.  To be sure, Gnome 3 has some very nice features, and it's beautiful.  But the Gnome developers made a conscious decision to remove support for a popular feature, a feature I lean on heavily.  And it's not just about eye candy; my workflow relies on being able to see four workspaces rendered in a 3D environment--something Gnome is no longer willing to do.

Fortunately, Compiz has run into the open arms of Unity.  Unity is a brand new Desktop Environment with very few features, but it's written by Canonical, the same people who brought us Ubuntu, so I have high hopes.  More importantly, it is tightly integrated with Compiz.

Another reason for switching: if I cling to my old version of Gnome, I will be using old software that will slowly become obsolete.  If there's a bug, it won't get fixed.  As operating systems evolve, I'll be left in the dust.  Anyone who knows me knows that's not where I want to be.  There are projects to keep Gnome 2 (and KDE 3) alive, but I don't have high hopes for them.

Another reason for switching is I'm being seduced by the promise of better screen use.  For several years now, there's been an obsession with decreasing the real estate used by buttons, in order to increase the real estate used by your web page (or other productivity software, but let's be honest, it's mostly about web pages).  Microsoft and Google are both in on this game with web browsers that increasingly use less and less space for their controls.  And now Canonical is in on the game with Unity. They moved the bottom icon dock to the left hand side, which makes a lot of sense now that everyone has wide screen monitors.  They also finally caught up with an old KDE 3 feature, where the menu bar from your current window goes to the top menu bar, like Mac OS.  I've easily gained an inch vertically.

But is saving screen real estate really the be-all-end-all of interface design?  To be honest, I'm not entirely convinced.  By switching to Unity, I'm giving up my precious Cairo Dock, which was beautiful and feature-rich.  By contrast, the Unity launcher is barely functional.  I miss Cairo-Dock already.  And having menus go to the top of the screen raises its own issues.  I used to have windows auto-focus when I pointed the cursor at them; that way I could go from an essay to an instant messenger and back again without a single click.  But if I have to reach all the way across the screen to get to the menu bar, I can't be auto-focusing all the way there.  So I have to turn off another feature that I've relied on for years.  Finally, there's something to be said to the Microsoft strategy of keeping each menu bar attached to the window.  Your mouse does a lot less traveling.

There was one more feature that enticed me to upgrade: Linux kernel 3.0.  I had lots of hardware problems on my Asus under 2.6, so I was curious to see if it would be any better under 3.0

So, let's see how it all boils down.

The Good

Linux Kernel 3.0

So, how is the new kernel?  Oh my goodness is it nice.  People with high-end Asus laptops have been complaining about a litany of hardware problems under Linux, including non-functional volume controls, brightness controls, and touchpad.  Oh yeah, and waking the computer up from sleep mode literally takes three minutes.  I could boil an egg in the amount of time it takes my computer to wake up.

With Kernel 3.0, all those problems magically vanished.  Everything Just Works, straight out of the box.  That alone is worth the purchase price.  (Did I mention Ubuntu is free?)

NVidia Optimus cards still don't work right.  So I just disabled the NVidia driver and let the laptop run off the onboard Intel graphics chipset.  It works surprisingly well; I have full GLX support and Compiz runs smoothly.  I can even play Scorched Earth 3D full screen.  The only time I need more graphics performance than that is when I'm playing games, and for that I still have Windows.  (Although I honestly can't tell you the last time I actually had time to reboot the computer in order to play a game.)

Unity

So, how about this new interface?  Is more screen real estate worth some loss in functionality?  For now I'm saying "yes."  It feels like I have significantly more room for my web pages, programming codes, etc.  It plays nice with Compiz; in fact, you get extra control over the Unity interface if you install Compiz Config Settings Manager (CCSM).

Out of the box, Unity only comes with two themes, the boring Ambiance and Radiance left over from the last two version of Ubuntu.  But there is a growing number of third-party themes available, and they're not too hard to install.  I've settled on one that I'm very happy with.

Other cosmetic changes include the latest version of Grub, and a new login window, LightDM.  Both are easy to configure and let you change the background picture (with just a little futzing).  Nifty.

The Bad

There's also plenty to comlain about with Unity.  I know it's a brand new project, not even a year old (since it went gold), but it's following in the footsteps of Gnome 2.  That's a tough act to follow.  Ubuntu has cultivated a reputation as a slick, polished, professional distribution, and Unity was a dive back to the shallow end of the pool.  Ubuntu users have come to expect more from their interface.

My biggest problem: it used to be easy to access bookmarked folders on my computer.  I've got stuff stored all over my hard drive, and under Gnome 2 with Cairo-Dock I could get to anything with two mouse clicks.  Now it takes twice as long.  I also can't edit the icons on the Unity launcher, and I can't put anything there that's not a recognized app.  (That means I can't even put my Android emulator up there.)

And don't get me started on the Unity Dash.  For almost 20 years, computers have had applications listed in a single menu.  Sure, there might be sub-menus, but you could see an actual list of all your applications without trying too hard.  (And you know what, those sub-menus were nice.  What if I want to see what apps are available for changing settings?  That was super easy under the last version of Ubuntu.  Now it's impossible.)

That being said, I know the project will grow.  I've seen what Canonical can do, and I have high expectations for Unity as well.  The Linux community has been very vocal in its criticism of Unity, and most of the criticism is deserved, but I know that Canonical will listen and will adapt.  In the mean time, Unity suits my needs just fine.

The Ugly

Unity supports Compiz, just not well.  It's incredibly fragile; changing a single setting can cause the entire Desktop Environment to crash.  Sometimes you have to hit the power button in order to reset the entire computer.  I stopped playing with it simply because I didn't have the time to put up with endless crashes.  I got most of the features I want, including the spinny cube, but I'm afraid to touch it again.

This is probably related to the lack of Optimus support.  You could blame NVidia for that, but that's letting Linux off too easily.  It's true, it's not a level playing field.  Microsoft never had to worry about Optimus drivers because NVidia puts the Windows drivers on a disc and hands it to you when you buy a graphics card.  If the card is already in the computer (like on my laptop), it's part of the OEM installation.  If you've ever tried installing a regular copy of Windows that you bought at a store, you know this problem.  Nothing works until you install all the manufacturer's hardware drivers.  Sometimes they come on a separate disc (better hope you didn't lose it).

Linux, on the other hand, is supposed to have 100% hardware support for everything, straight out of the box.  PC makers install Windows drivers for you, providing a seamless experience, and Linux needs to match that without any OEM support.  Frankly, I think Linux has done a fantastic job of this the last few years, and the new 3.0 kernel takes hardware support to new heights.

My point: You can't simply blame the Optimus problem on NVidia.  This is a problem for the Linux kernel developers.  Canonical is a for-profit corporation with a multimillion dollar budget; surely they can put some skin in this game.  There's already an open source version of the NVidia driver called Nouveau; maybe Canonical should support it.

The Verdict

In some ways, Ubuntu 11.10 seems like a regression, and I hate it when software does that.  At the same time, it's a very nice software platform with a nice new interface.  Bottom line: the pros outweigh the cons.  I'm keeping it.

Better yet, I'm confident that it will only improve over time, with new features and better stability.  The next version of Ubuntu, 12.04, is a "long term release," meaning it will avoid new features and focus on improving what's already there.  That means a better Unity interface, among other things.  If I'm lucky, the bugs will slowly get solved.

I've often said that Ubuntu is the best of both worlds: it's free and open source, but also has the polish and stability that can only come from a large corporation (which Canonical is).  11.10 seems like two steps forward, one step back.  It's still a progression, and still looks fantastic, but seems to have lost some of the depth it had before.  Like I said, I'm confident that will improve, and Ubuntu will once again be the best of both worlds.