Apple can fuck over iPhone devs, and they do. Frankly, it's what you would expect from them. An abuser doesn't stop beating when you confront him; he stops beating you when you leave.
Some things are tricky and unintuitive, but that's the way it is in any market. Selling a product just isn't easy. You are always fighting against smart people, and there are unknowns.
I feel like people shouldn't get into the App Store market thinking that they will make a million dollars their first app. Only a few people can succeed like that at any time. But, if you jump through Apple's hoops, listen to your customers, and try and serve a real need, you can make a living on the iPhone.
People expect launching an iPhone app to be like launching a website, which you can do in a single day. They expect to be able to push whatever code they want, and push releases whenever they want.
Well, the App Store isn't like that. And while my website is fun and cool, it doesn't make much money. My iPhone app does.
Some how they have succeeded in enthralling tons of developers and tons of end users. I can't help think that part of that is that because the process is actually pretty good in the scheme of things.
It would be really expensive to deal with every bitchy developer who had a problem, personally.
I mean, Google operates the same way and they are great. It's nearly impossible to email anyone for support for any Google product.
Come to think of it though, in terms of buying things, the 'biggest' market is probably all those crappy ring tones and things of that ilk, although it's probably not of much interest to 'hacker news' types.
So how can you complain?? If it weren't for Apple it would be orders of magnitude harder to make money on phone software.
No. You want a terrible platform, you try writing software for the Nokia platform. Or heck, try any other phone platform besides the iPhone. It's not a coincidence more apps are sold for the iPhone than for any other platform.
Apple has provided the best user experience and has the most users who are willing to buy apps. They are doing you a great service by allowing third party apps and promoting apps that hit their "best of" lists for free. Just because the experience isn't perfect doesn't mean Apple is "fucking over iPhone devs".
Developing applications for the Android platform is an absolutely wonderful process; I can build apps in Eclipse on any platform, plug in my phone via USB, instantly upload the compiled code, and run the app with a full debugger suite in Eclipse allowing me to debug apps as they're running on the phone, with breakpoints, full listing of in-scope variables, and a list of all process threads. And I haven't even had to pay a developer fee! Imagine that...
And while I haven't personally put an app on the Market, I've heard that the Market process is really straightforward and simple. And some of the apps I've downloaded have had multiple new versions available in a single week, so it's not slow, lumbering, and full of pitfalls like the App Store process.
The coincidence is just that Apple has spent more on marketing and branding for the iPhone than other platforms, and they were the "first" to have an all-in-one smartphone device with a decent UI, but they are by no means the "best" on the market. They just spend a lot of money and resources to get everyone to think they are.
Not sure if having to update the same app multiple times in one week is something I'd like to do as a consumer. I like the release early, release often strategy for development, but when the app is running on someone else's device I'd like to see people put a little more attention into the quality of the software they ship. Why exactly does someone need to update their app multiple times in one week?
Shit happens, and updating to fix a bug should not have a two-week latency where some reviewer could all of a sudden decide that your app is now rejected or no longer meets some amorphous criterion.
This is the age of web applications and permanently net-connected smart phones. Who are you to tell me I can't fix a typo or push a bugfix more than once a week?
I've had one of my apps rejected because I used the an icon incorrectly (it was for submitting a request, but the icon was only supposed to be used for sending messages. huh?). A tiny change in IB and it was accepted a week later. Yet crap like this gets through no problem: http://ralovely.com/downloads/triplog1040.png And that's not even a bad case by a long shot.
Based on Apple's own numbers, about 1 in 20 app store submissions are being rejected. There's no way to know how many of those are legitimate rejections (I'm willing to bet a lot), but that's a pretty scary number of apps that should be let through that aren't.
The changes they need to make to drastically improve the experience for devs are really minor. I don't know why Apple's making them, other than a tradition of insane levels of secrecy in their corporate culture. That or they're just too embarrassed to let people see into their review structure. Either way, something is broken.
I'm not an iPhone developer, nor have I ever developed anything for the Mac platform specifically. Based on the stories I've read online it does sound like Apple isn't handling their iPhone app store well, but I do take issue with the part of your comment I've quoted.
I'd like some examples about why you would expect to be treated poorly (or as you put it abused) by Apple. Is it only based on their track record with app developers? If so perhaps it's a problem rooted in the iPhone app process itself and not systemic to the whole company, as you imply. I would need more examples of Apple's abusive policies to understand your statement, for now though I'm not going to write off Apple as horrible corporation because some app developers cry foul (to which, according to the blogger's own admission, Apple attempts to promptly respond to and rectify).
Those stories are the worst experiences and are not representative of the majority of iPhone development. The Apple app store is handled worlds better than any other phone. No other platform is even usable to the extent that you see people complain about it.
With the exception of the session that is mentioned in this article, I'm going to have to disagree.
To counter with my own anecdote in here, I work on a few apps (mac and iphone) and every time I went down to a lab to talk to an engineer directly, I was able to get help and have my problem solved. Issues ranged from bugs in Apple's code (with 10.6, and will be fixed by release) to App Portal/App ID issues, to bugs in my own code.
This wouldn't have gotten the love it did if it didn't ring all-too-true to all-too-many people.
I’ve also learned that many of the problems aren’t intentional: many parts of Apple’s internal infrastructure are overloaded or extremely outdated, and they’re scrambling to keep up with their growth, often ineffectively.
One major surprise was when an Apple employee told me that the App Store reviewers are not outsourced: they’re all direct, full-time Apple employees. Many of them work nights and weekends to keep up with the extremely high submission volume, and they’re constantly expanding the staff to keep up with the submission growth.
Source? Why, the very same post that Gruber is quoting in this submission.
Certainly some of the stats I was able to get from testers (thanks PinchMedia) suggest the testers have access to the AT&T network in the US. I could probably find IP addresses from Apple's /8 if people wanted to try to validate further.
I don't know if it's the phone or the network - I haven't done much testing. It's quite irritating pressing the answer button repeatedly and the phone not answering the call, or when I call someone and I end up unable to hear them while they can hear me.
Of course these are isolated data points. I do think that Apple has made a mistake by limiting the iPhone to one carrier, especially one that can arouse strong hatred like AT&T.
The iPhone, with rare exception, obeys the UI convention that leaving an app closes the app rather than leaving it running in the background. The exceptions to that (Phone and iPod) indicate at the top of the screen that they're still running in the background. OK, so third party apps could have that too. But once you start adding taskbars and process monitors to the phone, you still lose something.
OK, I'll give you MMS.
Who else sells a computer with only one mouse button?
Who else sells a phone with only one button?
Awful APIs that prevent you from really reading camera data?
First iPod had less disk space than any other player
First iPod had no windows support
Safari's extension support are crappy relative to FF or even IE
OSX dock can display 1/100th the apps of menus on other OSes
Apple's strategy is to cut features. This is roughly equivalent to asceticism: finding enlightenment by doing less. Like asceticism, this seems a bad idea on the surface, but some people really seem happier doing it.
Disclaimer: The closest I own to a smart phone is one of these email/phone/web devices they sell in Japan that has a pita interface to use.
(Keep in mind: Playing music and txting / getting phone calls is multi-tasking.)
Tho' this is becoming less important because people on all platforms just post to Facebook or Flickr directly from their phones now, but even so, lack of MMS hurt iPhone early on.
(I'm in Europe, not everyone has MMS).
You get a text message that says to go to viewmymessage.com with some ridiculous username & password pairing. Since you can't copy & paste, or multi-task, you have to somehow remember what that combination is. Of course, once you've managed to pull up the page, you find out that the multi-media part of the message is a SWF... Which the iPhone doesn't support.
I've met our payroll for months on iPhone contract work and licensing, but not one of our clients or customers has made back their initial investment. I hear the same from other iPhone developers.
Moreover, we've found Apple to be capricious in their regular and seemingly inescapable rejections, absolutely impossible to contact directly for any reason, and in the worst cases, only responsive to bad press.
Personally, I wouldn't write another in-house iPhone application for love or money, but I'm happy to capitalize on the gold rush while I focus on other platforms.
However, I find it utterly reprehensible that Apple doesn't allow developers to distribute their applications on their own. iPhone owners should be able to install whatever they want on the device they purchased.
Why? It's such an entrenched idea, but you don't get to rewrite paragraphs of books, or scenes in films, or suits in a pack of playing cards or the firmware in your alarm clock. The iPhone is sold as is, why should we expect to use it any differently?
Wow. It's almost sickening to see the inversion of the principles of software freedom that Apple is able to get away with and not get criticized in the fanboi community. Geeks have been lambasting Microsoft for merely having proprietary formats for 20 years. They even got fined for billions of dollars just for not documenting their protocols well enough. Now Apple plays god and controls every single application that can ever even run on a platform. They make developers sign NDAs that prevent them even talking about technical details of the platform publicly. They do these things that are the antithesis of everything the open software community have been trying to achieve for the last 15 years and not only do people like yourself give it a pass, you go out of your way to stand up and defend it. I find it breathtaking.
Irrelevant. Regardless of whether I am a fanboi, my question stands.
Geeks have been lambasting Microsoft for merely having proprietary formats for 20 years.
Yes, but also irrelevant. I don't like Microsoft (or any company's) proprietary formats, but I think they should have the right to create and use them.
They even got fined for billions of dollars just for not documenting their protocols well enough.
That both annoys and pleases me, but it's not relevant.
Now Apple plays god and controls every single application that can ever even run on a platform.
Yes. It's an Apple platform. They ought to be allowed to. (What kind of attack is "stop, you're playing God" anyway? Kids "Play God" in sandpits, that's no reason to ban sand pits.)
They make developers sign NDAs that prevent them even talking about technical details of the platform publicly.
Yes, and they ought to be allowed to do this. I don't personally enjoy it or think it fosters a great community, but that's also not relevant.
They do these things that are the antithesis of everything the open software community have been trying to achieve for the last 15 years
Where and why do the open source community come into this at all? The open source community pushes its own agenda, not no agenda.
and not only do people like yourself give it a pass
I give it a pass because I see no reason not to. This doesn't mean I like it and approve of it personally, but I think it should be allowed and acceptable.
you go out of your way to stand up and defend it.
It needs defending; most of the attacks are plain silly.
This is the crux of where we disagree. I don't think you'll see many people claiming that Apple doesn't have a right to do what they've been doing, but the fact that something should be allowed does not imply that it should be considered acceptable.
Flash pop-up ads on web sites, for example, are completely unacceptable. If some web site pulls that crap with me, I stay the hell away from it. If I have to use that web site for some reason, I'll grouse about it. I wouldn't try to deprive those web sites of their right to use Flash in obnoxious ways, but I sure won't stand for it.
Similarly, Apple's behavior is unpleasant and disturbing and it should be treated as such. This is one of the big advantages of the Android platform, and why I will not get an iPhone: openness. Freedom, if that doesn't sound too hokey. It's important to me.
Why are you trying to restrict what Apple can sell so it only covers devices that conform to your standards?
The iPhone and iPod Touch are, unlike the average alarm clock, single purpose machines implemented on top of general purpose ones. I see many good reasons to want to change the firmware, use your own iPhone on your carrier and pay full price for unlocked units. If it's yours you should be allowed to do anything with it.
Bad example. Apple does nothing to prevent you from using an iPhone as a monitor stand, doorstop, hammer, frisbee, or whatever else. The limitations that people complain about all have to do with the software, which like the contents of the book, you do not own.
I understand that people want Apple's software to allow certain things, but I think stating it as if Apple is impinging on the user's rights because it does not is a dishonest exaggeration.
All they should do is void warranty if someone tempers with the OS. Same for books.
It's a very simple point: there is a difference in the rights you have over hardware and software just as there is a difference in the rights you have over a book and the contents of the book. Pretending that the rules of one should apply to the other is nonsensical.
The reason this distinction is important is that many people claim that Apple is impinging upon their rights with the restrictions built into the OS, but they don't actually have any rights over the OS and ownership of the hardware does not grant them any. By analogy, owning a book does not grant you any rights over the copyrighted contents. People readily understand the latter, but seem to violently reject the former.
All they should do is void warranty if someone tempers with the OS.
That is all they do. Why would you think otherwise?
Not true. Read a bit about "ibricks": http://bits.blogs.nytimes.com/2007/09/28/more-on-apples-late...
I tend to take it as a given, considering that the iPhone is essentially a miniature computer and the past decade or so has thrived on customizable, hackable personal computers.
Apple has always wanted to assert extra control on the products they ship. With Mac's, they've controlled the hardware. Now they're trying to control the software. Imagine a version of OS X where every application had to be approved. Does that not strike you as horribly wrong? I wouldn't want to use an operating system with those restrictions, though I imagine the best response to such an OS would be to not purchase it.
iPod / PMP (Apple, Microsoft, Creative)
Camera (Cannon, Nokia, Sony, etc)
GPS unit (Garmin, Tom Tom, etc)
Phone (cheap flip phone)
Gaming device (PSP, DS)
There are exceptions of course -- and workarounds/hacks to circumvent protection (just like Jailbreaking on the iPhone) but more or less these sorts of closed appliance like devices are quite popular on their own. Apple simply combined them into one physical device and kept the same rules.
Apple doesn't sell the iPhone as a general purpose computer so any consumer who buys one expecting it to function that way probably bought the wrong product. I can understand why someone might want that option but it doesn't change the fact that Apple does not sell a product that fits those needs and, based on the success of stand alone devices sold in the same fashion, it is almost completely irrelevant in real world sales or usage for most people. There is of course jailbreaking -- there's also Linux on iPhone hardware. I'm not sure how much progress they've made but I seem to recall they at least had a booting kernel a while back.
"I don't like it" and "wrong" are not interchangeable.
1) No native IMAP support
2) No native Exchange support without a BES
3) Horrific attachment viewer.
4) No real-time spellcheck
5) No auto-correction
6) No easy way to sync contacts/calendars over the air
7) No (minimal?) HTML e-mail support (unfortunately sometimes it does help make long e-mail chains more readable)
8) Gotta rely on your carrier for push e-mail -- or in the case of Sprint "Oh yeah we'll send it if we get a chance. Give us like 20 minutes K?" e-mail service.
9) No intuitive way of deleting lots of e-mail messages that don't happen to all be sequential to each other in the list.
10) No folders -- just one big flat mailbox. Hard to save messages on your phone this way. Again, fixed if you have a BES but I don't want my $200 SmartPhone to require $2k-$5k in hardware/software to be functional.
It certainly gets the job done for the basics but once you get used to having more options and flexibility it's hard to go back.
Now, of course, this doesn't restrict Apple from building in mechanisms to prevent this sort of thing. I won't buy their device because of them, but I doubt this bothers Steve Jobs one bit.
And btw, they have gone after sites that talk about how to jailbreak the iPhone. Copyright was just an excuse.
I like how you can predict the future... How else do you know what a company is going to do, before the company does it?
If Apple honestly believed they would never go after someone for jailbreaking, then they wouldn't waste their time laying the legal groundwork to do so.
Jailbreaking per se is not illegal. Violating copyright to do so is. The EFF filed for a DMCA exemption which would allow violating the DMCA for the purposes of jailbreaking, primarily of iPhones. The EFF is the one attempting to lay legal groundwork by changing the law -- what they propose is currently illegal. Apple's filing is only a response to the EFF's comments.
On what grounds would they aside from copyright?
Copyright was just an excuse.
I don't understand. Are you saying they have not had legitimate copyright claims, or that they have but that they are somehow irrelevant?
It's entrenched idea because, for most of these, I do get to do those things. I'm free to rip pages out of the books I own, or write in the margin, or re-word stuff with white-out and a pen. I'm free to mix several decks of cards to make my own weird set. I would expect I can hack on my alarm clock too, except I have no idea how to alter the firmware. :) I have "re-purposed" analog mechanical clocks. And why not? I owned them.
Why should "as is" mean "stays as"?
Apple, on the other hand, has worked pretty damn hard to restrict their customers from being able to install their own software. That is very much a "fuck you" direct from Steve Jobs.
They can. It is the iPhone OS, which they do not own, that does not support this.
Ah well. There's always Android.
Seriously, how much more of this Apple-flagellation are you peeps gonna accept?!?? (Yes _flagellation_.)
I have heard from Apple engineers that leaking information as an Apple engineer may as well equal getting fired though...
The alternatives simply do not have the consumer mindshare that the iPhone does, which is unfortunate.
I realize some people feel all hip with a iPhone in their pocket, but I don't think the devs really have enough reason to stick with Apple through this behavior.
I certainly don't.
"And certainly, we would love to be developing for a Nokia platform if they have solved the same problems as elegantly as Apple has delivered their solution. But the fact is that for the same success as the iPhone has become, you need an unfragmented platform on the hardware level. You need a good SDK."
JL: "Include enough base level of hardware. It can't be some software rendering or no hardware rendering chip. And the fragmentation, it creates this awful disparity of the games, so you have to support software rendering and make everything scale to that. Any high end games use the hardware rendering, but that's a lot of cost to make it two times."
"On the iPhone, you can actually work as an independent publisher, and you can own your IP. You can publish it because there are no huge challenges. If we're bringing that IP to the mobile space, and if we wanted to self-publish it, we would actually have to build the technology or hire hundreds of hourly wageworkers to port to that mass of handsets.
And we can't afford that as an indie. Then we would have to go through a publisher, the publisher would want to own the IP, and then we would be stuck in the same hand-to-mouth loop, the kind of vicious circle that many traditional mobile developers are in. Their only chance is to pitch their next project to the publisher and then work on their mouth opening strategy."
As people that previously worked doing 3D on mobile, which was quite a task, how have you found the iPhone hardware in terms of working with it?
JL: "I think it's absolutely beautiful to work with in the API and the technical side as well. Because it's a standard API, Open GL ES, it's so easy to work with, I think."
"And because the operating system is based on some Unix, even that allows me to deliver all the knowledge that I have. Just pick some code that works in Unix or Linux, and it works on iPhone as well, so mostly, it's much easier. It's one of the easiest platforms that I have ever worked with."
But having had one for about 2 years, 1 year of which it was only about 60% functional due to an "insensitive" touch screen, and having lived with the less than friendly support staff, I'm pretty confident in saying that's about as deep as it goes.
Its very shiny. Its designed to look pretty in Walmart and in AT&T stores and in Apple stores. Its designed to have nifty little IMHO useless widgets that impress your friends in 2 minute water cooler conversations.
But when it came time for me to finally buy a new phone, there was no way in hell I was buying an iPhone.
Thus, this article surprises me in no way. I had no interest in developing for the thing as soon as I read the license agreement, especially after having used it for a while.
It would seem to me there's a huge opportunity here for someone else to come in and blow the doors off of them, in terms of developer friendliness, openness, support, price, etc... but in searching for a new phone I didn't see anyone clearly better.
Have you not heard of Android? Developer friendliness? Check. Openness? Check. Support? Check. Price? Check.
Google is spectacular in all of these regards. Android is open source, and Google is throwing serious weight into making things extremely easy for developers. It's not without its problems, but I give it an 'A' in every area you brought up.
Also, I merged a bunch of ideas together and probably rushed that reply. I'm horrible at posting to forums like this because I almost never get up the nerve to do it.
Anyway, if Android was more available (i.e. if the O/S was adopted by a major cellphone manufacturer like a Nokia or Motorola across many different models on multiple carriers), and I could have easily got my hands on one, I would have bought that instead. But as far as I know its only available at T-Mobile, and only in the form of the G1, and was only maybe available at this one T-Mobile store that was quite a drive from here. Many other phones are easily available within a very short drive, so that's what I ended up with.
I'm guessing at least half will be available in the U.S. I'd also wager that, if not by the end of the year, then at least by next summer, all major carriers in the States will have multiple Android phones to choose from. So things are moving in the right direction; when you're ready for your next phone, I think you'll be very pleased with your options.
Why do I still have to jailbreak and unlock an Android phone, when it is so open? (Rhetorical Question)
Yes, check if you want phones with really bad battery lifetime (so far, let's see when a decent phone comes out, I might reconsider).
Btw, is it true that you can only use the phones if you have a google account and that there are several phone home features in the phone?
Trust, hostility, and the human side of Apple
Without knowing the content, I'm reluctant to criticize the decision not to take questions since I remember one WWDC session where one developer (let's call him "dw") destroyed an AppleScript session with his Q&A ranting.
Yes, Apple engineers skipped the Q&A, but were all available at the foot of the stage after the presentation to take individual (and off-the-record) questions.
Power corrupts etc. What I can't understand is why there's this tendency to rub people's face in how successful and powerful you are (ie the session as described by OP). It speaks of an underlying insecurity. If you are the alpha dog and know it, you should not be afraid to face your underlings squarely and tell them "hey, I'm alpha dog, I don't need to explain every decision I make". You know, like "I'm the Decider".
But that would be too direct and honest for the mamsy-pamsy, passive-aggressive Silicon Valley style of "fuck you", which is something like "Oh, that's nice. What, did you ask me another question? I thought you had left already."
A significant portion of the reason why Microsoft dominated is because Apple wanted to control the hardware and the software. Microsoft was more than willing to settle for 'just' the software, running on top of a more or less open hardware platform. The Mac was better, earlier than Windows, and continued to be for a while. But outside of a brief window, you could only buy one from Apple - there was no vendor competition.
Not trying to negate the negative experiences of other developers, but I do think a lot of this is a case of an understandably pissed-off minority.
I haven't been following WWDC very closely, did Apple do something major to piss off developers? Or is Marco referring to general App Store issues?
It's not difficult to understand: the iPhone is based on a version of OS X, so when Apple came to write the developer tools, they extended the OS X developer tools. These, unsurprisingly, are OS X native.
You may not agree with it, but it's not incomprehensible.
Palm WebOS (linux-based): Mojo seems to be Linux, Mac & Windows
Blackberry: MDS is an Eclipse plugin, so Linux, Mac & Windows
Apple and Microsoft are the only ones to lock you onto one platform. Despite all the marketing dollars invested in showing how different Apple and Microsoft are, I see them apply the exact same strategies for the same purposes every single time they get the chance.
But this is just a pipe dream, there is no way MS would be let to get away with such practices, on the other hand Apple are well with in their right to do so.
You mean like the Zune or XBox?