iOS is anti-Unix and anti-programmer
blog.dbpatterson.com
blog.dbpatterson.com
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...
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.
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.
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.
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.
> 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 ?).
> 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.
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)
> 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.
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.
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.
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.
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.
You should've just said 'I love Big Brother.'
> 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.
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...
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 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.
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.
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.
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.
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.
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.)
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.
> 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
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.
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.
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.
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.
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.
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".
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.
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.
Usability can't explain all the control. There are other reasons.
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.
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).
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.
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.
"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
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.
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.
Um... it's not really irony if you do it intentionally...
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.
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.
- 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.
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.
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.
"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?
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.
"The output of the last action can become the input to the next." - http://en.wikipedia.org/wiki/Automator_(software)
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.
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.
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.
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.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.
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.
And what are computers if not tools for creation? "Unix" and "programming" are means, not ends.
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?
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 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.
Yes you can, through custom URL schemes.
The user of the device should be able to compose apps, not only cooperating app writers.
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.
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?
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?
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.
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.
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.
"Those days are dead and gone and the eulogy was delivered by Perl."Yes it does.
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.
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.
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.
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 :)
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.
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.
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.
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?"
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.
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.
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?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).
Something that, magically, Manhattan, say, has managed to avoid.
Oh, and your experience is "borrowing an iPad for a week".
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.
Full story at 11
It must be why Android's trying so hard to copy it.