

Complaining iOS Developers are missing the point: Apple puts users first - nerdtastic5
http://geekblog.vodpod.com/2011/04/18/the-genius-of-apple-users-first/

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

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

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

~~~
stcredzero
_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!

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

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

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

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

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

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

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

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

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

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

------
comice
Apple puts Apple first.

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

------
cooldeal
>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...](http://tech.fortune.cnn.com/2010/11/26/apple-bans-android-magazine-
app/)

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

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.

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

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

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

------
billmcneale
tl;dr: Apple puts "Apple" first.

