Hacker News new | past | comments | ask | show | jobs | submit login
Complaining iOS Developers are missing the point: Apple puts users first (vodpod.com)
40 points by nerdtastic5 on April 19, 2011 | hide | past | favorite | 29 comments



This title is misleading. Sure, there are development quips here and there, but I don't think it's more than any other language/platform. "Apple puts usability first" would be more appropriate.

Recent news and dissent from developers has been largely around political moves and gestapo tactics to keep its property exactly as it wants it. Consider a number of issues in which it isn't putting its users first

* taking 30% of all subscription fees, effectively a pass-through tax or killer-of-app in some cases (think Pandora)

* not allowing you to pay for digital forms of physical manifestations with in-app purchases (think concert tickets)

* not allowing you to run unauthorized apps even if you sign your life away that you know the risks

What's most sad about the loss of potential is that we never know what we're missing out on because it's too much of a business risk. There are many companies that are still looking at the App store with trepidation - beautiful, useful, life-changing things are inevitably lost (won't come to market through the App Store) and nobody will ever know what they "could" have had. That, in my opinion, is the saddest of all the injustices.


The not-knowing-what-you-could-have argument alone is more justification to oppose that company than everything I wrote above.


He should have started with his first sentence - and then stopped.. Sry, but this article is far from being objective. If you're going to say that a missing garbage collector is a feature, you could be one of those guys who use C for string operations. There always should be a choice of tools to get a job done. Of course: low(er) level languages have their justification (and I tend to like working in them!) - but the programmer is the one who should decide when to use what. Freedom in software development - of course - is something you value highly or you don't, that's a choice everyone has to make for her/himself. But I don't see the "genius" here. If I take one quote: "Our top priority is to provide a great end-user experience, not to make your life as a developer easy." - this EXACTLY is, what I don't quite get. In my opinion, the best developers are those who see no difference between work and fun. Imprisoning them in a set of rules will scare them away. That is something, every company in Apple's position should think twice about before risking it.

It's the same thing about the app store - the problem is not, that there is an app store or that the app store sucks. The problem is that you, as a dev, have no choices.

Apple is taking away choices and that is why I would never, ever make them profit through my work. They don't make the world a better place for me, even though they could easily.

This article is highly misleading: he talks about minor problems and ignores the big ones and drags the discussion to a level where Apple might have a stand.


If you're going to say that a missing garbage collector is a feature, you could be one of those guys who use C for string operations.

I don't do the latter. However, I do note that a lot of Mobile Web apps and a lot of Android phones have pauses and stutters when scrolling. From everything I've seen, not having GC on the iPhone is exactly the right contextual decision for its time and place, and this is from a long-time Smalltalker and GC advocate!


WP7 has garbage collection and it's really smooth.The real reason for Android stuttering is lack of GPU acceleration, not GC.


The built-in and really smooth apps are native code. The third-party apps are restricted to a managed runtime and are decidedly not really smooth. Though the Mango update will come with a better (generational) garbage collector which should improve things.


I never claimed to excuse every Apple business practice or App Store decision. My point was to try to show how if you assume the "average Apple customer" point of view, then you (Apple) may reasonably arrive at platform decisions and policies that aren't popular with app developers.

And much more than trying to apologize for Apple's policies, I was trying to explain the philosophy behind those policies because I think it's a useful thing for developers to understand. And to the extent that someone is arguing with Apple directly ('Letter to Steve Jobs'), then they're arguing philosophy and they may as well save their breath.


Who is the average apple customer? I thought Apple was about individuality and being different.


Who cares about GC? People are complaing because after month of hard work developing an App Apple simply rejects it because you're using the camera button as the photo shutter and that would of course tremendously confuse any users.

Things like Grooveshark make it also clear that Apple doesn't care about its user, but cares about its music sales on iTunes.

Then there was the time they rejected Google Voice, the time they rejected cross-compiled Apps and recently the whole new subscription policy. the list goes on and on.


I don't think so. Apple puts it's profits first, users second and developers somewhere down the line. I've always found it funny how otherwise liberal/non-authoritarian people to go great lengths to justify Apple's "Father Knows Best" mentality.


I guess I assumed since we're talking public companies here that everyone knows that profits come first. Since "profits come first" for Google, MS, Nokia, Samsung, and everyone else, its not really saying much.


Not true, at least not in a useful sense (that is, without semantic games like "Putting users first is really putting profits first because it makes them money"). Google often turns down options that would squeeze out a little more money at the expense of its users. For example, Google slapped content farms for being worthless even though they seem to be pretty good money-makers.


But, while trying to avoid the semantics arguement, their profits depend on their advertising, which depends on search qualtity. By keeping search qualtity high they are passing over small, short-term profits for long-term ones. Yes the main idea is keeping users happy somthey stick around, but they aren't doing it because they love their users theyre doing it to make a better business.


The point is that Apple's best interests are served by putting the consumers' interests before the developers'. For some other companies it might be the other way around, but Apple has no lack of people willing to be developers. It can easily afford to alienate some of 'em.

But consumers? There's a lot of people with iOS devices, but are they buying apps? If the top fifty apps on the app store are crap, and people can't find the good apps, they'll buy fewer apps, and that bites into Apple's revenues, unlike alienating a few spam-inclined developers, which doesn't.


Really? Then why is it so hard to hire OSX developers that can code their way out of a paper bag?


You don't code your way out of a paper bag, you just declare a subclass of NSPaperBag and assign it an outlet.


This article kinda rhymed with stuff I'd heard myself saying over the years about lots of issues: OS/2 (yes, yes), old crappy laptop, my BlackBerry, etc. I'd vociferously defend my situation even though it was sub-optimal (or, rather, _highly_ optimized!), then I'd cave and adopt the winning technology. I did this against the iPhone when I had a Blackberry Curve (friend: look at my new iPhone 2G!; me: ha, look at how much faster my little curve loads and renders a webpage!). Then I did it to Blackberry users when I had an iPhone 3GS (of course, I do it now with a SGS Fascinate). I did it against Java with its chickenshit little GC BS, then I looked at Java's libraries and speed of development relative to C++ and switched. All this goes to say that I probably have a bit of a confidence issue and it sounds to me as though the author of this article does, too.

The author writes "Embrace the Constraints" and, of course, you gotta do so in every situation. But you don't have to consider the constraints "features". On the two main points:

"The missing GC is a feature" is a statement that's looked increasingly silly over the last 10 years. Having a GC in Java does not mean that you get to be sloppy with memory, just that 80% of the work is done for you. Also, a 500MHz + 512MB machine is not a "limited device". Apple should include a GC and then not approve any app that peaks at more than X incremental and Y full GCs per second. Also, I've never heard my wife or her business partner say _anything_ about pauses on their phones, so this fear is mostly devs group-thinking.

I have a hard time seeing how the App Store is designed for users. It seems designed for Apple's business interests, to minimize Apple's support costs _and_ to maximize user enjoyment of a constrained system.

OTOH, the article certainly does convey how successful Apple has been with their "everything we do, we do for the user" marketing message, though.

Note: I could write a similar list of gripes about Android, so, while I'm a fan of Android and of its direction, I'm not a fanboy...


I cannot agree that no garbage collection is a feature. It is just like saying poverty is a feature.

However, Apple might have good reasons taking garbage collection out of iOS. Here is my speculation. From financial and technical point of view, it is not worth to drain their manpower in writing good garbage collector and handling consequent complexity in this device. It gains no better user experience. If garbage collector goes wrong, the user experience is hellish. Everyone will blame Apple instead of application developers.

On the other hand, writing Objective-C code is not particularly hard. The key is to return memory to system as soon as possible. Once adapted to class pattern, coder is easy to manage memory because the memory alloc/release cycle is very structural. Just keep it in designated place. Also, Apple does not inhibit coders to use autorelease. And, XCode have some tools to detect possible memory leaking code.

I have worked on Adobe Flex for years. Flash player has garbage collection. But in fact, an application consumes lots of memory easily but there is no way to control it. Garbage collection is good, but only when there is a good garbage collector.

I am optimistic that some years later, garbage collector will eventually on iOS, as MacOS X now. Mobile processor and battery are expected to be more powerful.

From my experience, Apple does not really care about memory leaking of my application. (Or I never exceed their limit. Or it is hard to distinguish from other consumption.) Apple concerns more on application design and its content.


You had me me on board... until you made the claim the app store was clearly in the users best interest.. I was a user for 2 years before I was a dev.. and the app store is still the worst part of my iPhone ownership.. It's an awful mess that feels mostly unusable.


Apple puts Apple first.


Apple's supposed to put Apple first. It's a for-profit company, not an NGO. Do you think Microsoft, or Google, or Facebook view things otherwise?

More interestingly, Apple puts Apple first by aggressively trying to pursue policies they believe will make their end customers happy. At least for the last decade, it seems to be working pretty damn well. You can hate or love their actions, but I'd argue at least they seem to have a pretty consistent strategy and real direction when compared to say, Microsoft. Nobody really gets exercised about MSFT much any more, because they don't really seem to have much of a consistent personality you can get excited over.


>I can argue that every rule in the App Store contributes to making it a more effective developer->user market than the open web.

Really? What about Apple banning an Android magazine app? The user must be shielded from alternates for their own good so that they won't get tempted to shift to an inferior device?

http://tech.fortune.cnn.com/2010/11/26/apple-bans-android-ma...

And what about a prototyping app like this one? http://blog.robrhyne.com/post/1015614125/google-voice-says-h...

Those are just the tip of the iceberg. Taking a year to judge a Google voice app? Good for the user!

>: the App Store is oriented towards exposing and supporting great apps, not just apps in general. It’s a philosophy that says “What users need is 50 great apps, not 10,000 average apps”.

Taking a 5 minute look at a few of the 300K apps in the app store is enough to dispel this, Apple approves trite apps all the time.


It's a hierarchy. Apple > Users > Devs > Partners. I think all their actions when viewed through this filter make sense.


Indeed. Compare and contrast:

Google > advertisers > strategic partners (e.g. open handset) > search users > search targets > Adsense partners

Microsoft > application devs > enterprise IT > small business IT > users


The latter might be more like: Microsoft > Hardware OEM Partners > Enterprise IT > 3rd-Party Windows Devs > Small-Business IT > Users


I said every "rule" and I guess I meant it generally. I certainly didn't mean to imply that every capricious Apple decision is good for users.


To crib an idea I saw a few days back on hn: if something doesn't work in absolutist terms, perhaps it shouldn't be expressed in absolutist terms.


>The fact is, the iPhone and iPad are underpowered computers. They have limited storage, limited memory, (relatively) slow processors, slow network connections, and most importantly, small screens. And thus to make a great application user experience for these devices, you have to design with all those limitations in mind.

>And this I think is where the genius of Apple comes in. They aren’t trying to hide those limitations from the developer.

How can Apple even hide these limitations? I fail to see their genius here. All I see in the "article" are Gruber-ish vacuous arguments and justifications about how 'Apple can do no wrong'. Regardless, this post will get lots of upvotes because there are a lot of Apple fans around that will upmod based on the title of the post.


tl;dr: Apple puts "Apple" first.




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

Search: