An important everyday utility that I use on my Mac OS X desktop is the network MenuMeters meter, and here is what it looks like (circled in red):
This is a simple network monitor, that just shows me upload and download bandwidth in use currently. If I see that a lot of download bandwidth is being used, then I usually come to the conclusion that I have BitTorrent downloads going on in the background, or probably a video is playing on YouTube. Similarly, if I see a lot of upstream bandwidth in use, I think that my sister in the other room is streaming a TV show or movie from my laptop on her HDTV.
While I’m quite accurate at guessing the usual suspects, I’ve been in situations where my connection is exceptionally slow, or feels choked by another application, and I simply cannot find out the app in question. MenuMeters, or for that matter, any other monitor I’ve come across for Mac OS X does not tell me which application is using my network bandwidth. This is where Private Eye comes in.
An early warning: Private Eye comes as an install package (.pkg), and requires a root user’s password to complete installation. Usually, I stay away from such apps, especially ones from untrusted sources, since .pkg installers mess around with crucial system files, and have many times been the reason for complete mayhem on my Mac. Private Eye seems to be trustworthy (looking at the developers website), and is a pretty small app (~500KB), so it doesn’t take up much of your system’s resources.
Private Eye does one and only one thing: since the moment you launch it, it monitors all outgoing and incoming network connections on your system, and reports them to you in a list UI. Why is it great?
- Simple, uncluttered UI – I cannot stress how important that is for an app, and lately a lot of Mac OS X apps have started focusing on functionality over design. If your user has trouble finding what he wants (in fact it should be obvious from the interface), then your app has failed. Private Eye strikes the right note with a very basic interface.
- Real time reports – When an app makes a network connection, you see it instantly on your screen. There’s no delay and you don’t have to use a separate recording mode.
- Easy filters – Since the number of total connections happening on your system can potentially be large, you can easily filter your view to just contain incoming or outgoing connections, or you can look at the connections from a single app.