I don't really understand what the author is trying to say. Granted, it's been a while since I used Ubuntu, but as a developer I mainly live in my editor and terminal.
Anything I ever wanted is just an apt-get away and is mostly installed in a sensible way.
Ubuntu simplifying desktop features and changing defaults to be easier for users like my mom sounds like a great thing to happen to Linux.
That stuff is mostly orthogonal to developers who, you know, know how to deviate from the standard configuration and tools.
The problem is that Unity doesn't have much in the way of deviation from the standard configuration. They're not just changing defaults, they're removing everything else.
This is a problem not for people who are already developers, because they will just install something else and move on, but for new users who won't have anything to discover.
The article said "In fact I think Linux has a tendency to encourage average computer users to become power users once they spend some time with it."
This may not be the best thing for everyone, but that's what the article was getting at.
>>> "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 think this is an important general point. I've got no real opinion on the evolution of Ubuntu, but we must stop thinking about beginners and expert users as rigid, separated categories. First, there are many degrees and variations on the tech savviness scale. Second, people can learn. Granted, many people won't, since they don't care about the tools they use. But others will learn, if you give them computers that don't push toward laziness and reduce the steepness of the learning curve.
I think Mac OS, in some aspects, is a good example of empowering. For years, Preview and iPhoto had basic tools for editing pictures that Windows lacked. You can adjust saturation, levels, and so on. You can realize that these tinkerings can be not hugely complicated. And if, as a newbie, you end up stuck in Photoshop someday, you will be less scared and hopeless than if you had never used Preview.
The vast vast majority of people want to click on the Firefox icon and go to Facebook. People have lives that are busy, and the computer is a tool to get a job done. How many people "explore" the engine of their cars? Not many.
What about something as simple as changing you screensaver? My few years working as a sysadmin in a maintenance department at a University (read low tech knowledge) tells me people who care if they couldn't change something as simple as that yet you can't do that in Ubuntu 11.10. Changing fonts is another thing that's pretty annoying in this release but not as big a miss as the screen saver to most people. I hit those two things in the first few minutes of using the new release.
They are removing so many simple things like that pretty much everyone expects to be there that it's becoming ridiculous. The fact that the option to change some config exists does not in anyway prevent someone from clicking on the firefox icon and going to Facebook. (and I really hate the attitude that most assume people just want to go to facebook. The fact is most people do a whole lot more with their machine than most simplists are assuming with no data to back it up.)
I'm all for sane defaults but don't remove every configuration knob.
I couldn't agree more. Lots of people are panicking about Unity because it's not as configurable as Gnome use to be, but they forget that we're in a transition period. Unity is brand spanking new, and I'm sure it'll have more configuration options in the future.
That might be a good point if it weren't already so simple to build user interfaces that are simultaneously obvious to newbies while at the same time being ridiculously extensible. You just build it in a language that exposes a repl. Mozilla doesn't even do a particularly good job at this (given how they bury the replness), and it's still fostered a plugin ecosystem that has kept it competitive despite competitors eating its lunch on performance grounds.
Having a REPL and being extensible seem like totally orthogonal concepts to me. You can have a REPL and be hardly extensible. You can lack a REPL and be extremely extensible. If anything, the REPL is going to expose interfaces that enable extensibility; it's those APIs that are important, not the existance of an REPL.
Technically they are orthogonal, but in practice if you have a repl implementation that's well done, it will be used by the developers, and the developers will ensure that the functionality they need to implement the project is accessible through it. The developers can still screw things up, but it's a factor that encourages them to do the right thing through basic dogfooding.
Obviously it's implied that the repl be implemented in the same language as the rest of the codebase. So adding one to a project written in C++ would be a waste of time.
> What about something as simple as changing you screensaver?
In over a dozen years, I've never heard my wife ask me: "how do I change my screen saver?". In over 30 years, I've never heard either of my parents say: "how do I change my screen saver?" I've also never heard this question from aunts, uncles, sisters, brothers, cousins, nieces nor nephews. It's not for lack of questions. At holiday events I wear the T-Shirt that says: "Yes. I'm a software Engineer. No. I will not fix your computer".
But do the mainstream buy it? What's their selling point aimed at them?
Everybody who I know who uses or tries ubuntu is either:
- A software developer of some kind.
- An advanced or else adventurous user who wants perspective.
- A family member of one of the above.
Neither of those is "mainstream" in that sense. And making product mainly used by X while keeping Z in mind is a troublesome tactic.
Perhaps true, perhaps not. Some people don't want to invest time and energy to save time and energy later. Others do. A good Linux desktop should be able to cater to both types of user.
"Some people don't want to invest time and energy to save time and energy later."
I believe the phrasing you were looking for is "the vast majority".
Apple concentrates on providing a good experience for that vast majority. Everyone else can use OS X's CLI or tools like Automator, AppleScript, Xcode, Dashcode and MacRuby (all for free, albeit not all of it is 'free software').
That's simply not true. People pay thousands of dollars to attend Excel classes which show them all the little 99.99%-of-people-will-never-need-this-feature features, and they then use these features to be more productive in their work. If they were programmers, they wouldn't need those features, because they are simple enough to implement. But they're somewhere between programmers and users: they can't program, but they can learn a lot about how to use software. To make those users productive, you have to give them a lot of features.
Yes, the average person that visits YouTube and Facebook doesn't need a featureful desktop. But many people want to use their $2000 computer for more than that.
Ubuntu fails to showcase many of the best aspects of Linux as a system. Linux (and other open-source OSes, obviously) is an environment in which users are able to exercise more freedom in their usage of their computers than virtually anywhere else. Instead of an environment in which "users" are at the mercy of "developers", the instruction manual is included. Anyone can change their computer's behavior to the extent of their choosing--and there's nobody to tell them not to. Ubuntu takes this and ignores it completely, trying instead to copy user interface features from other projects and environments to win users that like the idea of cheap software.
Not everyone is a kernel hacker, obviously... but Ubuntu should be proud that on Linux every user /can/ become one if they so desire. To emphasize the same read-only one-size-fits-all thinking that Apple has popularized is to disregard entirely the philosophy of the foundation on which Ubuntu exists.
The argument that Ubuntu is a pragmatic, get-things-done distribution is founded in fact; it certainly is. But that doesn't mean it has to make it worse for software development and make it difficult to actually alter your system in meaningful ways. I ran Ubuntu for over a year and every attempt to dig into the system's internals (init scripts, configuration tools, what apt actually /did/, etc.) resulted in frustration because of the great complexity and the lack of any help that the OS itself provided. Comparing distros like Arch Linux that guide their users into the system in order to make the changes they want, Ubuntu is about as read-only as I've ever seen in an open-source Linux-based system.
Even so, Arch isn't a distro for beginners by any stretch of imagination. And there I think Ubuntu has the ability to come out far ahead, if they embrace the fact that they are producing a system designed to be improved by the "end-users". A Linux distribution is not a product like a commercial software package. It's an environment that should foster both productivity and learning. To suggest that users should use a static system or merely accept their updates in 6-month-increments is like suggesting that a carpenter should never consider the manufacture of his tools. Sure, there may be a table to craft today, but improving at the craft of doing so is an important goal--and Ubuntu should help its users improve in their usage of their systems by helping them take small, friendly steps into improving the software they use in real ways.
Stop treating users like children and engage them as equals. Apple can't do that because they have to keep their users dependent. Ubuntu is missing out on its greatest source of potential.
> Linux (and other open-source OSes, obviously) is an environment in which users are able to exercise more freedom in their usage of their computers than virtually anywhere else.
While this is true, it's simply not a feature the average user wants at all. They just want it to be simple, and work.
> To suggest that users should use a static system or merely accept their updates in 6-month-increments is like suggesting that a carpenter should never consider the manufacture of his tools.
Most users aren't carpenters, they have no interest in crafting their own tools, they just want a decent looking coffee table that doesn't require them to hand build it.
> Stop treating users like children and engage them as equals.
They aren't equals, have you met most users? You're arguing from a programmers perspective, not a typical computer users.
That may be true, but isn't that what Ubuntu is trying to change?
Sure, as a dev/power user I might be annoyed with some of the changes they make here and there, but as a linux supporter, I'd be much more annoyed if they weren't actively trying to expand to a broader audience. Regardless of how they're going about it, I'm just glad they're actually doing something in that area.
And yet, this isn't orthogonal to still keeping it extensible, transparent and open for learning. Yes, most users might not want or need this. But there might be some who get drawn into it. Never block anyone from learning.
>Most users aren't carpenters, they have no interest in crafting their own tools, they just want a decent looking coffee table that doesn't require them to hand build it.
You misunderstood the analogy, I think. Everyone is a carpenter in some way. The OS isn't the table, it's the tool.
>They aren't equals, have you met most users?
Yet again, you misunderstood. "Equals" means to stop treating users like they are generally unable (and unwilling) to learn. Worse, Ubuntu/Unity (actively or passively) hinders people who are willing to learn.
I'm not saying you should force people to learn. I'm saying you should give them sane defaults, and the option to learn how to change them if they chose to do so (and ideally, with an easy and obvious way to restore the defaults).
> And yet, this isn't orthogonal to still keeping it extensible, transparent and open for learning.
They're related. Keeping those things isn't free or easy when most users don't care.
> Everyone is a carpenter in some way. The OS isn't the table, it's the tool.
This is how a programmer thinks; it is exactly tho opposite of what normal people think. Users don't see the os as a tool and have no interest at all in it. The os is the table to them, it launches their apps and that's all they have interest in. They don't want to understand it or tweak it or think of it as a tool.
> "Equals" means to stop treating users like they are generally unable (and unwilling) to learn
But they are generally unable and/or unwilling to learn. You leave me feeling you simply haven't interacted with many normal people. You're talking like most people think like a programmer; they don't.
> I'm not saying you should force people to learn. I'm saying you should give them sane defaults, and the option to learn how to change them if they chose to do so (and ideally, with an easy and obvious way to restore the defaults).
You're assuming that showcasing the configurability of Linux was one of the purposes of Ubuntu. I don't think it was. Look at http://www.ubuntu.com/ubuntu/why-use-ubuntu and http://www.ubuntu.com/ubuntu/features. They don't seem to stress the things that you care about. Perhaps you wanted Ubuntu to be something it is not.
Thanks, it is refreshing to read this. Now we could elaborate on how to make a system usable by mom and tweakable at will. A versioned conf/install log could help, for instance.
I don't know whether you used "users like my mom" just as a manner of speech, but in my case that is literally true - my mom does use Ubuntu and I quite appreciate the simplification of Ubuntu's interface that's happened over time which has made it possible for my mom to use it.
I have my long list of Unity bugs -- I don't think Ubuntu should have put all their chips on that awful implementation of a mediocre interface.
I agree with Eric Raymond that the most worrying thing is not the poor quality of the new Ubuntu release, but that new releases are going backwards. That takes away any hope for improvement.
Unity is still unusable at times due to its window management bugs. I way really hoping for better upon its second iteration. (But this just makes me sound complainy.)
I agree that they should come up with a nice default user friendly setup but they MUST also allow the user to toggle on/off the bits of fluff they want or don't want and they shouldn't have to search Google to figure out how. Also, they have to do fancy animations right, if they're consistently choppy they are no longer a positive feature. My machine runs Windows 7 with all the fluff smoothly, they need to hit that point. Since you haven't used it, all I have to ask is if the Alt+Tab screen took a full second or more to show up would you be happy even when just using an editor and terminal? I've been using Unity for over a month to give it a fair shot but I'm currently installing Xubuntu and I probably won't try Unity again until I consistently see people saying 'Whoa, check it out, they got it right'.
What are your specs like? I've used it on my netbook and a cheap 2006 Dell laptop (no animations) and a dual-core Atom board (animations) and everything had been smooth and quick. I wonder if the problem is driver support.
I suppose I'm the only one to have thought about fancy animations as positive feature. First line in my install logs for Linux or windows: rm animations
I think the fact that you haven't used it lately explains why you don't understand what the author is trying to say. There are plenty of "mom-level" user frustrations with this release too. (my young kids, who just play games, hate it)
I would sum up the article as such: Ubuntu needs to focus on being the best Ubuntu it can be for its users. If Ubuntu tries to be Apple (imposing arbitrary UI choices and tastes on them, with little to no recourse) it will neither be good at that or what they were good at to begin with.
Anything I ever wanted is just an apt-get away and is mostly installed in a sensible way.
Ubuntu simplifying desktop features and changing defaults to be easier for users like my mom sounds like a great thing to happen to Linux.
That stuff is mostly orthogonal to developers who, you know, know how to deviate from the standard configuration and tools.