That's not what the parent, or the article is saying. Don't turn this into some sort of class warfare for the sake of trolling.
The ability of an OS or application to expose data in order to allow you to manipulate it as you see fit, does not preclude it being user-friendly and straighforward to use. That funcionality might very well be hidden away, but available if you're inclined to use it.
The point that is being made is that this level of openess and flexibiliy is directly at odds with the need for control of some companies over their OS/applications and the content whithin, usually for the sake of profits.
Sorry, but the article says nothing about companies maintaining control for the sake of profits — only the parent developed this point.
The article made the point about the lack of composability of iOS, with the Grail of composability being the command-line. And I stand by what I said. Design is the result of trade-offs: you can't have ease of use and composability.
Steve Jobs understood the necessity of trade-offs better than anyone else.
But it does. Or at least, it does in every way that we've yet to imagine.
What the author of the article suggests would be not "anti-programmer" are necessarily "anti-user". Breaking everything down into composable components and forcing the user to compose even simple, everyday procedures before being able to use them? How terribly difficult and exclusive to techies only!
Similarly, he suggests that the only way for meaningful interaction to occur between programs is through the unfettered access to a filesystem - as users have demonstrated time and time again the past decade or so, they don't want that. They will pile heir music and photos and movies happily into one big dump so long as a much more proficient application handles the intricacies for them. They don't want a filesystem - it's a toy for people like us.
The ability of an OS to expose data for manipulation does not necessarily preclude it from being user friendly, but that's only true in a very ephemeral, theoretical way. The only ways we know how to expose said data, up till now, is entirely anti-user, and part of why the popularity of computers with the general population has not exploded until so late. For too long we've kept the keys to the kingdom, and you know what, fuck all of that noise.
And the claim that iOS (and other similarly restrictive OSes) have been developed primarily to protect the company's interest is patently absurd. The iPhone has been by far the best thing to happen to mainstream computer users in the past two decades. They have power at their fingertips that they can actually comprehend now, and use without navigating a tome of quickly outdated knowledge. This is the age of the device you don't have to take a class to use! The empowerment here is incredible, and people have been throwing gobs of money at Apple, Google, and everyone else who has realized this. The main reason these OSes are restrictive is because it guarantees usability and consistency in a way that completely open platforms do not (Gimp, anyone?).
This whole article, and resulting thread, really disappoints me. I'd have thought that what we've seen in the last 4-5 years would finally wake up the tech community and make them realize that computational resources are pointless unless it benefits the rest of humanity somehow, and chief among these is mainstream usability. But no, it looks like a large contingent of HN is happy to view users as stupid plebes - if only they knew the value of free OSes and would take the time to learn the command line!
Screw that train of thought, and damn the people who continue to reinforce the false assumption that technology need be complicated and obtuse. I'm sick and tired of looking at all the cool things we can do - things that are of real benefit to people - and having it locked away behind a glass wall of techno-wizardry when it does so much more good out in the hands of the masses.
I wonder how many of the people here decrying iOS as a radical loss of freedom would be willing to learn how the engine of their car works in order to drive it, or how all the machinery in a dentist's office works in order to get a checkup.
We live in an age of specialization and iOS just represents a far less leaky abstraction for the average user than the operating systems of the past.
I'm not anti-iOS, I'm anti-all current mobile OSes. I think you present a false dichotomy. I shouldn't have to know how the engine in my car works, but I should have the option of tinkering with it if I wish.
And I do expect my car to be componentized. I expect it to have a transmission, an alternator, a radiator, etc. While I have no preferences for how those components are designed, I expect them to work, on the whole, as one would expect those types of components to work. That is they have an input and output. I wouldn't buy a car where all of these components were replaced with 1 proprietary, untinkerable, thing.
What I want is Canonical or Mozilla, or whoever, to be able to write an OS that can be installed on just about any phone hardware, the way it can be done on any x86 computer. Whether it's the crazy patent situation or harder engineering challenges that prevent that today, I'm not sure.
In the theory that comes from a cursory glance, someone could make an OS that's portable, composable, open, free, changeable and tinkerable, etc. and that's easier to use than any system that's available today. That'd be great.
But in practice, as systems exhibit more of those traits more strongly, they, as a general rule, become less and less of a coherent, unified whole and more of the internal workings become exposed to the user. This has a direct impact on usability.
Until somebody resolves this seemingly-fundamental engineering constraint, we'll have to settle for different systems that varyingly trade-off flexibility and usability. iOS has been so successful because Apple has deliberately chosen to fall more on the usability side and a tremendous number of users have found that the tradeoff is worth it: that decreased flexibility doesn't harm them remotely as much as poorer usability would. Happily, there are also extremely flexible systems available.
Looks to me like this setup allows everybody to win as much as we know how to in this "imperfect world".
I disagree, and I would use desktop linux as the counter example. A distribution like Ubuntu is nowadays opinionated on user-experience questions while still maintaining the ability to easily swap out the DE for something else if the user so wishes.
That this hasn't happened on mobile just means we haven't reached the point of interchangeable hardware. I just worry that patents are the primary reason for this, and that we may never enjoy the same level of freedom in phones that we have on PCs.
There's no free lunch. Flexible and easy are dichotomous. In the past the average user has paid the price for the greater choice we hackers have enjoyed. Who are we to say that this tradeoff was fair? Modern cars are not hackable but you'll be hard pressed to find a typical driver that doesn't consider this a fair bargain for increased reliability and ease of operation.
You can talk all you want about how things should be but the facts on the ground are that Apple has done more for the experience of the average user than any of the hacker idealists at the FSF/GNU etc.
Could you tell us how the App Store exclusivity significantly enhance usability? Apple already controls the native API and the core apps, how can they need more? Do they really need to ban poor apps? Do they really need the censorship?
Usability can't explain all the control. There are other reasons.
The control is there, but it's far from the primary or even a major driver, I would claim.
The control and banning of poor apps reflects something not only Apple is doing - see Google and their "banning" of content farms and ad farms.
Junk breaks discoverability, and discoverability is one of the more fundamentally important notions that users have started to get in the last few years.
A few years ago you'd get panicked calls from users who are afraid to click on anything, because the slightest misstep means an app crash, an OS crash, or just plain data loss. Now we've finally developed software that's intuitive enough and appeals enough to people's natural assumptions about software, that this is no longer the case. People are happy to tap away and discover new features of their devices and software, and that's great.
By allowing crapware and malware into the system, we degrade user trust, and we go back to the days where users are apprehensive about clicking on anything, for fear of losing their data, for fear of getting a virus, etc etc ad infinitum.
tl;dr: The "control" angle, for the most part (except some clauses such as App Store exclusivity) does enhance usability.
> (except some clauses such as App Store exclusivity)
To me, this exception is the most part. I wouldn't complain if they had relinquished it.
As for viruses, I am beginning to think that an OS that crashes is just unacceptable. (Which may rule out even OpenBSD, but I'll bite that bullet. http://www.vpri.org/ gives me hope).
> Breaking everything down into composable components and forcing the user to compose even simple, everyday procedures before being able to use them? How terribly difficult and exclusive to techies only!
Who said anything about "forcing" users? There's nothing wrong with exposing _both_ a set of composable components (for those who know how to use them, and perhaps hidden by default) _and_ a set of pre-composed apps (for the majority of users). Sure, it's not easy from a design standpoint, but where there is a will, there will be a way. Forcing users to rely exclusively on pre-composed apps is not the only alternative.
I get your point (and I don't think that the vast majority of iOS users care one jot about pretty much anything that the article is talking abount), but there are ways of making things "programmer-friendly" without sacrificing usability.
Take MacOS and AppleScript. I doubt more than a tiny fraction of MacOS users even know that AppleScript exists. Its existence certainly doesn't get in the way of usability. But it's there for people who want to use it, and they can use it to chain GUI apps together, or to automate regular tasks.
The ability of an OS or application to expose data in order to allow you to manipulate it as you see fit, does not preclude it being user-friendly and straighforward to use. That funcionality might very well be hidden away, but available if you're inclined to use it.
The point that is being made is that this level of openess and flexibiliy is directly at odds with the need for control of some companies over their OS/applications and the content whithin, usually for the sake of profits.