Ask HN: How many people upset over Apple's rules are actually iPhone developers?
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 ] threadThat 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...
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
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.
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!).
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.
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 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.
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
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...
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 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 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.
Think of how many more apps would be created if we could use a less verbose language to create them.
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).
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.
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.
I'm not an apple apologist, and wish I could run a real dynamic language on the device. C# however, was not that.
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").
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).
(I guess as long as it's not collecting data that's user-specific.)
There's no reason to think the Deck or FusionAds or AdMob are going away in their current incarnations.
I'm fairly sure moblcix and admob libraries collect device ID which falls under "device data".
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
I think Apple did native iphone developers a favor. Just think about the army of Flash developers jumping into the app store.
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?
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.
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.
#6 is an app called "iRa Pro" which integrates with surveillance systems to show you the current feeds, and costs $900.
I am frustrated by Apple's decision, but I understand it. I don't enjoy ObjC, but I can handle it.