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