Ubuntu should zig to Apple’s zag

It’s another October and that means it’s time for another Ubuntu release. Before I say anything, I want to make it clear that I have the utmost respect for Mark Shuttleworth, Canonical and the Ubuntu project in general. I think they’ve done wonderful things for the Linux ecosystem as a whole. However, today I’m siding with Eric Raymond: I have deep misgivings about the direction Ubuntu is going, especially in terms of user interface.

I’m not a UI or UX designer. I’m sure there are people at Canonical who have been studying these areas for longer than I have. But I am a daily Linux user. In fact I would say that I’m a power user. I’m no neckbeard, but I think that by now I have a fair grasp of the Unix philosophy and try to follow it (my love for Emacs notwithstanding). The longer I see Ubuntu’s development the more it seems that they are shunning the Unix philosophy in the name of “user friendliness” and “zero configuration”. And they’re doing it wrong. I think that’s absolutely the wrong way to go.

It seems that Canonical is trying very hard to be Apple while not being a total ripoff. Apple is certainly a worthy competitor (and a great source to copy from) but this is a game that Ubuntu is not going to win. The thing is, you can’t be Apple. That game has been played, that ship has sailed. Apple pretty much has the market cornered when it comes to nice shiny things that just work for most people irrespective of prior computer usage. Unless somehow Canonical sprouts an entire ecosystem of products overnight they are not going to wrest that territory from Apple.

That’s not to say that Canonical shouldn’t be innovating and building good-looking interfaces. But they should play to the strengths of both Linux the system and Linux the user community instead of fighting them. Linux users are power users. In fact I think Linux has a tendency to encourage average computer users to become power users once they spend some time with it. I would love to see Ubuntu start catering to power users instead of shooing them away.

It’s becoming increasingly clear that Apple does not place its developers above its customers. That’s a fine decision for them to make. It’s their business and their products and they can do whatever they like. However as a programmer and hacker I am afraid. I’m scared that we’re getting to the point where I won’t be able to install software of my choosing without Apple standing in the way. I’m not talking about just stuff like games and expensive proprietary apps, but even basic programming tools and system utilities. That’s not something that I’m prepared to accept.

Given the growing lockdown of Apple’s systems, Canoncial should be pouring resources into making Ubuntu the best damn development environment on the planet. That means that all the basics work without me tinkering with drivers and configurations (something they’ve largely accomplished). It means that there’s a large pool of ready-to-install software (which also they have) and that it’s possible (and easy) to install esoteric third-party tools and libraries. Luckily the Unix heritage means that the system is designed to allow this. Instead of trying to sugar coat and “simplify” everything there should be carefully thought-out defaults that I can easily override and customize. Programmability and flexibility grounded in well-tuned defaults should be the Ubuntu signature.

It makes even more sense for Canonical to take this angle because Apple seems to be actively abandoning it. A generation of hackers may have started with BASIC on Apple IIs, but getting a C compiler on a modern Mac is a 4GB XCode download. Ubuntu can easily ship with a default arsenal of programming tools. Last I checked the default install already includes Python. Ubuntu can be the hands-down, no-questions-asked platform of choice for today’s pros and tomorrow’s curious novices. Instead of a candy-coated, opaquely-configured Unity, give me a sleek fully programmable interface. Give me a scripting language for the GUI with first-class hooks into the environment. Made it dead simple for people to script their experience. Encourage and give them a helping hand. Hell, gamify it if you can. Apple changed the world by showing a generation the value of good, clean design. Canonical can change the world by showing the value of flexibility, programmability and freedom.

Dear Canonical, I want you to succeed, I really do. I don’t want Apple to be the only competent player in town. But I need an environment that I can bend to my will instead of having everything hidden behind bling and “simplification”. I know that being a great programming environment is at the heart of Linux. I know that you have the people and the resources to advance the state of computing for all of us. So please zig to Apple’s zag.

PS. Perhaps Ubuntu can make a dent in the tablet and netbook market, if that’s their game. But the netbook market is already dying and let’s be honest, there’s an iPad market, not a tablet market. And even if that market does open up, Android has a head start and Amazon has far greater visibility. But Ubuntu has already gone where no Linux distro has gone before. For most people I know it’s the distribution they reflexively reach for. That developer-friendliness and trust is something they should be actively leveraging.

44 thoughts on “Ubuntu should zig to Apple’s zag

  1. I would heartily agree with the sentiment of this article if one were taking the perspective of comparing Ubuntu as a peer entity with Apple and Windows. It’s a testament to Canonical’s success that you see that framing as self-evident.

    What you don’t mention is that Ubuntu is part of a very large ecosystem of choice – the Linux ecosystem. Ubuntu is basically the only offering for those who are NOT power-users. Virtually all other flavours serve some sort of niche within the already small niche of power users. From Gentoo, SUSE, Debian, RedCat or CentOS among many, many others there’s something fulfilling practically any engineer/developer/DBA/SysAdmin’s wishlist.

    In my view, Canonical/Ubuntu isn’t about displacing Apple or Windows or serving developers. It’s about getting accessible computing where there wasn’t any before. In the hands of African university students, Brazilian entrepreneurs, Indonesian civil-servants etc. It seems what you’re suggesting is Ubuntu should reorient to serve the needs of an already well (over?) served demographic for whom the price of a proprietary solution is basically immaterial.

    1. If Ubuntu’s mission is to get computing into the hands of people who don’t have them, then all the power to them. That’s something we need and can help the world as a whole. However, I don’t think that is incompatible with the idea of being welcoming to developers. Wouldn’t the African university student benefit if he could learn to program as easily as learning to send email?

  2. There are already a grip of distros that are geared to the power user. May they also live long and prosper. Sure, Ubuntu has a long way to go to get my mom to want to use it but I like the idea of ‘The Linux Distro for Everyone Else’. They may not be Apple but at the moment they are the Apple of Linux distros. I’m not a fan but I’m all for them pushing it.

  3. Great post Shrutarshi,

    However I disagree completely with your position. I believe that Ubuntu is in the “Adoption Phase”. Ubuntu is at the point in it’s lifecycle where it needs to make itself so ubiquitous that even non-developers and non-geeks have at least seen and used it before.

    Think about Microsoft Windows. By all accounts Windows started out as a really pathetic OS which was way behind those offered by Microsoft’s competitors (including Apple). Microsoft had to prettify their platform so that even non-geeks would start using it. Then they developed the software market by building a solid IDE (Visual Studio) and starting Partner programs to get third-party developers onboard. Once they had all those pieces of the puzzle in place, then they actively worked to get businesses to use their software and abandon mainframes, Unix, and others. Once Windows was in the workplace just about everyone had to learn to use it if they wanted to work in a professional capacity in just about any city in the world.

    Fast-forward to today. Microsoft is where Unix and/or Apple were (depending on who you ask) 20 years ago. Ubuntu has risen from the chaotic crowd of Linux distros and now needs to work on becoming so easy to use that anyone can sit down in front of it and get going without much, if any, instruction.

    All of the really cool developer-friendly stuff is still there, bubbling under the surface, it’s just not as out-front as you might like. That’s by design. The stuff you’re looking for scares off older people and those already filled with dread at the thought of trying to learn how to use an alien computer system.

    I’m lucky. You’re lucky. We live and breathe technology. Fortunately the majority of the world’s population doesn’t fall into our category. I say fortunately because if they did, we wouldn’t have the bright careers ahead of us that we do now.

    Again: Great Post. I’ve bookmarked you and will look forward to your response.

    1. I agree that Ubuntu is still in adoption phase. However I reject the notion that market-friendliness and developer-friendliness can’t co-exist. I love sleek, shiny GUIs what I love even more is if said GUIs can come with a scripting interface so an advanced user can programmatically change things. Of course, that doesn’t have to be the default, perhaps it shouldn’t be, but there’s no reason it can’t exist. I think it would benefit everyone if Ubuntu pursued such a philosophies: power and flexibility can exist alongside simplicity and beauty.

  4. I think it’s wrong to suggest that the older user interface wasn’t suitable for end users, or that Ubuntu’s future market should better suit developers. I’ve installed older Ubuntu on systems for all the family, including my mother. Several are children, and none are professional programmers. My mother was thrilled with the switch from Windows on her Dell laptop. It was much easier to use, and certainly very much faster. I had migrated her email from an ISP to gmail, and set Chrome as the browser, with all contacts imported; I’d put a few useful shortcuts on the top panel bar. The wireless worked. I had only to order a new printer to replace the Windows-only one she had previously. I was therefore not best pleased when I upgraded my own machine from 11.04 to 11.10 to discover that the mechanisms I’d used to set up her machine no longer existed. (It’s a similar thing for other members of the family.) I’ve finally got my own display back to some semblance of order, and I could now do the same for theirs (when I’m in the same distant city). The wireless, however, does not work as well as 11.04 (and it’s an Intel chip, which is in many systems).

  5. I’m somewhat new to linux so maybe I have this wrong but how much of the interface do distros really control? It was my understanding that the major interface changes are done by those who run the interface projects like GNOME or KDE. For example I personally don’t really care for Unity however while looking for a different distro I soon realized that Unity is part of GNOME and so just about every distro with a recent release now has it.

    1. Respectfully, you do have this completely wrong.

      Unity uses some GTK libraries (which is what GNOME is built on) on the backend. Last I was paying attention, they were using QT for the 2D version of Unity (which is an odd difference, since QT is what KDE is based on).

      However, the Unity interface itself is entirely Canonical’s creation. And although there is nothing preventing it being ported to other distros (there are alpha or beta packages forArch already), it’s pretty much an Ubuntu-only interface at this time.

      1. Just a minor correction to myself — IIRC although the Unity interface is Canonical’s creation, I think parts of it are implemented via Compiz. At least this was so when I stopped using it…

  6. c’mon man… everybody trying tobe like Apple even Windows 8…
    I love Linux… I used it everybody and to have Ubuntu Unity that ‘looks like Apple’ is a plus 🙂

  7. Exactly. I’m still using 10.10 because of the UI regressions of Unity. If Canonical doesn’t wake up, hopefully some enterprising folks will fork Ubuntu and make a parallel release with the updated base packages and a sane UI.

  8. Canonical have excplicitly stated that they want to make a distribution for naive users, and that if you’re a power user, you should move to another distribution – of which there are tonnes. If Canonical move away from the naive users, which linux major distro would take their place?

    1. I don’t think that you have to reject developer-friendliness to get a system that’s simpler for new users. I wish Canonical would seriously explore the space of doing both, that would make for some interesting and innovative results.

  9. Great article. Totally agree. Unity is a misstep– it’s slow and too hard to replace. Because of Unity and Gnome 3, I changed to Linux Mint.

    Thing is, Ubuntu could help news users *and* power users by making Unity optional. Make it easy to switch interfaces, so new users get ease of use, power users get ease of customization, and both groups can try the various features as they like.

    1. Dude… Unity IS completely optional. Simply install gnome-shell and/or the gnome-fallback session. The gnome-fallback session is basically just like gnome 2, panel applets and all. There is a lot of fid out there saying you can’t customize the panels like you could in gnome 2, but you can, you just have to alt + right click on the panel.

      There’s also xfce, lxde and kde.

  10. I agree with you and desire the same things. But when you talk about the market canonical is playing on you seem to be considering just western (euro-american) market while canonical seems to be very interested in emergent (asian/african) markets. I am not saying that being the poor man’s Apple should be enough for Canonical, but as market strategy goes it looks like a good bet.

  11. Great article! One thing, canonical can do to make Ubuntu more developer friendly, by focusing on stability and fixing Damn bugs rather than focusing just on “Cool features coming with Next version”. What I mean is that the current release cycle – ‘2 versions a year’ is creating a lot of instability and incompatibility so they can change it to something like – one stable version in a year. Unity is a total crap!

  12. I didn’t get what you were suggesting at first. Seemed just like bashing the apple u.I. But I went back and reread, got the idea of the programmable interface. Perhaps like advanced themes. Could be genius. Get it fully integrated with compiz too.

  13. The idea of building the OS to be usable by anybody by default is good. That means as little configuration as possible to be able to do simple tasks. However the interfaces should naturally grow with the user’s requirements to handle complex tasks as well. This is where Unity fails, for anybody who wants to do more than run a single web browser window.

    The idea of building an OS for programmers only is undesirable, since more end users means more opportunities for programmers. Now I don’t know what the answer is. I can install fluxbox on Ubuntu and configure it myself the old school way, using .xmodmap to remap my control key etc. But I can’t recommend that method to a typical user, nor can I recommend default Ubuntu anymore.

  14. Plain wrong. Ubuntu is doing the right thing. The power user has no problem with opening the terminal and doing what he wants with entire system. Also I really don’t mind if a get to work with a beautiful interface.
    We need to take in with us the common user… this IS the main goal!

    1. I agree with you completely. I want a beautiful interface too. But when I want to change it I should be able to do it in the manner I want. I should be able to use a terminal OR use a GUI app. I can’t do the form if the config is an opaque binary file (see the Eric Raymond article I linked to).

  15. An excellent post, and the discussion is interesting as well.
    I think there is a middle ground to be found here. Unity could be appealing for newcomers to Linux, especially those who have used Vista and Windows 7; But for long-time Linux users, it’s not up to par and far from being as customizable as a power user would want. Canonical should sponsor an “Ubuntu Pro” distro (like they sponsor Ubuntu Studio or Kubuntu), which would include a more traditional desktop environment, as well as a rich set of development tools. It’s a relatively small effort which would address the problem and keep most users happy.

  16. This is a article but I believe Ubuntu is on the right track, I don’t mean that Unity is a success, I don’t like it my self, but is a step out of the crowd, Ubuntu is the first system to take this brave step and I believe they will perfect it in the coming releases.
    I wish that every Linux distro follows that step and start making a personality for their system.
    Linux has all the means to success as a major operating system, it’s already the best for power users and Ubuntu vision is to make it the best for average users too, and Conical is the first group to step into that area and I think they deserve to be encouraged and supported.

  17. Just my 2c. I happen to love unity. I’m a biotech guy, and I’m writing a web app, learned myself some SQL, ruby, sinatra, raphael, etc… I’m not the person who uses emacs or vi, I’ll stick to nano or gedit, since 90% of the stuff I do isn’t computer-related (more real-world hacking), but for when I get home and I want to hack out some side projects, that’s what I do.

    11.10 works 95% okay on my machine (there are some ACPI stuff that worked just fine in 11.04 but got funky during the upgrade). However, as a development environment having the unix background, super-easy apt-get installs, automated dependency checking and cleaning, no malware or viruses to worry about, and having an OS that is really rediculously fast on a 3+ year old computer are way worth the occasional resuspend hiccup. So, I completely disagree with this article. Unity is great, the direction ubuntu is going in is just right for me.

    I think there are a lot of people out in the world like me who develop are not full time developers and don’t want to change settings in a difficult-to-find text file buried in the /etc filesystem; a nice little gui app that will 99.9% of the time make the correct textual changes is just fine. Being the ‘bridge linux’ for example as someone said above, for schools in africa, e.g. is super important, and ubuntu is doing a great job of that. Anyways, if I really wanted customizeabliity I would use FreeBSD (and I did, for a year, before I got sick and tired of it).

  18. > Give me a scripting language for the GUI with first-class hooks into the environment. Made it dead simple for people to script their experience.

    If you give up on Ubuntu\Unity, checkout Awesome Window Manager, it’s fully scriptable in Lua. It’s also a tiling window manager, so you never have to manually drag and resize windows again.

  19. Totally agree. I’m glad other people are thinking and saying it too. I’m well and truly considering trying out other Linux distros. I don’t want to, Ubuntu (Canonical) have been great to me and I’ve got my little niche setup up so I can be extremely productive while 100% (or very nearly) open source and free, but the lack of configurability since Unity came on the scene is extremely frustrating. Unity is a great attempt at doing something new with the task bar/dock idea, and it works okay, but setting it up so the thing I use are right at my finger tips is just too hard, or impossible, or shockingly buggy. If I wanted a Mac I would… I can’t think why I’d want a Mac. Don’t be a Mac, Ubuntu.

  20. Amen! I’ve been using Linux and Ubuntu for a long time but lately the frustrations outweigh the benefits… Why is Ubuntu getting worse – not better. I recently tried Unity and Gnome 3 and honestly I enjoy working on Windows 7 more. It at least stays out of my way.

    If Ubuntu is going for the ‘naive’ market… and me a long time, computer savvy Ubuntu user can’t make it work – why would I ever recommend it to friends or family?

  21. I am so tired about the endless GUI/desktop discussions. As long as I am involved with FLOSS, these have never ceased. And, quite frankly, they are so unnecessary, since they create lots of bad blood and religious wars.

    The biggest asset of FLOSS and hence of the family of Ubuntu distributions is the freedom of choice. Apple does not give anybody this freedom of choice, Microsoft neither. Nobody forces anybody to use Unity as their desktop on any Ubuntu installation. It takes the installation of one meta package (and the automatic installation of its dependent packages) to change to any of th other desktops available (KDE -> kubuntu-desktop, xfce -> xubuntu-desktop, etc). Similarly, the original Gnome 3 desktop can be installed.

    Nobody is prevented (in contrast to Apple) to develop another desktop that goes in a different direction than unity an it will likely be included if there is demand and a acceptable quality.

    I have used Ubuntu releases from the very first release that was published. I have not been forced once to use unity, neither have I used it voluntarily. This does not mean that I think unity is bad. It is just not my cup of tea. However, believe it is the democratic ting to let anybody else to choose according to their preference.

    This does not mean, I do not believe this article does not make good points. However, my conclusion is not to continue to make it an either-or issue, but to promote diversity and make more people happy, not make everybody agree with one opinion.

    1. I completely agree. FLOSS is all about choice and the community makes awesome software. That’s why I always use Linux on work machines. However, my point is rather that Canonical is in a unique position to promote Linux in particular and the culture of programming in general. Wouldn’t it be amazing if every child who got a laptop learned not only to check email and Facebook but also to program? It’s not about the desktop, it’s about using resources and market penetration to affect cultural change and improvement.

  22. For me, Ubuntu is great. Personally I use Kubuntu, but Unity seems to be good for rest of the family and relatives who are users, not developers.

    The configuration is now higher level thing, starting at the selection of window manager.

  23. The whole unity UI should be fixed ahead of 12.04, I’m anticipating a big improvement.
    Really, for me it’s the side bar. Make the icons resizable (smaller) and more of them (so fewer ‘layers’ to click through) to get to the program you want. From there it’s a matter of reducing cpu power consumption of Unity (so it can replace XP etc on family computers). As for the developer base .. how about a ‘developers pack’ script that loads the necessary components?
    The other challenging thing, having set up computers for family and friends is the protected codecs that Mint has solved. Casual users get frustrated when ‘hey why can’t I watch you tube?’ So I find that a difficult spot for going into that group of people when everything else is easy to handle. Wifi can be challenging though .. need some work on the hardware manufacturers too.

Leave a Reply to Zeljko Dakic (@desireco) Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s