Hacker News new | past | comments | ask | show | jobs | submit login
Steve Jobs Has Just Gone Mad (whydoeseverythingsuck.com)
410 points by thafman on April 9, 2010 | hide | past | favorite | 228 comments



Sure I've had my moments of App Store frustration, but all in all, I haven't been as offended by it as a lot of folks. I think that's because I felt that Apple was giving me something that I couldn't easily find elsewhere (single point of distribution that everyone knows about, very few taps for users to install my apps, the ability to easily charge for apps), so I was okay if they were a little particular about the terms.

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.


I'm puzzled, since Apple has been shutting off fundamental techniques in computer science since day one. Today it's Flash compilers. Yesterday it was access to the filesystem, things that run in the background, etc.


I half agree. The filesystem is just a device. No running in the background is kinda icky, but that doesn't seem like a computer science kinda thing. (not that multitasking isn't hard, it's just not the first thing that jumps to mind when thinking of simulating things on a turing machine)

Language 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.


I agree. Nucking futz. This is much crazier than anything Microsoft has done in recent memory.


By the way, the sh source were written like that because the original author missed algol, iirc.


Yes, denying filesystem access (well, raw filesystem access--Apple gives you access to the "Documents" directory, etc), may be offensive to some, but for me this falls under the category of "sure, it'd be nice if it did more, but I'm not gonna be mad about it." The TI-82 programmable calculator didn't allow me to reprogram my keys or to redefine the built-in math operations, but that didn't make me love that device any less.

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/reject


I'm guessing you don't know about http://www.ticalc.org/


Sandboxing an application is a bit different than mandating that the code be originally written in a certain way, regardless of what they compile to.


But the mandate only applies if you want to sell the app in their store.

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.


His customers?

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.


The disconnect between the developer and customer is huge in the app store. Everything is skewed towards the customer having no relationship except with Apple. The deployment model, the communication channel, updates, everything goes through Apple. There have been a lot of blog posts (not sure of other sources) written about how to bridge this gap and connect with customers. I think in a lot of ways this is the same battle the TV networks are having with Hulu. Just like Hulu wants to be The Channel, Apple wants to be your one stop media and entertainment stop, and content producers are just anonymous and a dime a dozen.


True. That would be like Singapore telling us how to build a widget if we want to be able to ship it through their harbors and sell it on their territory.

/me wonders about Squeak on the iPad.

Found it: http://isqueak.org/HomePage Developer signed goodness!


But if you don't want to jailbreak your phone there aren't many other stores to choose from for the iPhone, are there?


Why does that really matter? If I sold chocolate covered bagels, and I was the only chocolate covered bagel store in town, do I have to serve you?

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.


Depending on the country your store is in: yes, you would have to serve me unless you have a very good reason not to (like I'm a returning thief or troublemaker).


Sure they can do what they like on the iPhone (within the grounds of the law) but we don't have to like it.

And how does this change have anything to do with customer experience when they already vet customer experience when the app is submitted?


> but we don't have to like it.

developers for the iPhone are a dime a dozen. But there is only one Appstore for the iPhone.


It's their sandbox, they can do what they want. Just like you can choose whether to play in it or not.


Keep in mind tha the grand joke is that Adobe's Flash compiler is based on LLVM -a project that is heavily sponsored by Apple.


  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…


Ok, correction: yesterday they introduced iPhone OS 4 with background services. How Flash is fundamental in CS is still a mystery to me.


You misread. The point is that compilers are fundamental to CS, and barring things like a Flash compiler is vile.


Ok, compilers are fundamental to CS. Have you heard about Clang and LLVM? Do you know who is behind that project?


Not Apple's iPhone team.

Clang is some crazy engineers at Apple. Apple's new policies are straight from the top.


The parent talked about Apple. So did I. By the way, what are your sources? You look so damn well informed about what's going on at Apple.


Have you read the damn article at all? Source to source compilers are now against the TOS. Sure you can do it and how would Apple know - but commercially you can't advertise a tool that does it. Forget what's going on INSIDE Apple, people are pissed off about what Apple is trying to do to those on the outside.


Pardon me? I was not commenting on the article, I was commenting on the comment which outrageously claims pure bullshit that:

  … 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.


It's not necessarily Flash that's fundamental in computer science. It's compiler technology that's the computer science part.


And apple is doing a lot in that field: Clang, LLVM, Grand Central Dispatch, OpenCL. Amazing how many fail to see the forest behind the tree. Apple releases iPad and that's the end of computers, Apple bans Flash, and suddenly it's shutting down CS.


General Motors did some cool research projects with fuel cell cars, their core products are still gas guzzling trucks.

When you say Apple which comes up in people's mind first, the iPhone, or Clang? Seriously.


I don't know about GM, but I have clang on my OS X right now and I can tell Xcode to use it.

When you say "compiler" which comes up in people's mind first? I'd bet it's "WTF?".


What come's up in developers mind first?

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?


Where would be all these projects without Apple's involvement?

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?


I think most people are missing the point. Of course this restriction is stupid. But in itself it's just that. Stupid.

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.


Legally, Apple can do pretty much what it likes on its own platform and there is nothing anybody can do about it except accept their restrictions or decline to deal with them and hope for the best with commercially viable alternatives.

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.


I was always critical of Apple's closed ecosystem but nobody saw this coming. In a sense, they're not even leaving room for doubt that they are not to be trusted.

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?


> nobody saw this coming

Surely you jest.

Lots and lots of people saw this coming; they were just dismissed as radical idealistic free software hippies.


" but nobody saw this coming"

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.


Summary:

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.


And Steve's response, I imagine would be: if you want to sell your app in my store, it's my business. If you don't like my rules, develop for a different platform.

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.


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.


OK, then explain the consequences to me.

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?


If it's the only store in the town, there's plenty of harm.


That's not a good analogy. Those selling non-organic produce have plenty of other places to take their goods. They are commodities.

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.


But Apple never offered a "communal grazing area". The iPhone has been a closed platform from day one, and everybody developing for the iPhone already had a metric buttload of restrictions on them.

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.


You still haven't grasped that you are comparing commodities to non-commodities. If you just invested a bunch of time into a source to source translator for the iPhone, you can't just take that somewhere else. It is entirely useless elsewhere. Of course Apple doesn't HAVE to accommodate these people, but it is an egregious move for both developers and the users. I don't actually see what the gain is for Apple from this other than slighting Adobe.


You appear to be arguing that we shouldn't complain that Apple's closed platform is obnoxious, or hate Steve Jobs for being an anti-programmer jerk, or encourage people to avoid Apple. Nobody said that some existing legal or moral authority should force Apple to treat us nice.


It's proportional to market share. I think we both agree that such a move would be immoral for a monopolist (making developers stupid... stifling progress... blah blah). Assume it causes X amount of moral harm. Then someone with 50% market share would cause X/2 moral harm by the exact same mechanisms. 1% market share, X/100 moral harm. Think of it as voting for Hitler: less evil than being Hitler, but still evil.


Sorry, but I still don't see it.

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?


Think of the company store in a little West Virginia mining town in the pre Union days.

But the analogy actually supports your position: it's clear that there are other app stores out there.


Your use of demeaning language doesn't make your opponents wrong.

Did you read the original comment he was responding to?


> If you don't like my rules, develop for a different platform.

Okay.


It was never intended to be an open platform, but Apple did open up as far as making an SDK and allowing people to code up apps, compile them, then submit them to the App Store. That's like a totalitarian state opening up its harbors and convincing the world's corporations that it's safe to do business.

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?


We are the authors with last names not Q.

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.


See, that's because you're not affected.

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.


You're right, it's an imperfect analogy.

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?


> Barnes and Noble decides they only want to sell non-fiction books

No, a better analogy is if Barnes and Noble decides they only want to sell creationism books.


That's an excellent analogy. Those of us who prefer science based books would go elsewhere, while those who loved the comforting and protected "Creationist" environment would find a good home at B&N.

Science Based authors aren't owed a living by B&N, and would have to sell their books elsewhere.


On the other hand, you would have a corporation actively engaged in trying to mislead the public and stifle the truth.


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?

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.


But the iPhone isn't the only smartphone on the market, and Barnes and Noble isn't the only place to buy books.

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.


How about if Barnes and Noble decides it only wants to sell fiction by authors whose skin is of a certain shade?


While this sucks for iPhone developers who want to branch out / use other languages (clojure, etc), it might persuade these developers to move over to the Android platform. Especially given the several Android tablets forthcoming...


Apple is of course conscious of this trade-off (attractiveness of the platform+customer base vs. unattractiveness of being treated like shit by Apple).

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.


If they can't afford Android+iPhone portability, most of them will choose iPhone-only over Android-only.

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.


I think you are largely right, but don't forget that this pragmatic business view of the world does not dominate every phase in every hacker's life.

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.


These companies have never been nor tried to be emotionally appreciated. Their success had nothing to do with appreciation.

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.


Was it Microsofts business practices that brought it down a few notches? or was it their lack of quality products?

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.


I think the main cause for Microsoft's weakened position is the web. Their core products are high quality in my view, but they just never wholeheartedly embraced the web. Neither technologically nor in terms of the business model. Fighting the web moved them from being seen as a freedom fighter against IBM to the position of a ceaselessly scheming oppressor that keeps inventing new ways of ruining the fun for the tinkerers.

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.


"Was it Microsofts business practices that brought it down a few notches? or was it their lack of quality products?"

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.


I suspect someone will build an Objective-C/iPhone API to Java/Android translator.

If you stick to the basics, as most applications tend to do, it's not even hard.


A few years back, I predicted that Apple might get high-handed and inadvertently make OpenMoko/Android more attractive. OpenMoko has gone by the wayside, as perhaps it should have.

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.


The key is where they say "Applications must be originally written in Objective-C, C, C++."

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'.


The "Originally" clause was placed in their _precisely_ to forbid code converters.


Can I ask what your authority is on that? It seems that most people agree with you but I don't understand why!


Because embedded interpreters in iphone apps are already banned in another part of the developer agreement?


e.g. run-times that execute byte code

I thought that was already forbidden. If so, why the change, if not to stymie thins like Adobe's Flash-to-iPhone converter?


So Frameworks like Unity for game development are basically dead, making it so that indie developers who don't have the money/ability to write their entire engines from scratch are nearly banished and putting only the AAA title makers in the running. Great...


That is precisely the point. They don't need more apps, they need more AAA apps.


That might be true, but the implicit assumption here is that only EA can make AAA games and indie developers just produce crap. That assumption has been demonstrated to be false on both points.


Not at all! You can buy a few C++ game engines (e.g. Torque) and port them. I have Torque running on Linux, Solaris, Mac, & Windows. Considering it's normal posix underneath, you just have to redo some plumbing.


The iPhone is POSIX, but not to you as the developer. Porting Torque to the iPhone will have to be done by GarageGames, not by you - even if you pull it off it will certainly be violating a laundry list of App Store rules.


.. but you get the source & build tools. Why can't I do it?


Well, for one thing, you have no file system - and that's just first among the list of POSIX-y things that Apple internally has access to, but you do not as a 3rd-party.

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.


Um. Except maybe you can't use TorqueScript for your game logic.

Unity is almost surely written in C++, but game logic is done in Javascript and C#, on Mono.


How about we let the consumer decide which apps are worthy of their cash. It's been going on for many years and this model works pretty good.


The question is who the next AAA title makers are going to be. What kind of culture will they emerge from? What will be the platform of choice for the first game of that as yet unknown small company that is going to be the next the AAA title maker?


Why can't an indie developer use a game engine written in C, C++, or Objective-C?


Nearly every major game engine out there uses scripting for actual game logic - it decouples the engine from game code, which is desirable (no rebuilds to alter basic game behavior, for example, enabling faster turnarounds and prototyping).

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).


For the record, UnrealScript is closer to Java or C# than JavaScript.

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).


This is another gem: “10.4 Press Releases and Other Publicity. You may not issue any press releases or make any other public statements regarding this Agreement, its terms and conditions, or the relationship of the parties without Apple’s express prior written approval, which may be withheld at Apple’s discretion.”


Somehow I doubt that clause is enforceable.


It's not enforceable in the same way that having all your apps removed from the app store isn't actionable. Anyone engaged in commercial development for the iPhone only does so at Apple's pleasure, which may be revoked at any time.

Of course, if this causes your users to seek refunds and you have already spent your earnings, that could get problematic.


You know, it just occurred to me that if Apple specifies the tools that may be used to develop applications for the iPhone, then all iPhone developers may legally be their employees for tax purposes....


You know that they'll need to pay at least minimum wage.


I've had a couple of close friends and relatives have health issues that almost killed them. Afterwords their personality changed. They became much more negative and harder to be around. The things I have read about Jobs is that he is a health nut. To have the problems he has had might have been a big emotional blow for him.

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.


You don't change CEOs because you want a nicer guy.


You may change CEOs if their behavior habits change significantly, including them turning from narcissistic jerk to narcissistic jackass. Instability at the helm isn't a good thing, even if you are currently still heading in a good direction.

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?


You change CEOs when your current one starts making boneheaded power plays that will ultimately harm the company, but nobody has the balls to stand up to him because his eyes are weird.


I really doubt that this particular rule is aimed at the masses. Steve Jobs could care less about things like PhoneGap and random IDEs.

In my opinion this is a strategic method to create optionality in case it needs to go into outright war against Adobe.


That doesn't make it anything short of disgusting -- it's worse than anything MS ever did.


2 differences between MS and Apple in this context. MS was very supportive of developers in its ecosystem. And they were never this arrogant.


Unless, of course, you were a developer at Stac Electronics:

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.


Bundling something with the OS isn't wrong. Linux distributions come bundled with tons of software. Is that wrong? There are lots of competing softwares for Linux, usually only one for each purpose is included.

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.


did you read the linked article? i'm guessing not.

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.


REALLY. Saying "no alternate compilers on our hardware" is worse than using the threat of yanking OEM licenses for the then-monopoly desktop OS if they dared to feature another company's browser on the desktop?


Arguably yes. Microsoft never tried to stop users from running whatever software they wanted on Windows, they just made it more inconvenient in some cases to get that software.


"I will use my operating system monopoly to put you out of business if you don't assist me in putting an unrelated competitor of ours out of business" is worse to you than "you may only use Objective C to develop on this device"?

I don't like Objective C either, but I don't take it that far.


Microsoft, as all companies would, is going to use their successful product(s) to push other products that they create. They had 95%+ of the OS market and simply wanted to push the use of their browser to those individuals. That doesn't and never has seemed like a dirty tactic to me. Apple pushes its own products over its competitors on the iPhone. You won't see Opera on the default dock bar on the iPhone anytime soon...it may never even be approved to be in the app store. Microsoft may have made it tough for their competition (and I'm sure they crossed the line many times as you mention) but they certainly aren't telling the folks at Mozilla now that Firefox must be re-written in .Net or they aren't going to allow it to run on their platform!


> Microsoft, as all companies would, is going to use their successful product(s) to push other products that they create

Please, keep in mind that if the successful product is effectively a monopoly, then this conduct is not only immoral. It's also illegal.


Well, Windows Phone 7 only allows verified CLI bytecode apps, which practically speaking means Firefox won't be compiling for it anytime soon.

But MS doesn't care how you compile, just as long as the bytecode checks out safe.


And Windows Phone 7 is not a dominant player in any segment.


"I will use my operating system monopoly to put you out of business if you don't assist me in putting an unrelated competitor of ours out of business" is worse to you than "you may only use Objective C to develop on this device"?

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.


Sorry to be so presumptious but I don't think you've thought this through. Microsoft threatened to drive companies out of the computer industry. There are still plenty of other viable mobile platforms to develop for if the iPhone doesn't work out for you.


What I mean is that it is much more than "you may only use Objective C to develop on this device". You also haven't thought this through. It has many more long term implications than the language choice.

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?


When the iPhone has 70% of the market, instead of the ~25% it apparently has now, your argument will make sense to me. Until then, you seem to think that Apple has additional responsibilities to the market simply because they're the best current platform. Being the best doesn't mean that.


I would guess they have 95% of the 3D mobile games market now.

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!


No, they just prevented them from shipping software by default. No OEM was going to say, you know what, Netscape is more important to me than being in business. That's just a business deal. But as a user you could always just install it yourself. It was all about market share, there was no actual limitations on the device. This is about materially impacting WHAT YOU CAN DO ON THE DEVICE, as both a user (certain apps unavailable, this will make it worse) and as a developer. Microsoft never did anything like that on the scale Apple is doing now.


What Microsoft did was in fact so much worse than what Apple is doing that the DOJ sued them for it and won.

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".


Your first statement can't be judged yet. If all Microsoft had ever done was the IE thing, they wouldn't have sued. They had a pattern of anti-competitive behavior and that was the most egregious and well documented example so the DOJ went with it. Apple over the last few years has been fairly anti-competitive, this won't push it over the edge but it is another straw on the camel's back. So lets look back in 10 years and see what happened.

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.


Being anticompetitive is not against the law.

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.


Being anticompetitive is not against the law.

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.


How many another companies' browsers are there for iPhone/iPad?

Exactly.



http://my.opera.com/community/countup/

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.


Yes, it is. My in-house process is none of Apple's (or Microsoft's) business.


As you have just found out, it in fact is. Maybe I'm wrong, but my guess is: they win this issue, and they still keep the overwhelming lead in app development.


True, I can't see it having any material effect... at least not on the iFart-class apps that Apple seems to court. More sophisticated apps tend to rely on more sophisticated toolchains... 3D games being a prime example.

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.


> it's worse than anything MS ever did.

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.


...and then we wake up the next day and Google search and YouTube have "mysteriously stopped working" in all Safari browsers...


It would be fun to watch those three trying to out-evil each other...


Of course, we know who this new rule is aimed at, but nevertheless, several interesting projects will go down as collateral damage. Even if the App Store doesn't enforce this at first, would you spend time and money developing your app in an unsanctioned tool, knowing that it can be pulled off the store at any moment? I would be specially angry if I were one of the Appcelerator guys. They rewrote Titanium for iPhone so instead of using JavaScript on top of WebKit, it used the SDK to create snappy, fully native apps. ( http://techzinglive.com/?p=177 ) Now they will have to go back to the original plan, with an inferior product, or give up on the iPhone entirely.


No, Steve Jobs is not insane, this interpretation of the new rule is insane. Apple is merely (!) trying to control what tools people use to create software on their platform. I can understand why they want to do this, just as I can understand why I might, or might not want to comply. The legal terms used are to give Apple the tools it needs to get compliance. The only real issue is: do you want to develop for this platform or not. (I probably am, but mostly on the webkit/webapp side of things, which, so far, is still completely open.)

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.


Really shocked by your comment.. How can you even start to say that any company controlling how developers write their code is acceptable?

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.


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. No one is under any obligation to develop for their platform. There are very real advantages to their closed wall approach; which console device makers have been doing for years.

You pays your money and takes your choice (or visa versa...)


Everyone understands that. What people are pissed off about is the "originally" part. Lets agree that the only acceptable compiler is approved by Apple and that's it. Ok fine. Now what is the material difference between me hand typing code into a source file and building it with the compiler, or me generating the source file with a tool and then it gets compiled? Apple has no way to know that you have done the latter instead of the former - but they still have made this a reason to kick you out of the store. More importantly they have killed any tool that does the latter. This is not about closed walls and consoles. This would be like Sony telling Playstation developers they must type in Dvorak. They are going up the stack - into the actual way people are creating code - when there is no good reason to.


No, that's like Sony telling you that you have to use their development garden, which, the last time I looked into console development, they did...

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.


You're missing the point. Just because it's legally within Apple's rights to do this, doesn't mean that we have to be happy about it.


No, you're missing the point, this discussion isn't about what we would like. This is about whether Apple is insane or within their rights to do what they did. There are lots of other discussions on this site about whether it's a good idea, or whether developer's should like it.


You can be both insane AND within your rights. Nobody is disputing the legality of what Apple is doing. What they are disputing is how stupid/insane/ridiculous Apple is by doing it.

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.


Please feel free to cite where I said anyone was saying it was illegal. The closest thing I can find to that is where I said:

"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.


"This is about whether Apple is insane or within their rights to do what they did."


So in other words, you can't and don't intend to address the topic at hand. bye bye...


> I can understand why they want to do this

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]


You seem to understand _many_ reasons why Apple would want to do this. Apple has every right to sell its stuff with whatever kind of license they want. Just as you (and I) have every right not to develop for them.

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...


> 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.

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.


"merely (!) trying to control what tools people use to create software on their platform"

Put any OS of your choice, except iPhone, in that sentence and it sounds pretty darn insane to me.


Don't game consoles have expensive, compulsory SDKs?


Yeah, and that's why your console spends 90% of its life powered off.


Don't get me wrong, I think it is a stupid policy even for Nintendo, Sony et al. My point is that stupid != insane.


Insanely stupid then.


I thought that was because I had to go to work...


Even if they do you can still write your own languages that compile down. Ala: http://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp


No, that's exactly what the terms are saying you _can't_ do. If you used something like GOAL, you wouldn't be starting out in Objective C, and thus you'd be in violation of the new terms.


He was referring to game consoles, for which you _can_ use other languages to compile down from, so they are less restrictive than the iPhone.


Thanks. Sorry, I misread. And that's an interesting point too, because until now, an argument I commonly heard in support of Apple was, "At least the App Store is better than the console game environment."


Yes, but you are not restricted in what tools you can use to develop and compile your code.


Yes, and none of them have ever included a rule against cross-compiled code, to the best of my knowledge.


Right, none of them have the complete monopoly to insist on exclusive titles. Notice how big a deal they make it when they do get a studio to do an exclusive.

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.


this interpretation of the new rule is insane

OK, I'll bite. What's the correct interpretation, according to you?


Presumably it's "as long as you're using the Cocoa Touch stack as your primary development environment, we don't care what other tools you use; however, if you want to use Flash, develop for a different phone."


Insane? No. Worrisome in its arbitrary restrictiveness? IMHO very much!


Since my memory span goes more than a year or two back, I vividly recall Apple shipping a product that had native app development available only to Apple. I simply don't believe that Apple owes everyone Flash.

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.


Some of us have already invested over a grand buying Macbooks and Unity licenses and test iPod Touches specifically so that we can develop games for the iPhone, though... Would have been nice to have known in advance that this would be ruled out!


Conceded completely: that sucks.


This is a step above just saying, "It's our ball, you can't play!" This is waiting until someone goes and buys a bat and only then telling them they can't play.


And that's where you lose me. It sucks to be out $2000 and having the terms changed on you. I hope they get refunds. But keeping Adobe out of the iPhone dev tools market doesn't suck at all. It's a totally rational decision and while it is not the decision I would make, I will in the end probably benefit from it.


I agree with you: the fact that this is happening to Adobe mitigates it somewhat for me, but that doesn't make the maneuver in the abstract any less severe. This is getting to the level of Microsoft telling everyone that the MFC is the way to go, but later on people discover that Microsoft is using something else internally for GUIs.


Yes but this excludes tools, such as MonoTouch, which actually do use the Cocoa Touch stack but allow you to code in C# rather than Objective-C.


Are they wrong about MonoTouch? Probably yes.

They're not going to do everything right.


Enough!

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.


I'd rather just avoid the problem all together by building apps on an open system like Android.


That's what he just said. Don't develop for the platform you dislike/don't agree with the policies of/etc.


Is Jobs taking these actions to prevent the commoditization of his platform? I refer the reader back to the Joel Article reposted a few days ago.

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.


I think that's exactly what he's doing.

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.


I wonder, how feasible is it for MS/Google to create a toolkit to allow instant porting of iPhone apps to WinPhone7/Android?


Actually created an account to write this...

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.


It is interesting to revisit this thread based on Alex Payne moderate request for openness - http://news.ycombinator.com/item?id=1243445

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.


The situation isn't new, what type of company press their employees to not write blogs or have twitter accounts about something they should be proud?

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.


"Today, we celebrate the first glorious anniversary of the Information Purification Directives. We have created for the first time in all history, a garden of pure ideology. Where each worker may bloom secure from the pests of contradictory and confusing truths. Our Unification of Thoughts is more powerful a weapon than any fleet or army on earth. We are one people, with one will, one resolve, one cause. Our enemies shall talk themselves to death and we will bury them with their own confusion. We shall prevail!"

How far we've come.


Hasn't anyone else realized that this rule is totally unenforceable? How is Apple going to find out if something was originally written with Unity3D or Clojure? Everything is submitted to them as a binary. You can't inspect a binary and figure out what language the code that generated it was originally written in.

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.


And how hard would it be for those code translators to remove these footprints or even offer the user the option of leaving them out? Doesn't this edict invite code translators to work harder at leaving no trace that the code was generated or translated? The bigger question too is, isn't this just another stupid rule that developers can find a workaround for anyway?


Right but I'm assuming that these 3rd party tools are actually converting code to Objective-C / C / C++ and then compiling...is that right?


I think that's true for some tools and not others. csc converts Scheme in to C and then compiles it with the local C compiler. There are specific markers that will exist in every binary compiled with Chicken. Some of them are ASCII and easy to spot by hand by running strings on the binary, but I suspect there are also binary sequences that appear in every program compiled this way.

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.


More importantly the tools that do the transferring will get killed


Developers! Developers! Developers!

(Please go away...)


You know, this whole Apple thing finally makes sense to me.

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).


> They are simply trying to tie their developer community to their platform.

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.


Problem is with the app store is that a number of developers could reject these changes and decide to develop elsewhere, but instead of improving the situation on other platforms it would probably just be that the remaining app store developers would be now getting a bigger piece of the pie.

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.


I don't get this at all.

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!


"Did everyone forget that when the iPhone shipped you couldn't write apps at all?"

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.


Considering the level of polish on the Cocoa Touch frameworks and the surrounding tools at release I'd say Apple was planning the AppStore long before the mob started RABBLE-RABBLE-ing 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.


> 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.

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 think you've touched on our disconnect.

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.


> 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.

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.


Everyday I see iPhone this and IPad that. I think some people like getting abused by Apple.

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.


This article is about 'Steve Jobs' 'going crazy' and doing this 'insane' thing preventing developers from using any old random dev environment to make apps for it's walled garden.

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."


There may not be an out-of-the-box solution for writing Erlang apps on Zune, but what if someone wanted to make one? There'd be no problem. They'd still have to compile down to something that Zune understands and that's all that's necessary. Cross-compilers and language-to-language compilers are a big part of computer science, they are cool and great, and it is none of Apple's business how you build your program as long as it doesn't cause trouble.

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.


The way the section is worded makes me wonder if this also prohibits ports of applications from other platforms. What does "originally" mean when Apple says it?


So why doesn't Adobe just add a feature to their tool, that will take an app originally written for the iPhone in Jobs-approved languages, suck that source up and produce either source for Adobe's tools or source directly for other phones?

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.


Seems like a valid idea but defeats their current purpose of making flash development available for the iphone


    Applications must be originally written in
    Objective-C, C, C++.
Interesting: this excludes lex, bison and similar generators.


I think it also exludes psuedo-code scribbled on the backs of envelopes or napkins, code sketches sent via e-mail from the shop guru, anything appearing originally in Knuth, and your own boss's idiotic missives if they contain anything explcit.


Couldn't another motivation be that they don't want to hire app reviewers with fluency in every language under the sun? They have no way of enforcing the Swahili/Milli Vanilli/mud -> C via Oompa Loompa exception, provided that the C is readable and appears to be 'orginally written'.

I see it as a natural outgrowth of the chaperone model that a good number of users have tolerated/embraced.


App reviewers don't get the source code so that's not a valid point.


How do they know what tools were used to create the app?


This is really funny, since this is just the transcription of their daily business practice, so your experience shold have told you earlier. But only now do people see it, after years of Apple behaving this way, people still cramming to get into the apple-bottom, who are you to blame apple for actually write it down?


Gee, I thought they meant "originally" as in:

"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.


What about MacRuby ? It still isn't working for iPhone eventually, but does it mean "forbidden" now ?


Is it possible to turn things around and compile an iPhone app to run on Android/Flash/etc.? I'm sure it would be a monumental task, but could the headers in the Apple SDK be wrapped in a cross platform library? Or is there a rule against that too?


This rule is only in there so they can justify their selective enforcement. I'm sure you'll still be able to do whatever you want, but it gives them a line to point to when not approving certain apps they don't like for whatever reason.


Apple, who is primarily a computer hardware manufacturer, shouldn't be in the business of dictating what tools or languages software engineers use to create applications.


If you develop software for the iPhone/iPad, you are just a supplier for Apple's app store. It is not unheard that companies require a process from their suppliers.


So this means, if you write a game for Android first, then want to write it for iPhone, tough luck, better start with them??


How does Apple get away with such monopolistic behaviour, if Microsoft had an app store would antitrust lawsuits prevail?


I wonder if the restrictions on language used in development will also apply to their new ad program?


As I understood, the developers will access the iAd network via APIs. Is the APIs available for different ad networks or only iAd.

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.


1984


newspeak


"It is perhaps reasonable to specify the nature of the programs that can be sold in the AppStore. It is not reasonable to specify how developers create those programs so long as the end result meets the specified end result criteria."

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!


I honestly can't believe the stupidity of the metaphors in this thread.

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.


Even though it's insane all developers will suck it up as Apple has the power (boat load of users) and developers want to make money. They'll suck it up and keep developing what they are developing.

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.


Good news for those who had invested in Android.


storm in a teacup much ?


blinded and deafened by the fanboyism much?




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

Search: