I’m glad to say that I’ve made some progress on PackRat in recent days. I have recently been swamped with work, and couldn’t take time away from that for more fun endeavours. To give you a first taste of what’s to come1, I’ve updated the screenshots section.
As you can see, some of the changes are just minor tweaks to the visuals that in my opinion go a long way towards making PackRat more useful.
But I’ve also added a few long-requested features. Now I’m mainly waiting for Chinese translations to be finished, and then I can push this update to the Market.
There are two slightly controversial new features I’ve added. They’re not all that controversial, really, but because I am sensitive to privacy issues, I’d like to take some time to explain the features and rationale a little.
First, the upcoming version of PackRat will write a crash report to the phones internal storage if it force closed. The next time PackRat starts, it’ll try and upload all those records it finds to a server I control.
Of course collecting information in that manner is a bit of a privacy concern, so let me assure you that in no way does this information contain any personally identifiable information. The data gathered contains:
- Your phone’s model
- The version of Android that your phone runs
- The version of PackRat that crashed
- A stack trace, that is a path through the code that I can retrace to (hopefully) figure out why it crashed
That’s the first feature.
The second feature has to do with one of the things that PackRat was always intended to do, and that was to be relatively smart and take away some of the tedious typing you might need to perform. In particular, it was intended to guess what sort of barcode you scanned — whether it belonged to a CD, a particular book, etc. — and store that detected type with the item3.
The problem with that feature is that this guess depends on whatever online shop entered for the item category. Some shops are great and list pretty much the exact text used in PackRat, others go for more complex categorization. And that means quite often PackRat’s guesses simply fail.
So what I’ve added is a piece of code that reports the category string as fetched from Google Base, if and only if PackRat fails to understand it. And that’s all the information reported — this is not linked to a particular phone model, android version, etc.
The thing to note here is that this is meant as a temporary solution. Over time I’m hoping to build a cloud service around this that lets me update PackRat’s ability to guess more accurately without forcing you to update PackRat itself. But for now I need to figure out if that’s worthwhile, or a few minor tweaks to PackRat’s guessing code is all that’s required. But in order to make that decision, I need data!
I hope to have convinced you that while I’ve cranked up what PackRat reports to me, that there is nothing for you to worry about. None of this lets me spy on you in any way. I wouldn’t feel comfortable myself running an app that did.