I receive a decent amount of emails from you guys out there, detailing what you think PackRat is good or bad at, telling me about crashes, etc. Today I received an email from a user that first astounded me, then angered me because I found it offensive, but that I then realized really requires answers. It concerns your privacy, and pretty much asks the question what sort of data PackRat tracks, and what other hidden behaviour it has.
Now a lot of that I’ve covered in a previous post about privacy. I won’t repeat it again save to say that under some error conditions, PackRat sends just enough information to tracking servers for me to figure out what the problem was and fix it.
But that previous article skips over the fact that PackRat tracks some information under normal operating conditions. Let me explain what that is and why.
Three pieces of information are tracked:
- PackRat tracks your phone’s operating system version. I know it’s an Android build, but I don’t know whether it’s version 2.0, version 2.1, or some custom build. Why do I need to know? Well, I don’t care about custom builds in all honesty — if you run one, you’re on your own. But for official Android releases, I need to know which version of the OS the majority of PackRat’s users run, so I can know which version I must keep on supporting. It’s that simple, really.
- PackRat also tracks it’s own version. The reasoning is similar, if less pressing: if I know a bit about whether or not PackRat’s users upgraded to the latest and greatest version, I can make better decisions about whether a bug report I receive is still relevant.
- Lastly, PackRat tracks how long each Activity has been active. Activities, if you don’t know the Android term, are a bit like windows on other operating systems. Getting an idea of how much time you guys spend — on average, across all those thousands of users — on each Activity gives me a vague idea of what areas of the app are useful.
That last point doesn’t actually tell me very much. I’ve changed the exact details of what’s being tracked slightly across releases: it used to be the app’s run time, now it’s Activities’ active time. I’ll likely continue refining that a bit, until I get more of an idea how people progress through the app. For example it’d be interesting if people always use the scan menu item from the start screen to add new items, or whether they move to a shelf first and perhaps add items manually from there.
I don’t track that stuff at the moment, but it’d be great to know. At first it’d raise more questions: why do you guys behave in one way and not in another? More importantly, would it help if I rearranged things slightly? Hopefully some more improvements can fall out of that process.
My experience with software development over the years has always been that it’s a rare few users who will have enough of an interest to actively engage in that sort of conversation with developers, but pretty much all users benefit from improvements in that area. Other than gathering data of this sort, developers are pretty much stuck.
But adding such detailed tracking is a ton of work, and that means time I’m better off spending on implementing features. So I’ve only ever made a half-hearted attempt at this. In all honesty, I don’t know where exactly I’m going with this either.
But one thing should have become clear: it’s all about figuring out how to improve PackRat.
And that also answers the part of the email I received that at first offended me a little: of course PackRat does not track any information that does not directly relate to improving it. And that’ll stay that way.
The email also raised two other questions about PackRat’s behaviour that aren’t about data PackRat tracks, but about how it behaves as a process. This will get a bit more technical, so you might want to finish reading here.
First, the question was raised why PackRat starts up when the phone boots. This is behaviour that directly relates to the loan list feature: if there are items on the loan list that are overdue, PackRat opens a notification in the notification area. In order to decide whether or not that needs to be done, PackRat needs to be run. Waiting for you to start PackRat yourself pretty much defeats the purpose of popping up notifications, so PackRat starts as soon as possible.
But that process that gets started doesn’t really do anything at all. It checks due dates, then falls asleep for a
while. Then wakes up and checks due dates again. And so forth. Nothing else happens there.
Lastly, the author of the email asks why on his rooted device he sees a PackRat-related thread running when he’s killed PackRat forcefully. There’s a simple answer to that question: I don’t know. It doesn’t happen on my non-rooted device(s), and I don’t recall seeing it on the emulator. And that’s all I can say about that bit.
You might see by the gist of these questions that there could easily be cause for concern. Something keeps happening in the background, you don’t really know what it is, and there appears to be some sort of data tracking going on. Is PackRat safe to use?
That’s really the question behind those other questions, and as questions go, it’s very blunt. So blunt, that at first I was amazed that it would be asked, then angered at the implicit suggestion it might not be. But at last I must realize that it’s a valid question to ask, and one I would ask myself of apps I use. So I’m hoping that this article goes some way towards alleviating any concerns that you might have.
PackRat does not track anything that might be used to identify you. It does not track anything that goes beyond the needs of improving the app itself. And whatever it tracks is absolute not being shared with third parties. Ever.