

Apple to App Developer: Remove the Most Useful Function, Please - thinkzig
http://mashable.com/2009/08/28/apple-istat/

======
hlidotbe
I'll repeat what I commented on Mashable... the "most useful feature" (which
is "freeing memory" not "showing free memory, that still works) generate a lot
of crash reports.

Whenever you hit the "free memory button" iStat fill the memory of the device
until it receive a "low memory warning". In the mean time all background apps
are zapped which includes Mail, iPod, ...

I can see why Apple is annoyed to receive crash reports because an app
willingly force theirs to crash (gracefully).

Still, iStat is a great app, beautifull and functionnal. I personnaly won't
miss this feature.

~~~
scott_s
The concept of "free memory" on a modern system also makes no sense. RAM that
is not used is wasted. (Up to a point; the OS will try to keep a percentage
actually free so it can always do some work, but this is not much compared to
the total.) The more of your RAM that is taken up, the more data you have
cached.

~~~
masklinn
> The concept of "free memory" on a modern system also makes no sense. RAM
> that is not used is wasted.

The problem is that the iPhone OS tends to have issues with releasing memory
especially in high-pressure situations e.g. games. It's quite frequent that
out of the ~60MB non-OS RAM of a 3G a game only gets to use 10~20MB, and lags
(or even crashes for the most intense ones) because of that. The initial
"solution" was to reboot the damn phone in order to kill the MobileMail and
MobileSafari background processes.

"Free memory" functions give users the ability to kill those without having to
restart the phone, which far shorten the time it takes to "reclaim" all your
ram and be in an ideal position to launch a demanding game.

And apple's ripping on WiMo's task manager comes to bite the users's asses.

~~~
antonovka
This is the game developer's issue -- on the iPhone, you _must_ avoid extreme
memory pressure and ramp up your usage gradually enough to allow the OS to
exit background applications.

I wouldn't be surprised if "Free Memory" functionality was a placebo in the
vast number of cases: the number jumps from 4 megabytes to 20 megabytes, isn't
that an improvement? Never you mind all those cached pages the OS just
dropped.

In the cases where it's not a placebo, it's a bug in the original application.
If "free memory" functionality allows you to work around that bug, I can see
how you would be frustrated with its removal from App Store applications.

Of course, as stupid as I think it is to charge money for a malloc()+bzero()
in a loop, I still don't think Apple should be censoring applications.

~~~
masklinn
> on the iPhone, you must avoid extreme memory pressure and ramp up your usage
> gradually enough to allow the OS to exit background applications.

Definitely, but when you're playing a game which is all in all pretty nice
apart from the memory issues (on a 2G or a 3G, he 3GS tends not to have
problems there of course), if a simple RAM wipe allows you to spend a nice
commute, you're not going to go whine to the dev and then spend an awful
commute. I won't anyway.

> I wouldn't be surprised if "Free Memory" functionality was a placebo in the
> vast number of cases

It's not. The effect is noticeable in many cases.

> Never you mind all those cached pages the OS just dropped.

Since you're usually freeing memory to open a game, you don't really care for
those dropped cached pages. You care for the game you're trying to play.

------
xsmasher
Author fails to mention that they are using an undocumented API to retrieve
this information. Staying away from undocumented API's has been the rule since
day one.

~~~
blasdel
What the fuck are you talking about? Making a goddamn syscall to get the VM
usage of other processes is _not_ an undocumented API.

~~~
antonovka
Yes -- the API (host_statistics() on Darwin) is in the public headers and is
not private.

Of course, it wasn't the ability to _show_ free memory that they removed,
rather, the ability to trigger OS low memory handling by allocating (nearly)
all available free memory.

~~~
blasdel
Maybe he'll try to tell us _"malloc() ain't a part of no public API I ever
herd of!"_

------
geuis
No this is COMPLETE BS. I haven't cared about Google Voice and all of the
other apps that were rejected. But I have personally used iStat and it's
predecessor app for a long time. It was the only bloody way for me to know if
my edge & 3g phones were going to crash from lack of memory. I have never had
problems with these apps. As long as you followed the clearly written
instructions about how to free up more memory, you were fine. This is some
official bullshit.

------
onreact-com
There must be a reason for this.

Maybe they run some spyware in the background you could suspect to exist once
you compared the memory you use yourself with the memory still available?

It's easy to spy on others using their iPhones and there are several ways the
iPhone calls home or can be remotely run by Apple (for instance to delete
prohibited apps) so that would be no wonder.

~~~
roc
There is no shortage of apps in the App Store that show free memory.

~~~
onreact-com
No. Did you read the article? They removed ALL of them not just this one.

~~~
masklinn
> They removed ALL of them not just this one.

They missed a bunch of them then. Memory Status is still up for instance.

~~~
moe
Thanks for the pointer

\--Steve

