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.