Steve Jobs Has Just Gone Mad
whydoeseverythingsuck.com
whydoeseverythingsuck.com
But this is different. Apple telling us programmers not to write source to source compilers, is telling us to ignore a totally fundamental technique in computer science. They're telling us not to be too clever, which us programmers don't take kindly to.
The "originally written" requirement is different because it's not something that Apple could restrict by means other than by telling us, "you can't do that." It's kind of like saying, "Don't program in a functional style", or "Use a model view controller architecture." Uhm, excuse me? I'll decide that for myself, thank you very much!
It's kind of like saying, "Don't program in a
functional style", or "Use a model view controller
architecture." Uhm, excuse me? I'll decide that for
myself, thank you very much!
I have some more examples, it is also like saying: The easiest thing to do, is to simply refuse to
open any documents created with Microsoft Office
and Apple iWork, and then to send a short, friendly
email to whoever sent you the document, asking them
to send it again in OpenDocument format
Source: http://www.fsf.org/news/campaigns/opendocument/rejectLanguage to language translation, that's core. that's fundamental to CS.
The most popular virtual machine ever is the regular expression interpreter. It's such a, fundamental thing. Nothing to do with a particular set of hardware or instructions, just the concept of interpreting match, split, jmp, and char.
I'm having a real hard time understanding how to write C without unions of tagged structs... Maybe that's allowed? I just don't get where one language ends and another begins. how much can i abuse the macro preprocessor? have you ever seen the bash source with BEGIN END blocks? it's sick.
Of course #define is nothing compared to c++ templates. If i just write scheme as partially applied templates, am i cheating?
it's pretty nucking futz.
Steve's not telling you how to write your code. He's telling you how to write code if you want him to sell it for you to his customers.
Or, if you wanted to open your own chocolate covered bagel store in the only mall within 30 miles, does the mall operator have to lease you space?
As a developer, I find the situation painful, but I think Apple views the appstore as their mall, and they want to control the image of their mall by holding the store keepers to a certain standard in order to promote a certain customer experience.
And how does this change have anything to do with customer experience when they already vet customer experience when the app is submitted?
developers for the iPhone are a dime a dozen. But there is only one Appstore for the iPhone.
/me wonders about Squeak on the iPad.
Found it: http://isqueak.org/HomePage Developer signed goodness!
I think application developers are most used to thinking of users as _their_ customers. But you're right, that is clearly not what Steve is thinking.
Yesterday it was access to the filesystem,
things that run in the background, etc.
No, yesterday they did add the things that run in background.
Flash compiler being a fundamental technique in computer science? Please…When you say Apple which comes up in people's mind first, the iPhone, or Clang? Seriously.
When you say "compiler" which comes up in people's mind first? I'd bet it's "WTF?".
If you say Apple, even developers are going to talk about the iPhone, iPad or Macbook Pro before they get to any of that stuff.
If you say compilers and they somehow get to LLVM, how is it an Apple project? Because they hired some devs? That started years before Apple got involved. Is RoR an EngineYard project because some guys at EY worked on it? Is linux a google project because they hired some guys to work on it? And I highly doubt people are going to get all the way down to clang.
If people mention Webkit, few forget it is a fork of KHTML first.
If developers talk about the Mac OS X kernel they're going to at some point bring up BSD.
Apple is for open development only when it benefits them. And they are bad partners in it. They write bad software in general for other platforms.
We're not losing the forest because of the tree. It is a forest of trees that piss people off, and this just lit a match to the whole thing. If you found a couple flowers in there you like, it doesn't exonerate the forest. And frankly most of your examples are reasons to DISLIKE apple. Did you read Webkit's last release?
Why should I care, who started what?
In that case Adobe should be forever grateful to Jobs and Apple, because they helped them at the start, by suggesting business models and investing heavily while working on the project for LaserWriter and then creating the whole desktop publishing thing. Adobe's Illustrator has its root in the work on Postscript, which was initially developed for Apple's LaserWriter. Photoshop started as exclusively Mac product. Adobe's (originally Aldus') Pagemaker at the start also was developed with Postscript and Apple's Laserwriter in mind. By the same logic how is Flash a Adobe's product? Because they bought Macromedia?
And I highly doubt people are going to get all the way down to clang.
What do you mean? It's open source: http://clang.llvm.org/ They write bad software in general for other platforms.
Just like Flash player performs wonders on OS X and Linux, and Photoshop for OS X has very consistent UI with native controls. Did you read Webkit's last release?
What's about it?Clang is some crazy engineers at Apple. Apple's new policies are straight from the top.
… Apple has been shutting off fundamental techniques
in computer science since day one.
And it does not name "iPhone team", it says Apple. What I say is that the work Apple is doing on LLVM, Clang, GCD, OpenCL, Webkit, etc. proves otherwise. I would gladly forget what's going on inside Apple, but first, I don't know, and second, this was addressed to some commenter talking like as if he knows (which he don't).
So, thanks's for advice, but be advised to read the thread before commenting.But what is really incredible is the fact that apple enforces that at a moment where a whole lot of people's businesses depends on the features they just forbid. Every app developped with some sort of language layer is concerned, and there is a lot of them.
This is basically saying to every people doing business WITH them, we don't care about you, you're expendable. We don't care about your business and if something bothers us in the slightest fashion and you're in the way, we will drop you out.
I never developped for the iPhone. Thought about it sometimes. Unless things change, i never will.
Apple telling us programmers not to write source to source
compilers
Nice spin. But in reality Apple is telling that you cannot use such compilers to make iPhone apps. You are still free to write and use them elsewhere.Someday, though, as Apple's strategy continues to unfold, and as it continues to tighten restrictions on others' ability to develop for each device, to use its dominance of one device (e.g., iPhone) to leverage market share in others (e.g., iPad), and to exert significant control over a range of devices that are nominally independent but actually inter-connected, the idea of "platform" will blur and Apple will likely have to own up to the antitrust police, just as Microsoft did with respect to the desktop OS market.
I am not an antitrust lawyer and the above may in fact be naive. Instinctively, though, the apparent arrogance behind Apple's methods of throwing sharp elbows toward competitors has all the feel of what Microsoft did in the 1990s as it used its desktop OS leverage to favor MS Office/Internet Explorer, etc. and to harm independent software vendors trying to market their apps for the PC market. Ditto for IBM before that. And, while we are at it, though no two people could possibly be so different in so many ways, it would appear that Steve Jobs has drawn his competitive (or anti-competitive) inspiration right from John D. Rockefeller, who was a control freak over his markets and who often used such control in even ruthless ways to stifle competition.
We are nowhere near the stage where Apple can seriously be declared a monopolist in any relevant market but Apple certainly seems bent on pushing the limit as it goes along its path on its quest for hegemony.
What's worse, essentially developers are now told that they have to put up or shut up, since Apple has the apps market cornered, and their app store full of apps.
Developers take heed. Every time you write an application for Steve's app store, it's just one more weapon that steve can and will use against you and every other developer when he decides he has a reason.
Nobody saw this one coming, and I shudder to think what's next.
One more thing: what about apps that have been already written with some translation tool? Do the developers have to rewrite in Obj-C or abandon altogether? How is this in the interest of the users exactly?
Surely you jest.
Lots and lots of people saw this coming; they were just dismissed as radical idealistic free software hippies.
No, lots of people did. People dismisses us. Oh, we might not have specified exactly what they were going to do, but essentially it turned out that way.
Remember the Bikini Apps, and everyone who dismissed it and applauded Apples efforts? These people should be applauding yet more restrictions.
Look, Apple has already demonstrated it want's control over everything. This means even the web. Open standards doesn't mean anything. WebKit is their ability to control it. Open standards is nice, but just look at what happened with Flash. The only thing they are doing is using open standards to get to the next step, and then locking it under their own key. This has been going on for a long time. It's not new.
iHTML isnt a joke. I guarantee you Apple wants control over the web. If they could do it right now, Safari on the web would be restricted much more than it already is.
People might still call me alarmist, but so far, I've been proven right, and they've been proven wrong.
If you need to "originally" write your code in Swahili, while listening to Milli Vanilli, while reclining in a patch of mud, and then you need fifty oompa loompas to translate the Swahili into C, that is none of Steve Jobs f#ck^ng business.
Seriously: if Barnes and Noble decides it only wants to sell fiction by authors whose last names begin with "Q", wouldn't we just consider it a bone-headed move, and not the cause for moral outrage?
The iPhone is not the only smartphone on the market, and it's never pretended to be an open platform.
I really can't see why folks are getting their knickers in a twist.
Your use of demeaning language doesn't make your opponents wrong.
wouldn't we just consider it a bone-headed move, and not the cause for moral outrage?
It's both. Legality != morality. A business practice can be perfectly legal but immoral. Of course you can say anything Apple does is moral because it's within their rights, but there are also other ways of assessing the morality of actions, e.g. weighing their consequences.
A store-owner decides he wants to put an arbitrary restriction on the types of items he sells in his store. Let's say, perhaps, that a grocery store decides to stock only Organic produce.
What's the moral harm?
The owner of a store has a moral obligation to sell all possible goods in that store?
If I have a grocery store, I need to sell every possible foodstuff? I'm not allowed to decide that I want to sell only Organic produce?
But the analogy actually supports your position: it's clear that there are other app stores out there.
Anyone who has invested in a language layer technology can't do that. You can't take your Flash -> Objective-C compiler and sell it anywhere else. Apple just forced you to lose all of your investment for no good reason.
It's like offering communal grazing areas. A bunch of ranchers decide to move their cattle down to your area because it makes economic sense at the time. Once they arrive, you put up a fence and say fuck you. Now they spent their time and money moving down there, and have nothing to show for it. Sure you didn't have a contract but they have real material losses due to the changes in basically, the TOS on your grazing land. Catlle might die, ranchers might not be able to afford moving them back and go out of business. The same applies with Apple. I would hate to be a startup in this space right now.
If the ranchers decided to move their cattle to an area in the hopes that they might find communal grazing available, well, they took a risk, and lost. That's business.
Sellers of non-organic produce have plenty of other places to take their goods, and developers of applications for mobile devices/smartphones have plenty of other devices they can develop for.
Did you read the original comment he was responding to?
My last name does happen to start with a Q, and I happen to like Barnes and Noble.
So WTF would I let them stop me? Yes, I would be very much PO'd about it, and make a hissy-fit.
Let's say, instead: Barnes and Noble decides they only want to sell non-fiction books.
Sure, it's arbitrary, and it's probably bad business, but: it's their store.
Now, suppose you are a fiction writer.
Still going to throw that hissy fit?
No, a better analogy is if Barnes and Noble decides they only want to sell creationism books.
Science Based authors aren't owed a living by B&N, and would have to sell their books elsewhere.
That depends on if B&N is the only way for you to get books.
if you want to sell your app in my store, it's my business.
I agree with that, and if that's all it were I couldn't see people being outraged. But there's practically no other way to get apps on an iPhone.
Of course, the story is different in a monopoly situation. But that's clearly not the case here: there are a number of other mobile platforms available to developers.
Now they are making this unilateral change as a tactical move against a rival, seemingly unconcerned about the collateral damage. It's one thing to make a "bone-headed move." It's another to make such a move while hurting other 3rd parties in the process.
Even totalitarian states have an interest in keeping up the semblance of the rule of law. Doing so keeps commerce flowing. Going by this analogy, I guess you have a point: we shouldn't be surprised.
So, does that make Open Source licensing analogous to the rule of law and constitutional government?
Okay.
We are the ones being rejected and leaving the platform.
Look at what is being rejected: our personal ideas of the best ways for us to do work, our molding of the computer to the vision in our head.
If they told Van Gogh he had to work exclusively in the medium of gummy, he wouldn't take it quietly. After he cut off his ear and threw it at Steve Jobs, he'd pick up his paints and move to a new country where they let artists be artists and programmers be programmers.
Yes, we know this is boneheaded by Apple. And yes, in a just world, fiery judgment would rain down on this business strategy.
We are trying to persuade others of our point of view. Legality doesn't enter into it. We want understanding, we want minds, we want defectors.
The thing is, they can easily back off when they will have to: today, most app developers won't snob the iPhone even if they're treated miserably. If they can't afford Android+iPhone portability, most of them will choose iPhone-only over Android-only.
If/when a competitor starts to be attractive enough to represent a treat, Jobs will announce a big change towards a more developer-friendly policy. Today, he thinks he can get away with being a dick, and he's probably right IMO.
Apple would be well advised to take note of the emotional sea change that helped sweep IBM and later Microsoft from their all powerful positions.
Being hated is not a good position to be in for anyone, regardless of how powerful they may be at one point in time.
Currently, business decision makers are likely looking at the market penetration/mindshare of iPhone vs Android.
However, in the coming months, I suspect we'll see a few points which steer businesses away from the iPhone.
1)you'll be able to develop apps to run on Android, WinMo 7, RIM and Palm, all likely using a single code-base and hooking into a framework which manages the different device api's (such as PhoneGap, or even Flash).
2)the overcrowding of the Apple store means as a business, you are trying to compete with thousands of others, while the other stores have less apps (at the time being), and more overall users.
The AppStore is like a huge mall with 50 million people and 150,000 stores.
The competing stores is like a mall with 100 million people, and only 10,000 stores. I'd much rather be one of fewer stores in a larger market, than the one of many in a smaller market.
Their business practices gave us a reason to hate them; their low quality products gave us a reason to not buy them (many people hated them before that as a company; the lowering of quality and the rise of competitors gave them the impetus to switch away losing MS market share).
I'm not sure if the former was causative of the latter, but the likelihood of that being true is high.
They have alienated an entire generation of hackers and that's why in spite of all the money that can be made on their platform the interesting stuff happens elsewhere. Apple is on route to follow them, once the hype around their glitzy fashion items subsides.
IBM has been swept because, as a big hardware vending corporation, they refused to see that hardware was doomed to commoditization(1), and that software was what would matter in the future. They never enjoyed goodwill, and never needed to.
Microsoft took off because they've been the first and most ruthless hardware commoditizers. Then they maintained their position thanks to the interlocked Office / Windows monopolies. They didn't need any goodwill to get there, only IBM shortsightedness. And apart from XBox, which is far from being a monopoly, they consistently failed to sweep any market that wasn't closely tied to Windows/Office, maybe in part because they don't know how to build sympathy (who in his right mind would want to be labelled a Zune fan?)
(1) Interestingly, Xerox failed the same way to become Microsoft: although they invented the modern GUI and workstation decades in advance, they never truly tried to turn it into a cash-cow, because they kept seeing themselves as photocopier makers.
I'd agree with you, except for one thing. I developed an enhanced version of my app for Titanium with many new features. The idea was that I would be able to quickly upgrade my iPhone app, and as a bonus might build an Android app. Now that this has happened, I've already invested all the time and money to make the conversion, and I'm not back-porting to Objective-C. I'll release the new, significantly better version of my app on the droid. If Apple comes to their senses, I'll release it there too.
If you stick to the basics, as most applications tend to do, it's not even hard.
Here's an irony: my Windows XP tablet is now where I run my Open Source apps and where I have the freedom to install whatever I want. Newer, slicker Android tablets may take its place.
Take a pause and think about what that "originally" really means.
Developers are not free to use any tools to help them. If there is some tool that converts some Pascal or, Ruby, or Java into Objective-C it is out of bounds, because then the code is not "originally" written in C.
Yes it is "originally" written in C - when the Objective-C compiler first sees it. There's nothing in the quoted clause from the Apple T&Cs that says "written == written by a human".
I really don't think this clause is aimed at code converters, but rather at e.g. run-times that execute byte code - see also "(e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited)". You don't link to an API until either compile- or run-time. Making an API call from a piece of code that is then converted into C is not 'linking to APIs through an intermediary layer'.
OK, it still sucks, but it seems to me that both this article and the other similar one on here at the moment ("Apple takes stance on consciousness", http://news.ycombinator.com/item?id=1252438) are based largely on a misinterpretation of the use of the word 'originally'.
I thought that was already forbidden. If so, why the change, if not to stymie thins like Adobe's Flash-to-iPhone converter?
The amount of plumbing to be ripped out is pretty extreme given that you don't have access to large bits of the OS.
Not to mention Torque is not written with OpenGL ES in mind - so you'd have to rewrite not only plumbing, but some core graphics code.
To make it an Apple-compliant app, porting Torque (or most desktop engines for that matter) is simply not feasible/worthwhile.
Unity is almost surely written in C++, but game logic is done in Javascript and C#, on Mono.
Hell, the most popular game engine of our day (Unreal) uses its own proprietary JavaScript-like language for nearly all game code. Other engines like Gamebryo leverage Lua extensively - to the benefit of both developers as well as consumers, who can modify the game (not an iPhone advantage, but still).
As an aside, it has some very interesting support for simultaneously running the same code in two network locations, with the authoritative version updating the non-authoritative ones after a network sync, to help eliminate some of the drawbacks of network lag. Also, modal behaviours (used for AI that needs to do different things when touched etc. depending on its state).
Of course, if this causes your users to seek refunds and you have already spent your earnings, that could get problematic.
Since he has come back, things have gotten much worse for partner relations and there is almost a continual barrage of news about Apple jerking someone around. I really think they could do better with a new CEO.
I seriously doubt the legality of this part of the contract, which only sets them up for more legal battles with Adobe (with MSFT and GOOG as supporters) which will bleed cash, create ill-will among developers and take the focus off of doing what Apple does that creates its value. If you are thinking of developing a good tablet app, are you doing to want to deal with Apple OR will you try doing it on the new HP slate?
In my opinion this is a strategic method to create optionality in case it needs to go into outright war against Adobe.
I don't like Objective C either, but I don't take it that far.
What about this: "I will use my mobile operating system prestige to put your mobile company out of business if you don't assist me in putting a competitor of ours, Adobe, out of the mobile app business".
The word "monopoly" doesn't add much. People could develop for MacOS back then when Microsoft did that, but nobody used MacOS. Likewise, people can develop for Android now, but nobody uses android.
And we have a disagreement about what viable mobile platform means.
For example, "Gameloft sells 400 times more games on iPhone than it does on Android." http://www.pocket-lint.com/news/29757/gameloft-cutting-andro...
There isn't much of a mobile games market outside the iPhone. Unless you want to develop children games for the DS. And then you would need to wear a suit to sign a contract with Nintendo. And guess what, they don't sign more than X contracts a year, where X is a very low number. So you could be out of luck.
The point is that if the iPhone is the most lucrative platform now, it is not in the best interest of the developer to put their eggs in only one basket. And markets change. So they should create demand in parallel in other devices too.
But to port to other devices takes time and money, two scarce resources, as you now.
One way they could be less dependent on the iPhone with minimum investment is to use a compatibility layer like Unity. Unity already works on the Wii, and will work on the Android and Xbox soon, with windows phone probably not far away. But with the new rules, that is not a solution anymore.
Also, it is ironic that Unity will work on Xbox but not on the iPhone. Don't you think?
And I didn't say they have additional responsibilities to the market at all. I was just making the case that to limit choice of your partners (and, therefore, your consumers) to kill your competitors is evil. It is what Microsoft did with OEMs and it is what Apple is doing with developers.
Is is perfectly possible to kill a competitor without being evil. The best example is Facebook. I don't think Facebook would ban a developer for using a Google API or a compatibility layer that make games work in Myspace too. They even allow multiple payment platforms!
I think the reason for the vitriol on this particular issue is that Apple is doing something that computer geeks don't think is correct, and computer geeks can't handle it when people do things "wrong".
And the 2nd statement could be applied to the whole Opera sueing MS over browsers in the EU recently, or even the IE/Netscape thing back in the day.
Honestly I think it is more people don't like being told they have to waste time and money giving up projects/products they started and learning the tools Apple is arbitrarily forcing them to use. That is money out of people's pocket and you will find that pisses people off a lot more than anything else.
Acting anticompetitively to support a monopoly is what is against the law.
If the DOJ is up on Apple in 10 years, it'll be because their policies from today are so successful that they come to absolutely dominate the market.
Acting anticompetitively to support a monopoly is what is against the law.
If the DOJ is up on Apple in 10 years, it'll be because their policies from today are so successful that they come to absolutely dominate the market. In which case, it would have been practically actionable for them not to have served their shareholders by pursuing those policies.
But MS doesn't care how you compile, just as long as the bytecode checks out safe.
Please, keep in mind that if the successful product is effectively a monopoly, then this conduct is not only immoral. It's also illegal.
As long as Apple stays #1 in developer mindshare, all that will happen is some pissing and moaning (as we're seeing). It's way too expensive to stand on principle and jump ship for Android.
But Apple has managed to snatch defeat from the jaws of victory before. If the day ever comes (again) when they desperately need loyal developers, this bit of contractual bushwhacking will be remembered.
Exactly.
In other words: no, you can not use it. It is verboten.
Imagine what would happen, if Microsoft had veto over Lotus 123, Ami Pro, Netscape, Apache, Mozilla, etc.
http://en.wikipedia.org/wiki/Stac_Electronics
... or one of the many other companies that produced something that Microsoft decided would be better if it was bundled with the OS.
I'm not defending Apple here, but come on, be realistic.
You can still develop and sell a competing application, you'll just get less traction because people already get an application with similar functionality for free.
Apple has killed off a whole class of developer tools with this and stated that if you don't use the software they want, they'll revoke your license.
An equal analogy would be MS revoking the right to sell Windows software for anyone that refused to browse with Internet Explorer.
if all microsoft did was write a clone of stac's product and bundle it with the OS, then that would be questionable, but not too bad. But no, what Microsoft did was pretend they were interested in buying Stac, gained access to all their source code as part of their "due diligence," then "changed their minds" and created a nearly identical product "from scratch."
Stac was able to get the courts to agree that this was dirty pool, and it cost Microsoft over 80 million dollars.
Perhaps for some values of "ever".
Now, seriously, this is a boneheaded, monopoly-exploiting, move.
If Apple wanted to one-up Microsoft, they would demand that every cell-phone operator that sells iPhones to drop all Android phones. On a second step, they would demand telcos to stop selling phones from manufacturers that offered Android-based phones.
That would be a truly Microsoftian move.
There are possibly some anti-competitive issues here, and if Adobe has any chance of getting around this rule, that's the way they will probably go. Good luck to them, but I'm not holding my breath.
OK, I'll bite. What's the correct interpretation, according to you?
Maybe this will get different when Apple owns 70% of the smart phone market. Right now, people are upset about not being able to use their preferred tools on the coolest phone. But they have no inherent right to develop on the coolest phone.
They're not going to do everything right.
Put any OS of your choice, except iPhone, in that sentence and it sounds pretty darn insane to me.
Apple can get away with this for now, then when WinPhone7 comes out (or somehow they get some real competition), start backing off if they need to. In the meantime, they'll build up more developers that have developed skills in iPhone only tools.
It's complete BS. If I want to write it in (insert language here) and compile it into a compatible binary thats my choice not theirs. If I want to write it in Actionscript and compile down to objective-c who are they to say that I cannot?
"There are possibly some anti-competitive issues here"
really you think? Apple anti-competitive.. Naw </sarcasm>
Apple is worse then MS ever was. I had started to develop a program for the iPhone and then stopped a while back when apple started screwing over their developers. I am really glad I decided to switch to the android when I did.
You pays your money and takes your choice (or visa versa...)
I'm pretty sure the agreement says nothing about what kind of keyboard you should use :) But if Apple wanted to specify that in their license, that's entirely within their rights.
Please feel free to cite some examples of people saying it's illegal for Apple to do this. You won't find any, because that's not the argument at hand. There's a difference between complaining about something and saying that it's illegal.
"It is acceptable for Apple to sell its hardware/software under any kind license that it wants to, as long as it isn't illegal."
I was a top level post in this thread, responding to the article. Go read the article and then go and read my top post. The topic here is "Is Apple Insane." (Answer: No. They have valid strategic business reasons for doing what they are doing.) and "Are these policies acceptable." (Answer: Certainly, what they are doing is not illegal, and appears to be working successfully for them.)
Do you have to like it? No. Do you have to put up with this awful, sorry treatment. No. You can take your development efforts elsewhere. Develop for Android or WindowsWhatever.
I can't. Except as a land- and power grab in the "all your toil are belong to us" category.
I can understand that Apple attempts a strategic move to avoid becoming just another platform for Flash.
I can understand that Apple may want to cut down on the number of submissions, and are assuming that those that go to the trouble of learning Objective-C/C/C++ are the "real professionals", as opposed to those who once spent a weekend learning Flash.
I can understand that Apple wants a minimum quality to their apps and are not happy when the exact same code is cross-compiled to a dozen devices: The code would probably be developed to the smallest common multiple, would look and feel bad and would not play to the iPhone's strength. In short, it would make the iPhone look bad, and users would blame the iPhone and Apple.
I can understand that Apple doesn't want a 10kB app to ship with a 1 GB translation library. (From comments I've seen elsewhere, it appears that this is how the Adobe tool does it.)
Maybe I can even understand that they might want to strengthen their nuclear law arsenal with a poison pill in case someone falls out of favor.
But: Which tools I use and how I use them is not Apple's f...ing business - I don't work for Apple, I'm an independent developer.
From my point of view, Apple has every right to be as anal retentive as they wish regarding what they accept - it is their store and their party.
But Apple has no right to any opinion whatsoever regarding how I create those deliverables - that is my business, and remains so until I submit it.
Whatever Apple is trying to achieve here, outlawing pretty much anything a developer can do to increase productivity is throwing the baby out with the bath water. I can't see this as anything else than a pure power trip ("see how we can make them jump") and a big F... Y.. from Apple to their developers.
Now whether Apple actually intended it to come across that way is another discussion.
But we have no way of knowing either way unless Apple deigns to clarify. And Apple is hardly known for being talkative on controversial issues...
[update: minor spelling, phrasing]
The thing is that, for now, Apple is selling something that _many_ people want to buy, and that _many_ people want to develop for. So they have the upper hand. Nothing illegal or crazy about it. Now certainly things can change in the future and they _might_ become more accommodating.
Complaining about probably helps a little. Not developing for it helps more. Not buying the hard helps a lot, but the developer community is _much_ smaller than the consumer community...
So, companies in the 1980s had no right to any opinion whatsoever regarding whether or not the products they sold benefited the apartheid regime in South Africa? Amazon has no right to any opinion whatsoever regarding whether or not the books they sell are printed on paper made from trees harvested from virgin rainforest? Target has no right to any opinion whatsoever regarding whether or not the clothes they sell were produced in sweatshops?
There are a lot of arguments that can be made against this new rule, but the argument that Apple doesn't have the right to impose the rule in the first place is utter and complete nonsense.
If you don't like Apple's terms of service, DONT USE APPLE, and DON'T DEVELOP SOFTWARE FOR APPLE'S PRODUCTS.
It's not unfair. Whether or not he's insane is irrelevant. Stop bitching and solve the problem.
EDIT: downvote me for having an opinion? come on, HN.
http://news.ycombinator.com/item?id=1250958
If apps are portable from iphone to droid the phones step closer to being just another commodity portable device.
He wants iPad/iPhone apps to work, to be elegant, and to be consistent.
He wants the Android space to be full of sort-of-works crapware that you find when there are tools that let any half-wit drag-and-drop an app together.
What surprises me is not as much Apple's move (though it is truly ridiculous), as some apologists' responses. Talking about how "Adobe's just as bad," or that "it'll reduce crappy software in the store," or that "Apple's within their rights" is really missing the point.
The point is that this is totally unnecessary from a technological perspective. It's totally a business move to destroy competitors and pursue a bizarre vendetta against Adobe.
I teach in a business school, and am very 'pro competitive edge,' but this is just so short-sighted. Apple's competitive moves seem oriented to reducing anyone who could be a competitor to rubble out of some misguided belief that the iPhone paradigm is theirs, and that they should be able to dictate who makes money off of it.
Ultimately, any business adopting this approach dies. It make take 4-8 years for a competitor's product to reach equivalency, but it'll happen. Tech moves so fast that it'll be tough to keep a closed environment (even a good one) on top.
Furthermore, (and really to the point) I don't want to do business with any firm that thinks they can dictate if or how much profit I can make, or how I can approach my particular niche of interest. Apple keeps on reducing the way you can build apps; how do I know that my next app isn't going to compete with mobile Pages & get pulled? They're creating a totally closed and controlled platform, and you better hope that you don't run across any of their plans. It's a terrible business environment, and totally destructive.
Ridiculous.
Apple progression to restrictive hardline, is going against developers with a generally pragmatic approach.
Apple seems to give no quarter when it comes to their inane lock down practices, developers shouldn't give much benefit of the doubt to apple either.
This is my main instance against Apple, Apple is partly a soviet style bureaucracy, it's impossible to know right now from whom the good ideas came from, basically people blame or praise Steve Jobs after every show keynote for the work that a team of great anonymous engineers are developing for each new product.
This don't show that Steve Jobs is mad, it only says that the board of directors is either oppressive towards Apple employee or submissive towards Jobs, anyway incompetent, but it is hard to say about incompetence when your company is so lucrative.
How far we've come.
So seriously, what's the problem here? Either there is none or I'm missing something.
$ ghc --make helloworld.hs
$ strings helloworld|grep ghc|wc -l
19
$ csc helloworld.scm
$ strings helloworld|grep chicken|wc -l
1
There are more telltales that might be harder to mask. Other tools have similar giveaways. It wouldn't be hard to set up an automated test for the most common ones.It would also be possible to look at data structures in memory and detect patterns of access common to specific cross-compilation tools or abstraction libraries.
These techniques don't produce proof beyond a reasonable doubt, but no such proof is required; Apple can and will reject applications that don't meet its standards.
(Please go away...)
They are simply trying to tie their developer community to their platform. Now is the time to do it, when competition is low. There's virtually no chance of this having any noticeable impact in its established community of developers. By year-end, when competition is a bit stronger, the groundwork they've put in place today will make it less likely that developers will bother to learn another platform.
Its what Microsoft did with Java and Netscape. It's what they did with IE.
I'm not saying its right. I'm just saying I finally understand it.
(and I know MS was sued, and lost, for each of those infractions).
No, they are trying to tie the _consumer_ to their platform. They couldn't care less about developers outside them providing consumers a reason to buy their product. (and as a source of revenue.)
Apple _does_ want to control what _media_ can be played on their platform. And they way to control that is to control what developers can do. Notice there is no VLC on the iPhone? No Mplayer? No open codecs what-so-ever. (and certainly no FLASH...) At some point expect there to be a (surprise!!!) clamp down on h264 encoding, enforced by patents and licenses.
I think there is an incentive for developers to turn a blind eye to some of the more crazy apple app store policies because if people leave it benefits them and there is no viable alternative at the moment for someone wanting to make a living selling mobile applications.
Why does everyone act like the iPhone should be as 'open' as an OS on your computer? Did everyone forget that when the iPhone shipped you couldn't write apps at all? You can't write apps in Erlang for your Zune, your PS3, your cable modem, your microwave, your car or your apartments alarm system... no one cares.
Yes, Apple wants (insists, even, if this ToS becomes final) you to use their tools, their stack, etc for making apps on their consumer electronics device - shocking? No. Annoying? Of course. Don't like it? Go somewhere else!
Yup. And did you forget all the complaints about that too and then the jailbreaking and then the development of apps without any SDK at all? You have to wonder if Apple would have ever created the app store if programmers hadn't done all that.
"Why does everyone act like the iPhone should be as 'open' as an OS on your computer?"
Why shouldn't it be? You act like merely complaining about something should be a crime. If Apple is well within their rights to do what they want with their platform, we're well within our rights to complain about it.
Still, I am absolutely not saying you shouldn't be allowed to complain. My point is only that I don't see what there is to complain about. I wouldn't complain about this any more than I would about not being able to write apps for my current crappy cellphone. It isn't even that bad though, of course, because you can write apps for the iPhone, just not in arbitrary ways that Apple doesn't approve of.
Anyway, it's ok that we don't agree -- it seems, at this time, that Apple and I are on the same page... We'll see if things change or not. I am obviously all for Apple being more open in general (having to use a Windows VM to sync my iPod is a huge pain in my ass, for example), I'm just not losing any sleep over it.
Really? When I had a crappy cellphone, I complained that the WAP browser was constrained to my provider's walled garden. I managed to crack it enough get out and even write my own WAP applications. So not only did I complain, I did something about it.
I also complain that my stupid DVD player doesn't let me skip over FBI warnings and previews. The fact that it was designed that way on purpose, doesn't mean it isn't something worth complaining about.
I think it's funny you feel complaining about the complaining is important but the original issue is not significant in comparison.
I'm not complaining about your complaining - I don't think you should stop or anything like that. I'm simply voicing my opinion just like you are. It's all good.
On to your points. If I was upset at my phone's browser (and believe me, my phone's browser shouldn't even be called a browser) I would just look for a better phone, one with a browser I liked. Same with the DVD player. I don't think that's what we're talking about here though. It's more like your DVD player vendor was saying "you can circumvent the FBI warnings, but only if you do it while singing the alphabet backwards"... well, if I cared about the FBI warnings that much and had the time to spare and otherwise enjoyed that DVD player, I'd just do it the way they wanted. I just have better (from my perspective, of course) things to worry about than "HEY, they should let me remove those warnings while singing anything I want!"...
To get back to specifics and away from stupid analogies: It is true that I'd prefer to write an iPhone app in Ruby than in Objective-C. I just don't think that my preference is Apple's problem. They're just doing fine without me, after all. This could come back to bite them, but then again it might not. So I'm perfectly happy to agree to disagree here.
So to reiterate. I don't think this is not significant, just that it is not significant to me. I didn't mean for my comment to be taken literally as a "no, you should all stop caring", even if I came across that way.
Cheers.
I think we've touched on another disconnect. I don't think it's Apple's problem either -- it's our problem. We're still working out just how big of a problem this is for us. For you, the problem is no Ruby.
> This could come back to bite them, but then again it might not.
I don't really care if it bites them or not. I'm not trying to give them a friendly suggestion. I don't think they care. I just think it's a crappy thing to do.
Apple should do well to remember that they need us more than we need them. It's the availability of apps that makes or breaks any OS.
And you know what? In my country the iPhone is only popular with the tech crowd. Nokia is the leader here, and Vodafone (the largest mobile operator here and the direct competitor to Orange, which is shipping iPhones) is said to start shipping Motorola Droids and Nexus Ones.
So IMHO, Apple can fuck off.
The iPhone isn't very popular where I live at all because the cell companies are crazy rip-off artists... that's has nothing to do with this.
Besides that, regular people (say, my mom) don't give a crap if I wasn't allowed to use ActionScript to write my app or not so what exactly is Apple doing to abuse people? Are they abusing developers? Well, they are limiting them pretty heavily, that's true -- but abusing? Hardly. As you said, Apple can 'fuck off' and surprise surprise that's exactly what Apple is saying to you (figurative 'you', the developer who wants to use AS3, say) - "If you don't like ToS you are required to agree to then don't agree to it."
If Ford made "drives a Ford" a requirement for all of its employees, would that be fair? Couldn't you just say "they want you to use their stack"? It is totally evil.
It doesn't take care of existing apps that were written elsewhere first, but it does take care people who can write iPhone apps and would like to port those elsewhere.
Applications must be originally written in
Objective-C, C, C++.
Interesting: this excludes lex, bison and similar generators.I see it as a natural outgrowth of the chaperone model that a good number of users have tolerated/embraced.
"My code was originally written in C, but I've now ported it to Clojure." ;)
Of course as I make changes, it produces C that compiles to normal .o files that are then (without any further translation, compatibility layer, or tool required) linked with the Documented APIs.
This is interesting because the thing where this is not clear, it's the fact that Jobs said you can use any ad serving network. Bur if the APIs are available only for the iAd, and since you are stack with Apple approval process (and the language restrictions) you can't use 3rd party technology (eg. embedding Flash ads), and as a result you can't use any other network.
Can you see the pattern?
About a couple of months ago we were swearing to Apple because of AppStore policies, and now AppStore policy to ban random apps is acceptable since they introduced even more ridiculous terms.
I like the way how Steve plays!
Cattle grazing on the commons? Like Apple's telling you "Don't program in a functional style"? It's a problem if the only store in town won't stock your goods? Telling Leonardo da Vinci he can only use gummy?
Is Apple pissing in your freedom flakes? Really?
The iPhone is not a commons. It was never a commons. No smartphone device IS a commons.
Apple is not dictating your programming style. They are dictating that you do not run cross-compiled software, written in a non-native language, on their device. This is not unreasonable.
There is nothing illegal, or immoral, or even marginally unreasonable, with a store refusing to stock your goods. Even if it's the only store in town.
It's not like telling Leonardo he can only use one medium, because of course, the iPhone is not the whole world, where da Vinci lived.
If one customer of da Vinci's only wanted art done in gummy, that would be an accurate parallel.
Seriously, guys, this is HN. Let's see some of that logical thinking.
From Apple point of view this makes perfects sense, they are not loosing anything. They know as soon as they can keep the end-users happy developers will come. That what has been happening and it'll keep that until someone else comes up with a better marketing + product and take over a big chunk of the market. And Android is not ready for that kind of action yet.