Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: See what Apps your friends are using on iPhone in real-time (appmap.mobi)
25 points by benguild on Dec 4, 2012 | hide | past | favorite | 12 comments



I don't have an iPhone, but on it's face this seems like a very scary idea. They say they select from a database, but does that mean that I can whitelist what apps are shared with the server, or is some random person going to see everything I do?

Also, the unstyled privacy page is a bit offputting: http://appmap.mobi/privacy


What I'd like is a log / graph of what apps I am using on my own iPhone, in an MRU sort and frequency sort.


Try carat (http://carat.cs.berkeley.edu/) - shows you over time what apps are using the most power.


With all the data kept locally and not uploaded anywhere.


How do they collect this data, technically?


It's a bit of a hack.

There is no way to get hold of a list of installed or runnings apps through the Cocoa APIs (this is in contrast to Android, where you can obtain finite information on apps right down to data consumption).

However, there is a way to obtain all current running processes, using the standard sysctl function[1]. This includes apps that are backgrounded but not terminated. If you are interested someone on StackOverflow has put together some sample code (I haven't verified it, but it looks like it should work)[2].

This is not as useful as it sounds though. You're not getting app metadata, just process names. The developers behind AppMap will presumably have set up a database populated with the most popular apps, but will need to keep this current as more apps come to market.

[1]: http://developer.apple.com/library/ios/#documentation/System...

[2]: http://stackoverflow.com/questions/10141067/running-apps-in-...


It's really interesting. Thanks for the detailed explanation. I always wondered if there's any way to do this.. And it's good to know that Apple is OK with this kind of hack.



That's slightly different: iHasApp is matching back against a list of URL schemes (check the repository, you'll find a big fat JSON file full of app identifiers). This can tell you if an app is installed, but not if it's being actively run. See my answer above for how you can figure out whether an app is currently being used, rather than simply just installed.


How does this work? iOS has permissions to see other running applications?


You can use MobileDevice (private framework on OS X) or libimobiledevice to query lockdownd for a list of installed apps. Of course this only works from a PC host. Jailbroken apps can directly query lockdownd or traverse the filesystem if they would like to.


So it's a geo location-enhanced "most popular apps" list, essentially?




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: