Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
iOS is anti-Unix and anti-programmer (dbpatterson.com)
156 points by Derbasti on Sept 16, 2011 | hide | past | favorite | 140 comments


It's not anti-Unix or anti-programmer...it's all about being anti-freedom.

All these companies want to do is turn your computing experience into a locked down, controlled, monitored experience. They want to turn your limitless and powerful computer into a home appliance...like a blender or electric razer. No way to customize, no way to modify, no way to organize thoughts your way. No hacking or "jailbreaking" into your own device to give yourself features like "tethering". That would violate the ALL HOLY EULA (unless you paid $5.99)!!!

Also no need to understand how the technology works -- technology is now magic. And when technology becomes magic, they have control over you. Google manages all your e-mail, Facebook and iPhone manage your social life. Google and FB make their money through selling your information to marketing companies. Apple makes it by selling you hardware. Both of them make money by exploiting the lack of will by the masses to understand their technology and how it affects their rights and privacy. They make money when they are in control of you and your data. They make money by making you think you need a new computer when all you need is a better operating system.

Getting rid of files is like Newspeak from Orwell's 1984. They want you to be dumber. They'll take care of savin that file for ya, you just worry about eating nachos and 'batin. Besides, they need to take a looksie at it first to infer information about your shopping habits...


"All these companies want to do is turn your computing experience into a locked down, controlled, monitored experience."

Oh, bullshit. Do you really think there is someone siting around at Apple dreaming up new ways to take away your freedom?

No. There fucking isn't.

I'm a huge believer in small, composable components. And I know that developing against closed platforms sucks. Being able to dig down into the source code of every layer of your stack is critical to the understanding necessary to build high quality software. Libre, Gratis, and Open are all key elements of the software I choose to use to do many mission critical jobs, every day of my professional career going forward.

But you know what?

The people at Apple just want to make damn good products. They are proud as hell of those products. They work very hard to make them that damn good.

Freedom isn't free. There are costs associated with development, complexity, opportunity. Free is a strategy that only few can afford to execute. Google has to vary the gratis, libre, and open dials with their products every single day to paint the benevolent picture they count on to keep their recruiting pipelines full, while still building high quality products on time and budget.

My Girlfriend's Android phone (a highly rated model) is a horrible piece of crap next to the iPhone. It lags, crashes, has UX issues, flimsy hardware. The iPhone is a glorious, crowning achievement of engineering that still, years later, Microsoft and Google are struggle to replicate.

I'm no dumber for owning an iPhone. It gets the job done: It makes phone calls. It settles arguments at the bar. It lets me cut in line at Chipotle. It wakes me up in the morning. It keeps me entertained. It makes me smile every time that little orange plane animates by as it goes into airplane mode.

It just fucking works.

You want to talk about freedom? I'm free from thinking about memory management. And processor utilization. And data loss. If it stops working, I'm free from worry because the Apple store makes everything better. I am free from all of the horrible things that can go wrong on my production servers.

Unless something does go wrong on my production servers, in which case I'm free to be away from my desk when it happens. And I'm free to drive aimlessly without worrying about getting lost. I'm free to call a cab, when I just don't feel like walking home.

In context, my iPhone represents every last bit as much freedom as my blinking cursor in an empty vim window.


"Oh, bullshit. Do you really think there is someone siting around at Apple dreaming up new ways to take away your freedom?"

> No but I honestly thinks there are people sitting around at Apple dreaming up new ways to take away your money, even if it entails taking away your freedom.

"The people at Apple just want to make damn good products. They are proud as hell of those products. They work very hard to make them that damn good."

> Yeah... As an aside I think Apple is overrated. It's interfaces are nifty but as seen with Lion they're not above a misstep. Plus while they offer a very nice first-time ("store") experience, with time it's edge over the other OS slowly fades. You have to learn all the keyboard shortcuts or you'll be a bit helpless in your shiny OS.

Even hardware which tends to be quality can fail, as witnessed with graphic cards overheating problems for instance.

"My Girlfriend's Android phone (a highly rated model) is a horrible piece of crap next to the iPhone. It lags, crashes, has UX issues, flimsy hardware. The iPhone is a glorious, crowning achievement of engineering that still, years later, Microsoft and Google are struggle to replicate."

> Anecdotal evidence does not make a general truth. I for one have had the exact opposite experience. I had an iPhone 3G and with the new firmware the thing was a trainwreck of usability, while my new Samsung Galaxy S2 is snappy as hell. This is essentially irrelevant, as it has to do with computing power more than product quality (tough I get more bang for my computing power in Android, the iphone firmwares have brought me copy/paste and ... what ?).


Side note: Please do not use "> " for your reply. That is generally reserved for quoting what you are replying to.

> No but I honestly thinks there are people sitting around at Apple dreaming up new ways to take away your money, even if it entails taking away your freedom.

Sure, there is some dude somewhere who only cares about driving up the quarterly numbers. But generally Apple has a pretty long record of shipping premium products at a premium price and selling them with a "buy it or don't" attitude. With the possible exception of those damn video adapters, I've never felt like Apple was trying to squeeze money out of me. Sure, they had to play the DRM game with iTunes and let's not even get into the bullshit that the telcos get away with. But, as a composite entity, Apple has been pretty damn respectful of it's customers.

> Yeah... As an aside I think Apple is overrated.

Different tastes for different people. Go ahead, buy whatever product you like. Just don't accuse a team of hard working, talented people of being out to take your freedom.

> It's interfaces are nifty but as seen with Lion they're not above a misstep.

I'm quite happy with the improvements in Lion.

> Plus while they offer a very nice first-time ("store") experience, with time it's edge over the other OS slowly fades. You have to learn all the keyboard shortcuts or you'll be a bit helpless in your shiny OS.

I've used a Windows machine since before I could speak. I worked for Microsoft for several years. I now cringe every time I have to touch the one Windows box at our office.

> Even hardware which tends to be quality can fail, as witnessed with graphic cards overheating problems for instance.

And you've never had a component on your other machines fail? shrug When the machine I built had a power supply failure, I had to go fucking replace it. I was free to use whatever power supply I wanted, but I wasn't free to use my damn computer for the four days I waited for my new component. When my iMac had a buzzing noise, they replaced it in the store in under an hour.

> I had an iPhone 3G and with the new firmware the thing was a trainwreck of usability

Freedom isn't free. Making that new software compatible with that old hardware costs time and money. They did a decent job to appease the tiny cross-section of people who upgrade software, but don't upgrade hardware. Most people don't even know what a software upgrade is, so their old OS version is running just fine on the hardware it was tested against. In general, those who do care about having the latest and greatest can afford a phone upgrade.

> tough I get more bang for my computing power in Android

Who cares how much bang you get? It does the same stuff. Again, it's clear you value different things.

Look, I'm not gonna respond further because as far as I'm concerned, I've made my point: It's not right to personify corporations as evil simply because they don't match your personal taste. It's insulting to the people who work really fucking hard and take great pride in the (not so) small impact they leave on the world.


When the machine I built had a power supply failure, I had to go fucking replace it. I was free to use whatever power supply I wanted, but I wasn't free to use my damn computer for the four days I waited for my new component.

vs

When my iMac had a buzzing noise, they replaced it in the store in under an hour.

So "sitting on my arse doing nothing, I had to wait four days for a replacement" versus "I physically took my machine to the Apple store and they gave me a replacement at the same time".

These are purposefully selective anecdotes. With your first repair, you yourself could have gone to a store - just like you did with the iMac, only not having to carry the damn thing - and got a power supply in five minutes, taken it back to the office, and had it installed and back up in half an hour. Computer stores and power supplies are as common as muck - unless your desktop PC is really weird, you'll find something suitable by simply throwing a brick.

Total time spent in process for each 'go to shop' scenario? Less than an hour plus travel time. And with the non-imac one, you don't even have to ferry the computer around. All in all, a pretty similar experience.

Unless of course your anecdote is even less fair and the 'four day wait' was for a server part.

It's insulting to the people who work really fucking hard and take great pride in the (not so) small impact they leave on the world.

People who work hard and take pride in the (not so) small impact they leave can still be doing a bad thing, even though they're full of good intentions.

http://en.wikipedia.org/wiki/Stolen_Generations (This link is just a strong example, I'm not trying to draw a parallel)


Both repairs were free (err...gratis) warrantee replacements by the manufacturer. Of course I could have paid for a new component or repair at a local computer shop.

> can still be doing a bad thing, even though they're full of good intentions.

Totally agree. I just don't think they are doing a bad thing either. No one is forcing you to buy a locked down device. No one is forcing you to make a particular freedom tradeoff. Buy whichever product you like for whichever reasons you like. But just be cognizant of the tradeoffs and their costs without making value judgements about those who make different tradeoffs, both as consumers and as producers.


But just be cognizant of the tradeoffs and their costs without making value judgements about those who make different tradeoffs, both as consumers and as producers.

I agree about the consumers bit - what's good for me may not be good for you - but don't agree about the producers. We should be able to raise constructive criticism if we see a producer as damaging - and I think the exhortation to 'leave them alone, they work hard' isn't right.


Also: On the repair front, how long would you have been waiting for Apple to come to your office and replace the faulty part? :)


Just don't accuse a team of hard working, talented people of being out to take your freedom.

Are you saying the people working on Android, Metro and platforms not owned by Apple are not talented or hard working? If not, why is the manner in which Apple people are working really relevant?

You are simply evading the point. It seems like to you, your ownership of Apple devices is a personal obligation to defend Apple from its "enemies". It isn't. Again I am forced to asked why you are doing this. It taints the rest of your argument and makes everything you do sound awfully much like zeal, and not like a rational opinion.


> Are you saying the people working on Android, Metro and platforms not owned by Apple are not talented or hard working?

That's not what I'm saying at all. I was simply taking Apple as an example. The original article was about iOS and I think it's fair to say that from the original commenter's perspective, Apple is out to get your freedom.

I, in fact, was a contributor to Windows Phone 7. I worked damn hard to get the XNA deployment and debugging to work super smoothly. I'm supper proud of my small contribution to that product.

However, the Win Phone platform offers just a tiny bit more freedom of hardware choice. And that comes with a cost. I can tell you that having a dozen potential devices floating around the office, with varying graphics cards and other specs, was very time consuming for development. The first Win Phone 7 would have been much more timely if there was a single hardware platform locked down much earlier in the development schedule.

As for Android, it's further down the spectrum. You hear about fragmentation and whatnot. There are very real costs associated with the flexibility that platform offers. Freedom isn't free. Sometimes it is worth it. For some people, like myself, I choose a different type of freedom for my phone.


The people at Apple just want to make damn good products. They are proud as hell of those products. They work very hard to make them that damn good.

It's very hard to read the rest of your comment and not have you mentally pre-positioned as a fanboy. I'm not saying this to be a troll, but because comments like this really do stand out. Would you give any other company this sort of slack you are now giving Apple? If so, why not?

And while that may not be such an interesting discussion in itself, I am not willing to support and hand over my money to someone acting against freedom of choice, because someone else on the internet says "Don't worry: These people are good guys. Really!"

Freedom isn't free.

Again. I would love to see anyone make this sort of defense for Oracle or Microsoft.

I'm no dumber for owning an iPhone

Maybe not dumber, but you have locked your mind to the most restrictive of the mobile OS platforms out there and the limited workflows it allows.

I would be very surprised if this didn't also limit your ways of thinking about how problems can be solved.

The iPhone is a glorious, crowning achievement of engineering that still, years later, Microsoft and Google are struggle to replicate.

Absolutely revolting fanboy talk. I tend to find the iPhone a glorified piece of needlessly heavy electronics running visually polished but annoyingly limited software, which fails at the most basic of tasks, like sending data from one app to another via something called "files".

You want to talk about freedom? I'm free from thinking about memory management. And processor utilization. And data loss.

So am I. On my Android phone. While my iPhone 3G had constant memory-problems because it wasn't built to multi-task. Oh well.

Why is it iPhone owners seems to default on Android being an immature platform, cite Android 1.6 problems, while any factual representation of the limitations found in current iOS releases is answered with "iOS next" and that is supposed to be a valid answer, free from hypocrisy?

Seriously. You guys need to get out of the Apple store more often. It may actually be starting to dumb you down.


> Would you give any other company this sort of slack you are now giving Apple? If so, why not?

I used to work for Microsoft. Although you'd have to dig back a couple years in my comment history, you'll find many posts where I defended Microsoft and explained some of the intricacies and complexities of building products for the customers that Microsoft really cares about.

I also used to work for Google, and somewhere in my comment history, I also defend the fact that Google isn't out to track your every move.

In retrospect, I shouldn't have chosen to defend only Apple in my original post. It weakened my argument because of the perception of being a fanboy. I think that all the same points apply to Microsoft and Xbox.

PC gamers shout about how consoles are trying to kill your freedom. You can't even use your own choice of team voice chat utility? OMG! OPPRESSIVE. But really, the locked down platform was easier and cheaper for Microsoft to develop than the wild west of PCs / Direct3D. I quit being a PC gamer, gave up some of my freedom to play mods, so that I'd have the freedom to install whatever new game came out without having to think about the specs of my PC.

Different value tradeoffs for different consumers, or even for the same consumers with different needs at different times! Different value tradeoffs for companies producing those products for those who make different value tradeoffs as consumers.


Thought experiment: Is it possible to think Apple makes the best technology products without being a fanboy?


Oh absolutely. I have no doubt about that. In fact, saying anything else would be absurd.

However I think it's fair to recognize the difference between someone merely (very) happy about their Apple stuff and someone who seemingly is personally insulted when it is suggested that Apple is (shock!) a normal corporation following a normal corporation's need and desire to profit, doing some ethical comprosises on the way.

And looking at snprbob86's post here, it's full of seemingly personal feelings when discussing this topic. It's almost this short of saying "Dear sir. You have defiled my lovers honour and I challenge you to a duel".

I have to say he/she seems like the glorious, crowning achievement of the Apple PR-Department which is hellbent on making Apple-Products a matter of personal honour and identity. And it's very freaky to observe from the outside.


I think the key difference is the implication that Apple's sole intent is to make good products. The people at Apple just want to make damn good products. is very different from Apple makes damn good products.


Spot on. When people throw "freedom" into the discussion they often fail to understand just how big the concept is. Every choice made in engineering restricts some kinds of freedom. What about the freedom to press fewer buttons? Some people prefer that over the freedom of file management. As long as people can make these kinds of trade-offs, they are still free to do what they want.

I find it much nicer to use the term autonomy, which can be seen as "meaningful freedom". To some people having a commandline interface (which they do not know how to operate) is not a meaningful freedom to have at all.


"If it stops working, I'm free from worry because the Apple store makes everything better."

You should've just said 'I love Big Brother.'


Yes, I do that there are a number of people at Apple spending a large part of their days figuring out how to prevent people from using their own purchased items in the way that they wish to. Lawyers, programmers, and PR people.


The hyperbolic indignation is not needed. This is not Reddit.


I agree with the OP:

> Oh, bullshit. Do you really think there is someone siting around at Apple dreaming up new ways to take away your freedom?

Yes - more precisely they are working out new ways to charge you for it.

We're slowly being led into paying incrementally for utility computing on a device we actually paid up front for.

Only a fool buys something then pays to use it.


> Only a fool buys something then pays to use it.

You mean like buying any of the following:

  * A car (fuel, tires, a bunch of other stuff)  
  * _Any_ cellphone (either a monthly fee or pre paid)  
  * Clothes (I sure hope you wash them?)  
  * _Any_ electrical appliance (electric bill you know...)  
(and the list goes on...)

Yeah. A fool indeed...


What you describe are "appliances". Single purpose items.

Computers, are by nature interchangeable with respect to their use at the whim of the user, without cost. They serve many purposes interchangably.

What I am concerned about is that a cost for changing purpose is being programmed (excuse the pun) into the users, converting them from users into consumers.

Consider the case of a Leatherman tool. Would you buy one if it had a couple of useless tools supplied with it and you found out when after you bought it that you have to buy all the good ones? Also the screwdriversr can only be used with Apple-licensed screws and you have to turn them the wrong way.


The iPad is computer-as-appliance.


Maybe true, but the fact that iOS devices are selling so well shows that people actually want their computers to be as simple as appliances. I think that to many "regular" people (i.e. non-HN-reading types of people), the power in computers is when they provide a simple and idiot-proof way to automate many common day-to-day tasks. If given the choice, many people would rather go out for a picnic than sit down at a shell to figure out the difference between | and > so that maybe, one day, they could become command-line gurus and appreciate the power like we do.

The market for complex and powerful computer interfaces will always exist--it's people like you and me. But the market for simple, easy, and foolproof computing will always be much bigger. Apple is owning that market, and if it's worse for the consumer, well, they seem to be pretty happy about the situation so far.


I've seen this point brought up. Making some easy (which I'm all for btw) does not mean it has to lock down aspects that average users are not meant to look at it (i.e. DRM). It's fine if they hide them, but when there are software and hardware mechanisms that prevent power users from manipulating the device - that is unnecessary. I should be able to replace the OS as well as install any app that I please on the device. They are actually taking EXTRA steps to prevent me from seeing the internals by using things like hardware level OS image hashes (i.e. tivoization).

Now people say, I just want to use my device and get work/play done. THat's fine, I'm all for it. However, having control benefits everybody. For example, if you want to tether your smartphone and use it as a wireless access point, writing the software to do this is trivial (and a power user can do it for you). However, smartphone companies don't want you doing that...unless you pay them more money for that feature. That's kind of unfair, the smartphone company is depending on PROPRIETARY LOCKIN rather than real competition. That's my problem with it. They want to control your experience and make you think you can't get a PREMIUM EXPERIENCE without paying them ludicrous amounts. I mean, all tethering does is update a few IP tables here and there -- I have to pay 10 bucks a month for that??

Yeah sure APple did a lot of great things as did Microsoft and Google for bringing computing to the masses. However, they all did it based on the open innovation of others (kernels, compilers, text editors, web servers, etc). They've used those wonderful open things to create a wonderful easy to use experience. At the same time, they've added ARTIFICIAL CONSTRAINTS to it (e.g. again tethering) to create PROPRIETARY LOCKIN and make you think your device has less capability than it really has. If these companies stay on these same paths and people maintain the same level of compliance...we'll get to a point where ALL computers are useless and innovation can't happen. Again, easiness and openness are not orthogonal.


And why exactly my tablet should be different from razor or blender? Or my TV or my car? For many this is just a tool, not goal.

  lack of will by the masses to understand their technology
There are many many many more fields besides IT. If anyone: be it waitress or accountant will be required to understand IT it will not end well.

  They want you to be dumber.
No. I don't feel any dumber because I don't know how to fix my TV. I don't feel any dumber because my knowledge about car's engine is very basic and most of it was learnt in the age of carburetor. This are just means to get some news and entertainment, to get from point A to point B. Likewise I am not calling my car mechanic dumb, just because he has no idea how to build a web page or write an iOS application.

If you are a programmer and want to create something useful, you should let that crazy idea that everyone must know and worship your craft go.


>There are many many many more fields besides IT. If anyone: be it waitress or accountant will be required to understand IT it will not end well.

I don't think thats the issue at hand. I think they're putting an upper limit on what is possible that happens to require more knowledge.

I don't know a whole lot about cars either, changing breakpads is probably my upper limit right now. But if I wanted to do some more work, I could pull into a friends garage, grab a copy of the maintenance book specific to my car's model and get to work. Why? Because the car didn't come from the factory with the hood welded shit.


Do not say "this is just a tool", it never helps. Besides, computer happen to be different in kind: they can do anything you tell them to. This is as close to a genie in a bottle as you will ever get. It wouldn't feel right to deprive most people of this little genie, don't you think?


I think you overestimate people's desire (let alone aptitude) to wrestle with the genie in order to get their wishes. I assure you that a great many people are only able to use computers by memorizing a series of steps. They have no mental model for how it works.

Given the options of "limitless but practically useless" versus "limited but quite useful practically," I'll opt for the second option. I'd rather have more people using computers than not. It's not fair to deprive people the power of even a relatively limited slice of computing just because they don't want to make a hobby out of it.


Once upon a time, most people couldn't read. No one thought it would be useful to them, including those who could read.

I think programming is the same. Just teach it in school, and watch. How many people wouldn't wrestle with the genie if their grades depended on it? Not much more than those who can't read, I think. (Yes, I'm aware that changing the school system isn't isn't a piece of cake. But its easier than requiring everyone to do non-mandatory work.)

Also, don't use the word "practically" when you actually mean "in the short term". Investing in the future can be worthwhile, despite hyperbolic discounting.

Finally, you forgot the option "limitless and immediately useful". Really, there no reason at all why they should be mutually exclusive. If they are in our world, that's only because other interests are at work. (Open platforms and Free Software tend to be harder to monetize.)


How did tin-foil-hat-esque nut-jobbery get voted so high? I wanted an iPad precisely because it isn't a "limitless and powerful computer". I wanted a multipurpose appliance that requires minimal (idealy 0) maintenance.

Newsflash for you: the whole world is not computer programmers (I am and I still don't want to have to think about this stuff when I'm just consuming). They never wanted to know. Which is why something that finally lets them not bother learning this field is so incredibly popular.

For those of us who do want to know Mac still covers that market. I can (and do) install anything I want on my MBP.


I'm the same. I strongly prefer to only have to maintain one computer. I don't want or need more computers (in fact I got rid of a bunch). Augmenting it with appliance-like devices for additional needs is a pleasure.


Additional thought, because your post is just so wrong.

> limitless and powerful computer

More like confusing and impairing computer

> no way to organize thoughts your way

More ways to do so with my iDevice than with any other computer I ever owned!

> no need to understand how the technology works

Yay! Finally!

(Not to bring up the car analogy again, but do I really need to know how my motor works to drive to work?)

> technology is now magic

True, it's now accessible to (almost) all!

Etc. ad nauseam


Most comments in this thread strike me as being anti-"normal users". This is the elite, talking about how they can maintain their elite position.


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.


The poster you replied to noted that they become much less of a coherent whole due to those factors. Bringing up desktop Linux is not helping your case against that assertion in the least.


I wonder if the rise of Chrome at the expense of Firefox is a counter-counter example. FF has grown bloated and more chockfull of features. Chrome, on the other hand, has retained a unified and coherent structure.


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.


Nonsense. It's about the loss of functionality, not the point that there's a simplified UI available.


Well observed :)


change 'television' to 'computing experience'

"When you're young, you look at computing experience and think, There's a conspiracy. The companies have conspired to dumb us down. But when you get a little older, you realize that's not true. The companies are in business to give people exactly what they want. That's a far more depressing thought. Conspiracy is optimistic! You can shoot the bastards! We can have a revolution! But the companies are really in business to give people what they want. It's the truth."

--- original quote ironically enough came from Steve Jobs


The old convenient argument "we give people what they want"..

It's the same with the tv, newspapers. People get what they can get. People get what's in the market. People get what other people already got, because of a warm fuzzy feeling of familiarity and a need for identification with others. Any creator has a responsibility so that the users can be informed that things can be done in better ways and then they can choose better things. "We give people what they want" is often an easy excuse to ignore such responsibility.


So build something better and let the market decide. I can teach my mother in law to use an iPhone in five minutes. Giving her all of this "freedom" would make the devices much harder to use and maintain, not to mention far more insecure. Not much of a malware danger on ios either. There are very few apps that need a jail broken device; the few that are unique are generally dealing with features the average user wouldn't want or need. For those Ivory Tower types, there's no law against jailbreaking..


All technology must strike some balance between catering to the power user and catering to the novice. For the last thirty years tech has skewed pretty heavily towards the power user. iOS pushes the balance radically toward the novice and has been richly rewarded in the marketplace for doing so.

I think iOS is a little more locked down than it has to be to accomplish this, but there's no question it represents a decisive break with the past. The money made in the future in technology will depend on humanizing technology. Over time I expect the market will find a paradigm that serves both ends of the spectrum well.


One more thing-- no one forces anyone to use a particular technology (unless it's being forced to use Windows at work.) The tin foil hat crowd might have some grand fears, but it's groundless -- you only give up the privacy you choose to give up. Google has never knocked on my door forcing me to give up private information, although the US government does! I would be more worried about intrusive and over regulatory whims of the government-- they can enforce their schemes at the point of a gun. Worry about the government and let the market take care of everything else.


The tin foil hat crowd might have some grand fears, but it's groundless ... Worry about the government and let the market take care of everything else.

Um... it's not really irony if you do it intentionally...


Wow, I had no idea I would stir up the beehive so much! Perhaps I was a bit dramatic in my presentation. The point I'm trying to make isn't that Apple, Google, etc are evil nor am I saying their products aren't good. The problem is things like DRM, net neutrality, software patents, privacy, developer and user rights, taking away control of information from users and throwing it in the cloud. THEY WANT TO CONTROL YOU SO THEY CAN CONTROL THEIR REVENUE STREAM AND ENACT PROPRIETARY LOCKIN! They would rather do that than have real competition! It's the Microsoft business model with sexier marketing. What happens when files go away -- how do I backup my data? Is my data even physically on my device? Is it located at some server at one of Apple's data centers? Are they securely storing it? Will I have access to it if they go out of business? Similiarly as a developer, how come there is no option for me to get my app onto the iPhone without being subject to Apple's App Store submission process? Sure, users may not notice, but they've created a major barrier to market. The excuse is that "oh we need to make sure it's user friendly and high quality", but we've seen often that they pull apps because they compete with something they're doing or they suddenly don't like the UI because it messes with Steve's vision of how your computer should behave.

I don't think having open technologies and easy to use technologies is mutually exclusive. Android is a great counterexample to iOS. For DIYers on Hacker News, another great example is Arduino. Also, if you haven't taken a look at a Linux distribution in years (or ever) like Ubuntu, you really should try it out. Not only is it free and open, but it provides (in my opinion) an easier and aesthically superior experience to Windows/Mac and is a way better option for 90% of users that do simple things like listen to music, watch videos, take pictures, and surf the web.

As one other person posted, they aren't trying to be evil, but they want to nickel and dime you at every step. They don't want you installing a more open OS on your device because they cannot control the experience (I gave the example of tethering in my original post). What scares them is giving you options that allow you to migrate away from their platform. A lot of people said "hey that's just business", but there are other business models than "proprietary lockin" that gives users flexibility and choice as well as generate profits for the company.


All technology is magic at some level. Go deep enough and no matter what the technology is, we don't understand it why it really works on some basic physical level.

Every electrical engineer, or computer scientist out there might as well be a wizard. Why pretend that one piece of technology is inferior just b/c it operates on a different level of abstraction.


I couldn't agree more. Some people say that iOS is not meant to be a programming device and that it is great for what it's meant to be, e.g. reading and watching content, but I disagree. Just a few examples.

- The lack of user facing filesystem means I have to jump through wierd hoops when doing simple stuff like managing my pdfs. An example, I get a pdf and open it in iBooks. A few months further on, I want to read it again and do some annotations, but I need another app for that. Well tough luck, i cannot open the pdf in the other app, since the pdf is tied to iBooks. If i'm lucky, maybe i'll remember i got it via a particular email, and resend it to the other reader. Most probably though, no annotations for me on that pdf.

- I have a network drive and would like to stream movies from it using VLC (due to native player not supporting the encoding). I also have a filebrowser app that can do smb. But there is no way to connect the two. I can either download the whole movie and send it to VLC (which takes a long time and space on my iPad) or try to look for a video player that does smb :S.

I could go on and on with such examples. IPad is obviously a beautifully designed and built device but I would definitely not purchase another one or recommend it to a friend, exactly because of the shortcomings of iOS.


Could you achieve the same things on an Android tablet? On the Touchpad? On the Playbook? I'm not sure if that is an inherent issue with iOS, or rather functionality that mobile OS's in general have not yet bothered to implement, as tablets are still marketed towards common consumers, not power users.


Dont know about touchpad or playbook, but you definately can on Android.


I disagree.. The app interoperability in iOS is achieved, but in a different fashion. You don't have files, but you DO have logins and APIs.

Say, Twitter - you want to tweet something from another app? No problem, you implement the right API to do that. Or perhaps you'd like to export a text file, so it can be received by another app? No problem - you use the clipboard & store the file there, or publish the file at a secret URL, and import that url through another app.

Is it as easy as save+drag&drop? Not yet. But filesystems also took some time before they were perfected. Give Apple one or two years, and iCloud will offer you as much as the desktop filesystem. And more.

Files are not the only way to go. If I want to share a text document with my friend, I don't attach it. I put it into Google Docs, and send my friend a url. Much more convinient - avoids a plenty of mess with versioning etc.


Android's Intents architecture is far more elegant than forcing every app developer to reimplement every API or specifically support every secret URL handler.

Being able to make a client for, say, a new social network, and instantly having every app on your phone support it through the generic "Share" button they already have is a very powerful tool.


OS X command line user here, after testing various other 'nix distros in the past few years. You're a bit harsh on the topic. Sure, composability is awesome for the reasons you mentioned, but look at who's using iOS devices. Do they need more? There are days when after being bombarded with information, an app that does one thing is a breath of fresh air.

"But it’s not a computer, it’s just a glorified palm pilot with a few bells and whistles". You can SSH into it if you want to be hardcore ;)

When I'm using an app to track expensese while at the supermarket or taking notes while on the train, I really don't care about "composability". Why should I?


As someone who spends almost all day either in vim/commandline mode or web browsing, I want to make the point about the unix pipe point, and that with gui's this is impossible.

Its not even the fact that it would require a lot more effort to sort and format a list of 100,000 names into our predefined pattern, but more the fact that the power of the command line is lost.

I find as I'm programming, I gravitate towards languages which can give me good access to this piping system, and give me access to stdin as a stream. Often in languages such as Java, pushing it information into a file and reading from the file is the easier solution and although this may be the more long term solution, for shell scripts etc its hard to beat the likes of perl's "while(<>)", not to mention the fact that awk works like this by default.

Also in terms of bringing this piping paradigm to the GUI world, I think the closest thing I've seen is Intents, both on the android side and the new Web Intents that both Google and Mozilla are working together on. Technically this seems like a more hefty version of pipes to me.


Is Automator on the Mac not sort of a GUI version of pipe?

"The output of the last action can become the input to the next." - http://en.wikipedia.org/wiki/Automator_(software)


Intents do go a long way to providing composability for Android. I didn't fully grok them when i started created Android applications. More or less simply used them as the way to go the next activity, but they so much more powerful than that :P


>I want to make the point about the unix pipe point, and that with gui's this is impossible.

There is a GUI programming paradigm, called Stream Processors. One of earlier Haskell GUI libraries was developed over those processors.

Take a look at Fudgets: http://www.altocumulus.org/Fudgets/

You can pipe them, you can arrange them into DAGs and trees (as in DirectShow or Gstreamer). You can create cyclic structures.

I haven't seen Intents. But I think that Stream Processors are closer to (and even surpass) command line pipelining.


Sorry, my wording was incorrect. I should not have used the word impossible, thank you for the resources you have provided, my point was more that with the standard gui, it makes things easier in a pick up and play way but any sustained time using an application, the tradeoff between being what people describe as "easy to use" and being extensible and streamable becomes very useful.


How many people actually program on an iPad or iPhone? I mean in any real sense and not something simple like SSHing into a unix box to update a config file. None. That's not the purpose of it. Apple has never implied nor mentioned anything like that should be or could be done on that device. It's built to browse the web and use touch applications.

I despise articles like these because they try to put products like these in impossible situations that suits no one else except to drive traffic. Yes your iPad is anti-programmer the same way that a wheelchair is anti-stairs.


I think the title is misleading. The author hints at a much bigger issue (I'm not an iOS user so I can't say how valid his point is but it's not about 'programming' per se.


I don't think the title is misleading. He spent over half the blog talking about how you don't have access to POSIX tools on the iPad. But the iPad isn't a Unix. It's only when you jailbreak it and add the unix tools do you even get to a commandline.

There are many applications that are GUI based and do good message passing. But they are on the desktop the iPad isn't that. It may share the same underpinnings as OSX but it is not a desktop bound OS, it is an appliance. He doesn't like the sandboxing but the sandboxing is also why it is secure.


"The more I use graphical interfaces (or anything that does not operate on text streams - commandline curses programs included), the more I am struck by how profound the loss of composability is".

Exactly this!

You've hit on the nail on the head here. Computing devices are inherently non-composable. Mostly because we, as software developers, have failed to create frameworks that are fully composable. The real problem is we still need to program.


     Mostly because we, as software developers, have 
     failed to create frameworks that are fully 
     composable.  
This is MBA-talk.

Big companies would like nothing more than for programming to become something unskilled workers can do. I would like that too, but from a different perspective.

Programming is not really like assembling Lego blocks. And if you pick any other industry, taking a close look at how new developments are made, you'll find that sharing in software development is a lot more common and a lot easier.

After all, when building new software, you don't have to write your own OS, your own compiler, your own debugger, your own libraries built on top, or even your own domain-specific framework. Well, unless you have the not-invented-here syndrome.

And what does "fully composable" mean anyway?

     The real problem is we still need to program.
Well, for specifications to get written, you still need to write. For designing a user interface, you still need to draw. For doing architecture, you still need to think.


Yes. My bad. I should have said "The real problem is we still need to code." I do agree with you that we will always need to design interfaces, engineer solutions, gather requirements, understand the systems being developed, etc. But we should not and will not need to code the solution.

What does "fully composable" mean?

A framework/architecture that is fully composable would be one that allows you to implement any solvable system without writing code.

As for the "MBA-talk" stuff... It is possible to create frameworks that are fully composable. If you would like, I can chat with you about such things outside of HN.


I still haven't seen a persuasive attempt to make graphical interfaces truly composable. Composing streams of characters is child's play conceptually compared to any kind of meaningful visual composibility. Just look at the api for a typical button widget in your framework of choice. How on earth are you going to expose this in a user-friendly way to the non-geek?


Photoshop is anti-unix and anti-programmer. Because I cannot program in it. Duh.

It's official—from now on I am anti-stupid-titles on HN. Will flag any submission with a meaningless title like this.

What does it mean being anti? It's either active stance against something or at least major disagreement.

I cannot see how iOS is actively fighting unix (being based on it) or programmers (being created for it and offering thousands of API for them).

Neither I see how iOS is passively anti-unix and anti-programmers. My car has probably a dozen computers but I cannot program on it. So what? My TV probably runs linux, and I cannot program on it either. Does it make it anti-linux and anti-programmer?

Why do some expect anything with cpu, display and storage to be full-blown programmers workstation is beyond me.


Photoshop doesn't have a scripting interface? I'm surprised.


The capacity to compose is giving way to the possibility for almost anyone to express his/her creativity in a concrete way. So maybe what you're saying is true, but then iOS is pro-artist and pro-creation. See that 10-yr old Taiwanese "programmer" for example.

And what are computers if not tools for creation? "Unix" and "programming" are means, not ends.


Eh, I can understand the outrage the author feels. I used to be so pissed off when people were contented with their iOS devices. But I have my Nexus One, I can hack the hell out of it, it is state of the art, and I don't really care what anybody else uses. If people find that trading freedom for convenience is acceptable, then that is their choice to make.


You used to be pissed off when consumers chose a product that fit their needs? This is an attitude I just can't understand.


It was just that these people were happy with having limits on their computers. I guess the difference in mindset is that while normal people want computers to be appliances, we want everything to be computers.


I hate to be that guy, but don't complain about how something isn't as awesome as Unix pipes and then use cat | grep | awk where you could have just used awk.


I don't get the article, at all.

Do you have a command line in your car to change the radio station? Do you expect to have the controls when being on a plane?

You want a device that let's you program? Buy a notebook. I hear the MacBook Airs are excellent.

Some of my friends are musicians and LOVE the iPad. Garageband on it blew their mind.

Does every computing device need to behave like a PC?


Don't attempt to reason with the self-righteous. Apple is EVIL, they are stealing your freedom, read the memo.


Actually, interoperability between apps is possible through things like URL handling and UIPasteboard. I am dreaming of the day that something like the UNIX toolchain can be assembled by sending data from one app to another like this. Enough app developers just need to get together and decide to make it. I suppose that you could not script it though, so it would still be more limited. But you could send data step by step through a series of apps in a chain, which could allow for creative interoperability.


I love composability as much as the author, but his opinion is, to put it kindly, not well informed. iOS has a myriad of mechanisms for sharing content within and between apps, bot from the same developer and from different developers, with and without prior agreement, and for composing workflows and experiences that are greater than the sum of the parts.

Some of these mechanisms are new, and the possibilities have not yet been fully plumbed. Some have been around for a while.

But iOS is just getting started. People said the iPad was a "read-only" or "consumption-only" device, but, over time, we have seen tools come out that are great authoring tools for various types of content. The same thing will happen (and already has happened, but is growing over time) with cross-app workflows.

As far as the title, "anti-Unix and anti-programmer," taking the first part, well yes it doesn't provide a built in command line for programmers, if that's what he means, although it does happen to be built on UNIX, and it benefits from the maturity of UNIX (and gives back, with OSS tools like LLVM).

On the second part, the tools it does provide for programmers are truly wonderful - the Objective-C language, the frameworks, an amazing compiler with static analysis (if you don't know what this gives you, the answer is pure joy), the development environment (though Xcode 4 had a rocky rollout, it has proven itself to be a sweet update), the patterns that are used and encouraged, and the architectural choices, are all very well thought out.

Programmers coming from other mobile platforms have told me that they left behind a lot of pain, and found a lot of power on iOS.

"Anti-programmer" is a very odd way to describe a platform that makes programmers who get into it happy with their coding experience, makes them money, and gives users a great experience while keeping their private information secure from abuses by ill-intentioned programmers.

I can't help but be baffled by where he is coming from. I love UNIX, the command line, and composing commands, but then I love cooking in the kitchen too. Different environments come with different tools.

If we want to compare just mobile development environments, iOS is one that has clearly been developed with a careful deliberative process intended to preserve good battery life, protect user data, and avoid painting itself into any architectural corners. There are constraints. There always are.

But iOS is growing, with very exciting (for programmers) features with every update, including deep stuff that goes down to the core architectural level of how your data flows in your program, in ways that promise a very, very happy life for iOS programmers on multiple core devices. The future is very bright for iOS programming.

The "anti-freedom" charges, the locking out of certain features, you get the same stuff on any platform. Just try to publish an app that abuses the Android logo in any Android market. Not that you would want to, but then, I wouldn't want to publish an app that steals user data, and that's exactly the kind of thing iOS does not give me the "freedom" to do... and that's a good thing. All the mechanisms for preventing abuse could have been done in a much more heavy-handed way, such as by being tied to a central email account that you use to authenticate to dozens of critical services you depend on in your life, that can be yanked and shut down at any time, with a very tenuous appeal process. As developers we are lucky to have a platform that has done things in such sensible ways.


You are missing the point. What the author wants is a composable toolbox. He knows it's possible, he can wield them proficiently, and the gains are numerous, but the system doesn't give him the means to do that.

You can't pipe iPad apps. You can't filter emails from a file using a single line of Objective-C. Development environments don't have the practicality of typing text in a shell for instant execution.

If I understood correctly, "anti-programmer" means the environment doesn't make use of his abstraction abilities, not that it is bad for developing software.

And hell yes, I would compose kitchen appliances if I could.


You can't pipe iPad apps.

Yes you can, through custom URL schemes.

http://handleopenurl.com/


That's not part of ios, that is a library. I can't add that to someone else's app on the device. Apple should integrate it into iOS.

The user of the device should be able to compose apps, not only cooperating app writers.


You could not be more wrong. Not only is it part of iOS, it is part of UIApplication, the class on which any iOS app is built. Why even bother commenting, if you're just going to make stuff up?

I'm guessing you didn't even click on the web link, which, you will notice if you do, does not lead to any library. It's just a site (which I've never visited before this myself either... don't need to, to write or use inter-app URL launches) that hosts an informal registry of protocols along with information on what they launch.


Getting kind of far afield, but that's exactly what the Android "Intent" framework is: any app can register handlers for any data/url. So your app now appears next to "youtube" when the user selects "share" on a video, etc...


It is part of iOS and has been since iOS 2.0. Every application developer gets to pick their own URL scheme and what any arguments passed to it do. This web site is just showing you the URL schemes for various applications.


The author wants to cool food and is disappointed with his toaster for doing a lousy job at it.


The "anti-freedom" charges, the locking out of certain features, you get the same stuff on any platform. Just try to publish an app that abuses the Android logo in any Android market.

Really? "Android isn't free because you can't 'abuse' the brand's logo"? That's the best counter-example you could come up with?


You mean besides the fact that you can't call your build of Android, Android without Google's permission? The fact that Google still hasn't released the sources to a 7-month-old "open source" OS? Yeah, Android is totally "open."


Would you like to have another try?

From what I glean from your comment, you equate Google's protection of it's name and the fact that one version of the OS hasn't been open-sourced to the iron-fisted grip of Apple and their control.

(by the way, if you want android source, here you go, courtesy of the folk who "don't open source their OS" http://source.android.com/source/downloading.html )

Control of branding is a stupid argument to base "is this free" on. Hell, even Debian, the freeest operating system ever, amicably forked firefox to iceweasel - the only difference being the name and artwork. Firefox is totally free for you to do anything with at all... except for the branding. It's to protect themselves from someone turning it into malware and distributing it under the official name. Branding is a stupid thing to claim as the be-all and end-all of whether something is 'free'.

Hell, even the BSD license that allows you to do anything with the code, sell it, free it up, throw it against the wall, even this extremely free licenses has branding requirements - Neither the name of the <organization> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission..

And even then, Android does allow you to modify the logo. You can have the logo in a police uniform (see android police) or on a skateboard (see cyanogenmod). You just can't put a derogatory version on the android market. How very onerous - clearly those are stifling conditions for developers to work under!

Compare to Apple who won't even give permission to use the word 'free' with their products (as in, they won't help you if you run a competition to win a 'free' ipad).

As for "yeah, totally open" - it seems to me that there's a ton of people modding android code because they can, but on the Apple side of things, where is the opened source... at all?

Why have you set a much, much higher bar for openness for one product but not the other?


iOS does not provide tools for programmers. At least not an Objective-C compiler. I don't think any modern OS comes with a built in C compiler though. Apple has provided these things for iOS


IIRC, if you have the .NET Framework on a Windows computer, you've got a command-line C# compiler, csc.exe, usually located in in C:\Windows\Microsoft.NET\Framework\vWhatever


GNU gcc? Or did you mean to say "mobile" when you wrote "modern"?


iOS has no concept of files (for the user). There's no common bit you can share between two programs. Of course, there are ways around this (Dropbox API for example). I'd say removing this concept has probably made iOS a lot easier to use.

The big danger with iOS is that it's also attack the open web itself. What if the catalog the author downloaded was only available in an iOS and android app and not on the web. That's when we really start to have problems.


So only programmers deserve nice things? Look, I get the danger the app-storification of software, and honestly it scares me more than Microsoft ever did, just because it's so appealing from a consumer perspective.

But barring the removal of direct distribution and the UNIX shell, I say more power to Apple in terms of re-inventing the consumer computing experience. What the author doesn't seem to understand is that great design and usability can never be achieved solely by adding features. Things need to be taken away as well. I can personally vouch that taking these things away is a huge win for someone like my mom who will never understand or be comfortable with filesystems. For her, the limitations of iOS take her from a place of constant fear to a place where she can actually explore and figure things out like us geeks take for granted.

It might be uncomfortable to think that tech devices are no longer primarily for geeks, but that chasm has been crossed, and we have to acknowledge that programmer devices are increasingly going to be distinct from the mass market devices.


> we have to acknowledge that programmer devices are increasingly going to be distinct from the mass market devices.

Actually, this creeps me out more than anything else, because where are we going to get new programmers? The prototypical childhood story of most of us is that of discovering a programming language on our computers and learning through experimentation. Will that be possible in an iPad world?

Though this brings me to an idea I've had for a while; a website where children can learn to program from their browser, since every modern browser has a JavaScript interpreter built in.


Not too worried about this personally. You read a lot of articles decrying the state of programming for kids these days, but I think it's all nostalgia. Programming is more accessible than ever. The only problem is there's way more distraction now, but the number of young programmers seems to keep growing.


  "Those days are dead and gone and the eulogy was delivered by Perl."


Does HN make the first character of the title upper case? It's iOS. IOS is Cisco's Internetwork Operating System. Please get it right.


> Does HN make the first character of the title upper case?

Yes it does.


Thanks :)


Have you seen http://schemes.zwapp.com/.json?page=1 There is the beginning of some hope: http://gigaom.com/2011/06/09/zwapp-builds-a-social-network-f... its a database of all the apps that use custom url schemes.

You can also use javascript bookmarklets to compose with any webapp (webpage).

Hopefully one day apple will expose a framework that will allow users to do in app user level scripting for all apps. And maybe even allow cross app scripting with very well declared uses by responsible / licensed people.


As a programmer who makes his living from iOS, and would not be doing so if Apple didn't show the world the right way to sell software directly from developers, I disagree with at least half of this headline.


Windows 8 has Charms, Android has Android Intents, and Google & Mozilla are working on Web Intents. Composability is on its way back at the mainstream user level.


I'm a marginal Linux script writer at best but I appreciate the point regarding composability. Still, I have to wonder whether composability is as relevant today as 30 years ago, not because it isn't a desirable attribute for programmers but because the thousands of developers that are churning out limited feature, limited purpose apps don't seem to miss it. Happy to learn if I'm missing something here.


or you need the thousands of one task app to mitigate the lack of composability.


The author clearly mistakes indifference for antagonism. Yes the majority of consumer devices are both Unix and programmer indifferent. One might argue that for the vast majority of people this is a good thing. And followers of the Unix way never really seem to run out of ways to scratch their itch anyway.


I wouldn't expect anything less from a programmer. But then programmers (as customers) are not the ones making Apple the most valuable company in the world. Comparing something made by programmers for programmers to something made by a consumer product company for consumers is pure nonsense.


I expect nothing less from a programmer. But then programmers (as customers) are not the ones making Apple the most valuable company in the world. Comparing something made by programmers for programmers to something made by a consumer product company for consumers is pure nonsense.


After reading this, it struck me as this is how intents could (and sometimes) work on android.

It's not perfect. You can't string together a bunch of apps. But it's nice when I click on a youtube video, the youtube app seamlessly takes over. Same for email, or reddit links.


Most people just browse to web. If you want a shell, it's way easier to use a linux thinkpad that has a proper keyboard and proper OS, as opposed to an iPad. But that's not to say that an iPad is not good for some things.


> "The more I use graphical interfaces (or anything that does not operate on text streams - commandline curses programs included), the more I am struck by how profound the loss of composability is".

Er, try Automator.app for an example of non text-stream "composability". Also: Quartz composer. Also: Max/MSP.

Oh, and text-stream composability might be the "unix way" in, but is not exactly programming, it is command line glue.

Composability in programming itself is achieved via other means, for example objects, widgets, components, messages, etc.


Composability is what makes something greater than the sum of its parts. The iPad, I found, is so constrained as to be useless. I know of very few people who are still using their iPad regularly after 6 months or so precisely because of this (and the star trek wow factor has worn off).

Ironically, composability is why I still carry around a 15-year old TI92 calculator instead of an iPad, even though my peers look at me strangely. Oh and it still runs on good old fashioned AA batteries :)


How many of those people you know with iPads are what we would call normal people?

I only ask because it seems to me that most of them wouldn't mind at all that one couldn't be productive on the iPad since surfing and a few games are mostly what they use it for.


80% I'd say.

It seems to go like this:

1) They bought it with a purpose in mind but it didn't work quite as well as they were hoping (khan academy, mapping, general use, recipes in kitchen, streaming video).

2) The games last a while but they are mainly novelty rather than immersive or lasting so it's back to the XBox.

3) then the web browsing gets frustrating as streaming video is choppy over WiFi and impossible over 3G and "what do you mean flash or java doesn't work" - I can't play facebook pool.

4) then the keyboard becomes frustrating when they try and do real work because it's not tactile.

5) then they switch back to their laptop when they have to do something like mail merge.

6) then the ipad goes in a drawer, followed by ebay about 2 months after they find it again.

I've seen this so many times across about 12 ipad owners now. 20% "software dev". 40% "tech enthusiasts". 40% "joe average".

Bear in mind this is just my observation.


My friends have had a very different experience.

It's much more comfortable to hold on the couch, at the cafe, in bed, or on the plane/car than being on a laptop.


IMHO I think that's wierd. I'd never consider using a computer in any of those places personally. I consider them all "downtime".


I think some of the point in this case is that the iPad is specifically not a computer.


It is though. What is it if it's not a computer?


> What is it if it's not a computer?

An interesting question. Is the iPad a computer?

Your average power-user (let's say programmers, Apple fanbois, Android users, and me) would say, "Umm hello? Obviously!" But your legions of average regular iPad users (grandmas, and your average college students) might not agree. But if you asked them what an iPad was, if it was a computer, they couldn't quite be able to tell you. "Umm, yes? But wait, it can't do so many other things."

This means, as a society, Apple has forced us to rethink the question: "What is a computer?" and "Is the iPad a computer by this definition?"


That is precisely it. Which brings me to the point here:

http://news.ycombinator.com/item?id=3003812

"We're slowly being led into paying incrementally for utility computing on a device we actually paid up front for".

If it's no longer a computer, it's an open market to exploit. We are consumers, not users any more.


I really don't understand your point. How is any of this to the detriment of the average user who uses the iPad to browse the net/read ebooks/watch movies/listen to music/as a digital photo frame? The average user doesn't need to use the iPad as a computer. If the problem is pricing, then that indeed is an issue with tablets, but then Apple's products have always been high priced.


It's at the detriment of the user when the iPad is no longer vogue and they wish to retain their books, movies and music.


This is close to my experience. I still use it but less and less, the laptop is so much more flexible and powerful and really just as convenient around the house, even more so at times since it stands up by itself. The big win for the tablet form factor is as a book reader and for traveling because of the great battery life.

But considering how many of these things they continue to sell I don't know if these anecdotes really add up to data. It really is permanently replacing a computer for a lot of people.


It's a fair point.

I'm looking out for small-form-factor Windows 8 devices which are hybrid tablets (much as the ThinkPad X61 but less clunky) and have 10 hour+ battery life.

I'd argue that there is no dedicated tablet market then.


  > then the web browsing gets frustrating as streaming
  > video is choppy over WiFi
Ah, those magic frie^H^H^H^H iPad users. Since when web browsing is all about streaming video, and since when it is choppy over WiFi?


Taking the top 100: http://www.alexa.com/topsites:

YouTube, BBC, Xvideos, Xhamster, Pornhub, Youporn, Dailymotion, Netflix...

It's always choppy over WiFi in London from experience as there's so much interference from the amount of WiFi networks around and contention from the overcrowding.

(for ref, I borrowed an iPad for a week and played with it).


"It's always choppy over WiFi in London from experience as there's so much interference from the amount of WiFi networks around and contention from the overcrowding."

Something that, magically, Manhattan, say, has managed to avoid.

Oh, and your experience is "borrowing an iPad for a week".


Lucky for Manhattan.

Borrowing something for a week is a good way to find out if it suits, which it didn't. The person I borrowed it from was one of the people above who have discarded it. I gave it back as I discovered that it could be harmful.

Better than marketing-spiel and 10 mins playing with one in the Apple Store.


I would like to buy your friends' iPads if they are not using them. Please have them put them on ebay or craigslist.


BREAKING NEWS: iOS Was Not Designed for Neckbeards

Full story at 11


iOS is anti-Unix and anti-programmer?

It must be why Android's trying so hard to copy it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: