Ask HN: How many people upset over Apple's rules are actually iPhone developers?

58 points by jasongullickson ↗ HN
It would be interesting to know what percentage of the people in uproar about the new no-cross-compiling rules are actually developers for the platform (who are affected by the rules) and what percentage are developers of other platforms, or not developers at all?

85 comments

[ 2.4 ms ] story [ 130 ms ] thread
I'm not accusing you of anything. But hopefully no one will infer that all the non-iphone developers should stay quite.
I'm an iPhone dev, and I really don't care. I knew going into it that if I wanted to make iPhone apps that I was playing in Apple's ballpark and that essentially my apps could be blacklisted for whatever reason. I decided that if I ever came to the place that I had reason to believe an app wouldn't make it through the review process that I'd do something web based.

That said I took the time to learn Obj-C as I figured MonoTouch would deliver a subpar user experience and would also be a few steps behind whatever the latest version of the SDK was.

Truth be told, I'd much rather write F# than Obj-C. However, when in rome...

Well mobileorchard is shutting down and many of his comments seem to indicate at least a few developers are following him

http://www.mobileorchard.com/goodbye/#comments

But by in large I think most of the developers upset by this are ones who wanted to develop for the iPhone not ones that are already. Since those who already did develop for the iPhone would obviously know how to use Objective-C already. The true cruelty of this is that Apple basically pulled the rug out from under these people after they'd been waiting for over a year (since CS5 was announced)

Anticipating something like that for so long and then having it taken from you at virtually the last minute is bound to cause a lot of anger

Wow, I hadn't heard about Mobile Orchard...

I've definitely had reason to question my own position as an iPhone developer having endured a stunning rejection myself recently but I have to say that, as someone who's developed for many platforms over the years, my sympathy for anyone who let learning a new language stop them from building something is limited.

Either way all this is certainly "fuel for the fire" of my plans for developing a new platform.

Curious what other platforms you are considering. I chose iPhone over Android because I perceived the latter to be a poor marketplace to sell apps and of fragmentation of the OS. I'm now wondering if I made a mistake or if mobile web apps are actually the best route to take.
I'm an iphone developer (or at least, I have been intermittently in the current project I'm working on). Other than the iPhone, I developed a Java ME app once (I won't make that mistake again).

I'm pretty upset about it, but I'm not one of the people yelling at Apple everywhere (and honestly I am one of the people that got tired really quickly about how much it was filling up the front page of HN). It doesn't affect the code I've written-- I used Objective C, all the way, because I was new to the platform and that's what it's documented with.

Honestly, it scares me, and it scares me enough that I have no real interest in developing for the iPhone anymore. Apple doesn't appear to care about its developers. This isn't so bad, except that it also has a lot of control over its developers. I have little investment in the platform (one app? pff), and not much reason to develop for it (users are not really that big of a motivator here), and so I quit. iPhone development is a gamble I don't want to take. (And of course, the new change prevents me from hedging my bets and developing cross-platform apps. How annoying!).

Keep in mind that it's not just iPhone. It's also that brand new iPad thingamabober we're talking about.

This doesn't just affect existing iPhone developers. It affects people that may have been interested in jumping over to this new, very compelling platform.

I think this is great news for "real" iPhone developers.

The good thing about being an ObjC iPhone-developer is that there aren't that many iPhone developers. So if you're producing decent stuff (or better, of course), you'll be in high demand. I'm not sure for how long you'll be in high demand, but I think this is a great move from Apple for ObjC-developers. It makes them in even higher demand. Anybody can program in Flash or Java, but learning ObjC is a bit different and perceived as more difficult, due to things like no automatic garbage collection and (sometimes) low-level C APIs. All those developers that have invested their time in learning these things are now rewarded by Apple.

I used to be an iPhone developer, and although it's really good for making money, I was personally frustrated by Obj-C. It's not that I can't program in it: I've been making good money from it for over a year. It's just that I also program in Haskell, and that is just such a better fit for me. I guess it's really a personal thing. I've decided to quit before I grew really frustrated, and start doing things I love. I'm not sure if it's a wise thing, but it works for me.

I was hoping that someday in the future we could use Haskell on the iPhone, either via the arm-ghc, jhc (which can compile to ansi C) or DDC (a Haskell-variant). So it's too bad that this isn't going to work anymore.

To answer the question: I stil consider myself an iPhone developer, and I am a bit upset.

I'm a Flash developer and I've produced multiple games I would have looked at pushing to iPhone, not to mention future games I develop.

I can also tell you the Flash game development community is not happy. We were all looking forward to this.

On top of that I work a lot with .NET and have been looking at MonoTouch for a long time.

Learn Objective-C and OpenGL :) Im not being an arse when I say that because if you truly want to dive into the iPhone space you have to play by Apple's rules. If your games are awesome then I will buy it, and you can go and make it now and in a few weeks time it could be on the store. Think about it, mid May I could buy your app.

Why wait for a miracle to happen?

I find it interesting that so many people believed that Apple would allow this to happen and are now bummed that its been blocked. A sign of laziness or of one-eyed devotion to Adobe? I say, stop suckling the Adobe teet and enrich your coding knowledge and portfolio. Learn Objective-C today! propaganda poster :P

It's not about Adobe. It's about waking up one morning and finding your development toolchain, process, or application being prohibited for some bullshit reason that Apple came up with to sink somebody else's battleship.

If they did it to Unity3D, they might do it to you, too.

First they came for the crappy Flash games, and I said nothing because Flash sucks...

I don't want to learn another language and platform when there are two I am already intimate with that can be used to deploy apps on that platform.

Adobe, Novell etc enabled us all to skip learning a language and platform that is otherwise utterly useless .... would you learn Objective-C for anything but iPhone? Course not, so why would you learn it at all if something you already know can get you there.

I don't even have time to learn another language, I'm busy working my ass off on my startup - analytics for games. Thank fucking god I didn't pick "iPhone" cause the new terms kill all the guys who've put so much time and effort tackling that too.

I'm not really upset about their rules, because I'm not, nor ever will be, an iPhone developer. Apple has always been about control, and that's just not a world that interests me. I'm much more in favor of the web, Linux and that sort of thing, just as I was when Microsoft ruled the roost. Luckily, the world of computing is big enough so that there is room for everyone. I just hope Apple doesn't become the default mobile phone platform; but I don't think they will.
I'm currently developing iPhone app code, at justin.tv.

I wouldn't say I'm upset exactly, I just think Apple is being needlessly controlling right now (by which I mean they're being controlling just because they can, not because they need to be) and that turns me away from wanting to develop code for their platform again.

It also makes me think twice about buying any more of their products in the future. Again, I'm not "in uproar" - I just think Apple is probably no longer a very good option for me as a hacker/consumer.

I speak objective-c. I like it's verbosity. I couldn't care less about the recent changes in the toc partly because I knew this was coming.
I've had one app in the App Store since its launch and admittedly only do hobbyist work now and it doesn't bother me at all. I bought a Mac and learned Objective-C just to make stuff for my iPhone and I learned to really like Xcode and Obj-C.

I can understand why developers want their work on as many platforms as possible but when each platform has distinct interaction and design paradigms they can't fulfill them as well as they should by targeting the least common denominator.

Definition of an object to hold some state in Objective-C vs Io: http://gist.github.com/361355

Think of how many more apps would be created if we could use a less verbose language to create them.

Yeah, obj-c language is crazy. About the only thing more archiac is cobol. I don't care how innovative it was in the 80s. It's a damn fossil nowadays.

When going through tutorials and examples I just couldn't stop myself from saying: this would be so much simpler if I could write it in c# (my prefered language, but a bunch of others would come ahead of it if I had to make a list).

Crazy?

It's just smalltalk mixed with C. Learn those two, it makes total sense.

C#'s only features on the language IMO were: Better XML api's and Garbage Collection. Both of those are actually iPhone limitations, not language limitations.

Fine not crazy, but definitely archiac. Saying it's as modern as 2 other 30+ year old languages is funny. Heck, doesn't Apple even have a commercial where PC guy gives Mac guy a C manual or something like that?

It just takes so much more code than modern languages. Obviously that doesn't bother some people but it bugs me. I find this especially frustrating from a company that brags about how user friendly it is. To me obj-c is the DOS of programming languages.

And C# is Java2.0. It's the re-enterprisation of a 18 year old language designed to replace cobol.

I'm not an apple apologist, and wish I could run a real dynamic language on the device. C# however, was not that.

Replicate the same in Java, and let's do the comparison.
Actually, that may be exactly why apple is doing this.

Their reviewers are swamped with copious items they think are low quality (their words, not mine, and my solution for them is actually "Care Less").

I'm an iPhone developer and I like the new rules.

The privacy thing was getting out of hands - according to survey of 600 people I ran on mturk about 1/3 of the users are concerned about privacy ("what do you mean my data is collected!?"), 1/3 are willing to give developers benefit of the doubt and 1/3 don't care one bit. Apple should get praise for addressing this thing before it blew up, not "after numerous warnings were ignored". We don't want scared users, we want users happy and safe.

I also like the ban on 3d-party analytics for purely selfish reasons - I have my own and this ban gives me an advantage. It also paves the way for me to sell my analytics package to people to use in-house later on. Apple has shown indifference to dev analytics (beyond daily sales numbers) so I hope they keep doing that.

I like the cross-language compiler ban as well, again for selfish reasons. I was not looking forward to a horde of flash developers joining the fray and flooding the app store with more apps. It also elevates value of my Obj-C skills, should I decide to market them instead of building products.

I'm only concerned about smooth transition from current regime to the next one - I wanted to release an ad-supported app next week and I hope these new rules don't put me in limbo (e.g. Apple's ads aren't there yet, other ads are banned).

Other ads are NOT banned--that was in the Q&A session specifically, and Jobs said you can use any package you like.

(I guess as long as it's not collecting data that's user-specific.)

The intersection of ads with the new rules only has to do with location-targeting. Apple had unofficially discouraged it before, saying your app couldn't use Core Location "primarily" to serve targeted ads, and they've now strengthened that language and put it in the dev agreement (3.3.9).

There's no reason to think the Deck or FusionAds or AdMob are going away in their current incarnations.

Not true, agreement forbids using user data in ways not related to the primary function of the app and it also forbids passing device data to third parties.

I'm fairly sure moblcix and admob libraries collect device ID which falls under "device data".

There are currently ad libraries you link into your app, and I really have no idea what's in those libraries and what kind of stuff they send home. Which is the crux of the problem, really, and one of the things Apple is trying to address - we should know where we send the data and how it's being used, but individual developers are not powerful enough to affect change from ad provider. Apple is.

So anyway, since I don't know what these apps collect, I can't be certain if thy will be banned in short term. Obviously once they clean up their act they will be admitted, but the transition period may be messy, that's all I'm saying.

BTW: Is there a market in 3rd party libraries for the iPhone?
Not that large - most iPhone devs are poor and value there time less than money. But I think if you move away from "library" towards "I will solve your problem around X so you don't even have to think about it" there will be more people like me willing to pay. I didn't write my own analytics because I enjoy doing it - I needed the data but I didn't want to give up all my data to admob/mobclix etc to party on, and I wanted data to be high-granular.

Here is one guy selling stuff: http://www.drobnik.com/touch/ I planning to buy his calendar control because Apple can't be arsed to give me theirs and I don't want to spend weeks writing my own.

Thanks, 3rd party library are a healthy sign for a platform. I was thinking they go partially towards the fears in 3.1.1, of a layer, potentially cross-platform, and out of Apple's control. But I guess if they are iPhone-exclusive, it's less of a concern.
Your second and third points could be read as, "I like it because it makes the app store less competitive."

I guess I like it too because I don't want the next decade of personal computing to be an Apple monopoly, and making the app store less competitive is a good thing.

Well, I have admitted to selfish motivation. If Apple did an about-face and encouraged flash development I would like it too because I could better reach my target customers. In that sense I like clarity of any kind over uncertainty that was there a week ago.

I guess my point really is that as circumstances change I will find best way to use them to my advantage by changing what and how I do things. People who can't change some/any of that will obviously suffer, but I don't see why I should care about them.

The only bad things are when they change too fast, so I appreciate warning shots so I can maneuver out of the way in time. This time Apple gave us two months after a hard warning, and if they stay consistent with timing I'm fine with that too.

Good question. It is unlikely that many real iPhone devs are upset with the rules regarding 3rd party frameworks.

Here is a portion of my comments on mobileorchard

On the question of cross-platform tools, I think the old dev agreement did have some language against using 3rd party frameworks. The new dev agreement makes it much more explicit/clear. If I wanted to develop Android apps, I wouldn’t expect to use Cocoa-Touch and Objective-C. Similarly, I don’t need .NET or Flash to write iPhone apps. I like the Apple platform and code to it.

It appears that Apple wants to limit their app-store to developers who want to work with their platform. I think this is a legitimate desire. From Apple’s perspective, it helps iPhone users by improving quality and reducing quantity in the app-store and it also helps developers who invested the time to learn Apple’s platform. Obviously, it also helps Apple if developers use their platform directly instead of going through middle-men. Overall, I don’t have a problem with Apple’s policy.

(comment deleted)
Many top charting 3D & 2D games by indie developers (like top ten world wide, and staying there) use the the Unity3D framework to develop their games. It saves a ton of time, and the engine is very efficient and well developed and probably would do a better job than you whipping something yourself with just OpenGL ES. (Not to mention you don't have to learn OpenGL). The main chunk of the engine is written in C/C++ with other C libraries, but developers don't see that part and instead interface with the engine through a C#/javascript with types/Boo scripting interface and a 3D modeling interface to build objects and assets. I used it to make a game that didn't go through and I know using anything else would taken many months more of my time. If I was one of the developers who made one of those top listing games, I'd be pretty worried now about the future of my business.

Also not to mention, almost every type of game engine/game development methodology use a very similar model of main engine in c/game logic in a scripting language, and to not to be able to do that significantly decreases productivity. Baldur's gate, unreal engine, EVE online, Unity3D and probably many others.

That games point is worth mentioning again.

Using an engine can result in crap-ware. But is also allows developers to focus on the gameplay/story/important stuff. Planescape Torment wasn't good because it had a new engine (it just used the BG engine) - it was good because of the story/artwork/effort put into it.

Apple should focus on discovery. It doesn't matter how many crap apps there are (put it this way - There's far more crap webpages than there are crap apps) - as long as I can see and find the good ones.

Agreed. I'm working on a game for release in a couple months, and last week had wrapped up a two week project building a nice system for scripting game objects using Lua. I'm now in the process now of scrapping it and going back to C++ for game logic. I guess the bright side of this is that I didn't have that much script code written yet, so I don't have to port too much. :P
Why are you interested? Are you suggesting that I don't have the right to be outraged if it doesn't directly affect me?
I think it's a really valid question. If all the iPhone app makers now turn up and say "nah doesn't worry me" then it's an interesting metric.

I don't think anyone is saying that people don't have the right to be disgruntled or disproving unless they are developing for the platform.

It's simply interesting whether the concern is drive by a feeling that this is wrong, or because it materially affects people.

Not a developer and don't object to it. When I bought my first iPhone 3 years ago I did so because all these other SmartPhone platforms were so unpleasant to use. I don't mind letting Apple do their thing and protect the sanctity of the platform. If it upset me I'd just use something else instead.
As a software developer I am annoyed that Apple is exerting so much control over their platform instead of being more open with it.

But as an iPhone developer I don't really care that much. It doesn't really affect me since I'm already doing my work in Objective-C.

I'm not exactly surprised by the recent changes and can understand the logic behind their choices.

I think most of the outrage is coming from Flash developers and others who were hoping to be able to leverage their existing skillsets on the iPhone platform.

Before this, if I was going to develop for the iPhone, I'd have leaned toward doing it in Scheme. Now, my only options are languages I don't like.

Previously, if I had an idea for a mobile app that seemed financially promising, I'd have written an iPhone app. Now I'm convinced that developing for the iPhone platform is too risky. The only way I'd develop for the iPhone now is if I had some other project that would really benefit financially from a mobile tie-in that didn't work as a web app.

As a prospective (licensed but unreleased) developer, I don't care about this particular rule, because I'll be working directly in XCode. I do care about how Apple sprung it on their developer community out of a clear blue sky, trashing a lot of peoples' hard work in their quest to hose Adobe.

If Apple doesn't mind taking a wrecking ball to Unity3D's business model, who's to say they won't come up with some crazy rule next year that prohibits something I'm doing? How can I build a healthy long-term business around iPhone/iPad development, when I could find myself on the wrong side of a turf war I didn't even know was being fought?

I'm in the same boat. I know obj-c, but wanted to use unity3d for a game and phonegap to leverage my html5/CSS skills. Now, I'm spooked by what I perceive is Apple's prerogative to be arbitrary. I understand needing to cull the 'crapps', and that cs5 may have been the target. But why use carpet bombs when a scalpel would have done the job just as well?
Same boat here. For me, this is a really touch choice. I like the SDK and I think the iPhone OS is by far the best mobile OS out there, but I'm not sure I want to back this horse.

When Microsoft was the Evil Empire it was easy to stay away from them because I didn't like their software, but it costs me something to stay away from Apples ecosystem since it's really good. But I'd much rather see the mobile web succeed than the App Store and the other closed ecosystems.

i left the iphone game middle of last year. i had some fun but it wasn't the business i wanted to be in. anyways, these new rules are in keeping with apple's general disregard for developers. i don't think this particular rule would have affected me so much because i had already resigned myself to writing obj-C (which i grew to like after a while).

the general theme i see in some apple's more controversial policy changes (e.g. removing erotic apps, restricting developer tools) is to improve the quality of apps, both in terms of content and performance. i think a lot of the problems they have stem from the structure of the app store and that's what's incentivizing shitty, throwaway apps. restricting developer resources seems like a short sighted approach to addressing this. honestly, if they just started ranking apps by total revenue generated (instead of download volume) i think a lot of their problems would be solved. developers would be far more willing to put the time into making a quality app if they thought they could actually charge more than $0.99 for it without getting pushed out of the ranking.

this was one of the reasons i left iphone development. i spent a month or so working on a knockoff of Set (called Fetch). A friend did the graphics, i implemented wireless multiplayer. I really tried to create a nice application. I barely made enough to pay the designer and certainly didn't make enough to account for the time spent on it. I made another app called eyeTrip in a day. Not quite as dumb as Sound Grenade, but close :) Anyways, i made more money in a day off of that then i made off of Fetch. Once I realized that was the game, I started looking for a job.

I guess my little story is not specifically related to the OP, but the point is that there are much larger problems with developing for the app that are driving away developers.

There is a "Top Grossing" app store list, currently at the bottom right of the landing page. #1 is currently MLB 2010 which is $15. #2 is The Sims 3, $6.99. #3 is Red Laser, 99¢.

#6 is an app called "iRa Pro" which integrates with surveillance systems to show you the current feeds, and costs $900.

shows how much i've been paying attention :)
I have been in the process of porting an existing iPhone app over to Titanium as well as doing some contract iPhone development.

I am frustrated by Apple's decision, but I understand it. I don't enjoy ObjC, but I can handle it.