The Moderate's Position on iPad Openness
al3x.net
al3x.net
I don't get how one would feel less strongly about this point than the others. To me, the notion that smart kids would stop tinkering with things never seemed like a real threat. It's more fun to tinker with things when it's against the rules, anyway. My concern has always been the long term implications of embracing this closed app distribution platform.
I've read plenty of arguments for and against it. Inevitably, I am left with a sinking feeling in the pit of my stomach. Yes, I understand that this gatekeeper system could help keep users from hurting themselves. But Apple has also shown that it is not just looking out for its users — it's also being anti-competitive, namely with its decision to block new Google apps.
I've seen people try to argue that Apple is in fact very open because it includes Safari, which is HTML5 compliant. But I've yet to experience many HTML5 apps that are as snappy or easy to use as their native counterparts, and it seems like 'native' will continue to evolve faster than 'web' for quite a while.
I bought an iPad. I really like it, and was thrilled by how quickly my parents learned to use it. But I can't shake this feeling that the App Store's entirely closed ecosystem is a bad thing.
* There are APIs that date back to 2.2.1 (at the very least) that haven't changed but won't be made public. And these are APIs that - nearest I can tell (and this is with a rather large amount of testing) - work perfectly fine. Or, better yet, APIs that have existed on Mac OS X since 10.0 (and likely taken from NextStep) still being considered private! (Well, until very recently in at least one case; NSAttributedString was made public without any UIKit additions)
* The docs suggesting the use of private APIs located in PrivateFrameworks. (They still suggest this, by the way.)
* This one is probably my all time favorite: All but calling the task the API performs does trivial and pasting a few lines of code (using APIs that have existed publicly since 2.0) that can reimplement the function in the report, rather then make the API public.
If the API is that trivial to do and the engineer behind the radar is so sure that the code won't cause any problems that they can tell people to use said code, then, why wasn't it simply public in the first place? Someone obviously felt it was useful enough for Apple to have..
* Reimplementing something that the system can already do. In what is, in all likelihood, the exact same way the system implemented it; in a lot of my cases, I end up (unknowingly) creating methods and vars with the same names Apple used for their methods and ivars.
Yes, there are legit reasons to keep APIs private. Big Hacks™ to get a release out the door do happen. But, in my experience with the iPhone/iPad (which is, admittedly, one sided towards what I've experienced), Big Hacks™ and things disappearing between releases isn't the case and keeping many of the APIs private is more of a hinderance than anything else.
And FWIW, relevant radars have been filed for many of these issues as the situation arose, mostly to what feels like an unvarying degree of futility; Radar doesn't get called a black hole for no reason.
But apparently at least iBooks (and maybe iWorks?) on iPad use private APIs. That doesn't seem fair at all: selling side-by-side with 3rd party competitors on the store that can't do the same things Apple's apps can.
For example, on an Android phone, by default you can only install apps from the Android Market. However, by checking one checkbox in the phone's preferences, you can install non-market apps. Those might be apps you upload using the Android developer tools (if you're a dev), or you can download and install apps from a website, or you can use a third party market (like SlideMe).
The 'average user' still might want or need Google Voice, Opera, or something she needs for work. She sees it on someone else's phone, she asks how you get it. The tell her: Go to preferences, untick 'allow only app store apps', click OK after scary warning, download app to your PC, follow installation instructions... The iphone just got a bit more difficult. People outside of the top 5% users will be exposed to this stuff, on their phones or on other people if it is available and semi-sanctioned.
Precisely because Apple is heavily censoring and annoying developers in the app store, average users are likely to want non-app-store-apps. Maybe even more on the iPad.
This power user who is a programmer vs average user who log in to facebook via readwriteweb is not really a useful description of the world. Most iPhones are in in between hands.
And a bit more dangerous. Malware lies not far down this path.
I think Apple is even more concerned with malware than they are with the difficulty part.
Now, I'm not saying that's squarely because of the diligence of the reviewers. Most likely, it's just as much or more because there's a paper trail from every app to its publisher, a long with the fact that someone is at least going to make a cursory review of the app before giving it the 'OK'.
One of these, or all three in combination is keeping malware out of the AppStore. Whichever, the end result is that the AppStore review process is stopping malware extremely well.
Those non-functioning spam-filters also kept spam out when all you had to filter on were the words 'real estate,' 'viagra,' and 'cialis.' Lo and behold though, the world does not stagnate and those same filters are woefully inadequate today.
> Most likely, it's just as much or more because there's a paper trail from every app to its publisher
There are marketplaces out there where a person's entire identity (not just their credit card number) are bargained and traded. How closely does Apple monitor the information that is given to them? Does Apple continually pull credit reports on people to make sure that their information does not turn up stolen?
> a long with the fact that someone is at least going to make a cursory review of the app before giving it the 'OK'.
That cursory review means nothing. There are many apps which are nothing more than wrappers around websites. How long does it take to to build an app that is such, but waits for a trigger (at some point after the app is approved and has an installed base) to enabled its malicious features?
None of this even addresses possible zero-day exploits in apps that access external content (email worms, browser exploits, etc). If jail-breakers can run unsigned code on the iPhone, so can someone that exploits an app.
This, alas, is why I'll probably have to keep buying computers instead of just the iPad if I want to run emacs or other user-scriptable apps. To the extent that it is possible, Apple wants every line of code on the phone to be traceable to an author and revokable in case of trouble.
The exception is the web, of course. Apple's browser supports everything; if you want arbitrary power, write one of those web apps we've heard so much about for the last decade! We who aspire to use emacs on iPad now need an HTML5/JS version. It's like being boiled in our own Kool-Aid: people have been claiming for years that web apps can eventually replace all other apps, and now the rubber meets the road.
The truth is that Apple does it to maintaing market control on their software, not for some altruistic "malware prevention" goal.
Great article, Alex.
This is not to distract from the fact that the Ipad is pretty amazing, and i think anybody who engages with technology, and is able to look beyond his own personal passions and biases will concede this is a ground breaking elegant device.
There is much to like about this brilliant device. but for me, who relies (and prefers) Linux, the reliance on Itunes is a complete no for me, and many other aspects are giving me pause. The centralized approach Apple projects as a philosophy is very troubling to me, on level that goes beyond just tech. it gives me the creeps (while Google still at a level that merely annoys me and keeps me suspicious)
Open source models largely failed (don't bite my head on this one) to gain a real substantial piece of the desktop environment, however, on specialized devices such as pads and phones the platform demonstrates stability and capabilities that give it a real chance.this approach is by and large promoted by Google, and it certainly has the potential for a very strong showing.
in terms of stability and capability of the engine we can argue on merits here and there, but the end user experience is largely successful when there is a tight coherence in the metaphors used, that is the winning ticket.
Apple understands this very well, Open source designers need to figure out a better way to make the metaphors used coherent, it remains to be seen if its possible in this environment. Style is not trivial
1. Apple should not charge to put applications you’ve written onto your personal iPad (or iPhone, for that matter). If you purchase one of these devices, you should be able to install software of your own creation on it without any intervention or approval on Apple’s part, other than creating a free developer account. Essentially, take today’s iPhone/iPad developer program, and make it free."
This is key to me. The day Apple allows me to program whatever I want and deploy to my device without giving them an annual "developer fee", I'll buy an IPad, ITouch and MBP.
I am no Open Source Zealot and am perfectly fine with the closed OS and somewhat ok with the AppStore policies, but I find "developer fees" a very patronizing idea, specifically when I have to pay it every year! wtf! if I paid for the damn device. why should I rent my right to develop on it with 20% of the device cost annually?!.
So hopefully someone in Apple will listen people like Payne and revoke the developer fee (at least the "annual" bit).
The App store process seem to break the open source model for no obvious gain. I can't modify some app to suit myself, my company or my family. I can't find a bunch of willing collaborators. Everyone has dollar signs in their eyes and is forced to invest in a Mac, a yearly fee and dealing with bureaucracy to get releases out. This is probably accidental but I want the same process that creates all the code I appreciate on my other computers to be at least tolerated, and preferably encouraged on my mobile ones.
I thought we'd left the shareware and freeware days behind, yet here we are again.
The main problem with any company that releases a piece of software and demands that you pay for it is that the company is trying to create value that isn't there. Information, be it code or anything else, is not valuable because it isn't scarce; I can get the number of copies I have of any piece of data arbitrarily close to infinity very easily. Apple, however, denies this simple fact and decides to use copyright law to extract some artificial value that would not exist under true free-market principles. Granted, Apple is not the only company that does this, but they're not more moral than Microsoft or any other corporation that uses these same tactics.
The main problem with this imaginary value is that it's very difficult for companies to adopt open-source licenses when they don't want to lose their steady stream of revenue. Of course, customers should be free to pay for code if they want, but they shouldn't be coerced by government-granted monopolies in the form of copyright law.
I can't seem to find any of these applications (I'm not sure how to browse for iPad specific apps in iTunes). Does anyone know which apps he's talking about?
given that, i don't think i would be interested in running any arbitrary program on it. i would prefer my computer for doing that. apple store thus becomes more of a alternate clearing-house of published information. i am probably more concerned about some fundamental erosion of fair-use-rights here than anything else, as building strict copyright controls on such a device is probably much simpler .
if content-providers/distributors find ipad to be a viable platform for disseminating media, then copyright would be back with a vengeance. libraries / physical books might then be passe...