Monday, March 14, 2011

Puppy Tweets UNLEASHED!

I'm a hacker type, and recently I've become interested in circuit bending, so I like to make a trip to the Goodwill or other thrift stores from time to time to see if I can find some musical or noisemaking toys that can be 'bent'. Saturday I went with my daughter, and she strongly disapproved of a Barbie guitar I was looking at, so I was out of luck as far as musical toys went.

As is sometimes the case at the Goodwill, we stumbled on something we didn't know existed, marked down to a price that practically demanded we buy it. Specifically, there were about 5 boxes of a product from Mattel (makers of Barbie) called 'PuppyTweets'. They were going for $4.99 (MSRP $29.95)!

I speculated as to why such an amazing product would be on sale for such a low price at the Goodwill. 'Maybe it makes your computer blow up.' I speculated. 'If you're worried about that, you should try it on your work computer instead of your home computer,' my daughter suggested.

PuppyTweets turns your dog into a Twitterbot that doesn't give away iPads or send people to dangerous mystery URLs. In the box we found a pendant that attaches to the dog's collar, containing some sort of motion sensor (to measure your dog's activity) and a microphone (to count barks). The pendant sends signals back to the PuppyTweets receiver, which plugs into a USB port and has an antenna, so I saw some wireless hacking potential there.

We tried PuppyTweets out on our dog @AdaDog, and the results were pretty much what you'd expect from a product that made the trip from retail shelves to Goodwill shelves in a matter of months. Periodically, Ada would send a Tweet that might or might not have anything to do with what she was doing. It was unclear whether the pendant or the receiver had anything to do with anything.

Not being able to leave well enough alone, I dug around a bit in the folders for the code to see what was up. Particularly interesting was the file sessionlog.txt, which appeared to actually be reporting activity and barks back to the receiver:

Sun Mar 13 14:04:15 2011 barkAccum=0 actAccum=0.3
Sun Mar 13 14:06:15 2011 numBarks=0 numActivity=0 lossOfSignal=0 outOfRangeTime=0
Sun Mar 13 14:06:15 2011 barkAccum=0 actAccum=0.26666666666667
Sun Mar 13 14:08:15 2011 numBarks=1 numActivity=3 lossOfSignal=0 outOfRangeTime=0
Sun Mar 13 14:08:15 2011 barkAccum=0.016666666666667 actAccum=0.58333333333333
Sun Mar 13 14:10:15 2011 numBarks=0 numActivity=0 lossOfSignal=0 outOfRangeTime=0
Sun Mar 13 14:10:15 2011 barkAccum=0 actAccum=0.55
Sun Mar 13 14:12:15 2011 numBarks=0 numActivity=0 lossOfSignal=0 outOfRangeTime=0

So presumably if you wanted to, you could check this log and get updates every 2 minutes, and perhaps use this in a DogTwitterBot of your own. Possibly the bot could send Tweets only when the dog barked or moved since the last update. Then people could make fun of you on hack-a-day, for yet another Tweeting thing project, although they might go easy on you since you didn't use an Arduino.

You could also use this to summon the police if your dog is barking a lot.

There are also several text files containing the tweets. The names (activity.txt, bark.txt, sleep.txt) suggest there's some correlation between the data logged by PuppyTweets and your dog's online commentary, but the fact that the Tweets are sent out at seemingly random intervals and don't often seem to have anything to do with what the dog is up to seems to have convinced most Amazon reviewers that PuppyTweets is sort of random and that the pendant is just for show (including the battery).

It is hard to believe that Twitter (who recently angered developers by introducing restrictions on how their API can be used - specifically, telling developers to stop developing client apps because Twitter wants to control the user experience) would lend their name (and logo) to a product of questionable value.

It also makes me sad to think about the story behind the story. Having worked on a couple of big software development projects, I can imagine poor sleep-deprived engineers designing and testing and tweaking the hardware late into the night. I can imagine conference rooms full of corporate management douchebags giving each other PowerPoint Presentations. I imagine the design team meticulously sweating the details of the packaging, copywriters carefully crafting the 539 different tweets PuppyTweets would send out, testing many of them out on Twitter itself. I imagine the software development team and their all-day Googling sessions and their all-night debugging sessions. I see Mattel mathematicians working out the perfect mapping between dog activity and dog tweets. Personally, I have to say the Mattel mathematicians were the weak link here.

I can hardly claim to feel ripped off or wronged for $4.99, and I did get a blog post out of the deal. For now, I am going to have to resume my duties as the actual person behind @AdaDog's twitter account.

3 comments:

Ken said...

Just brought one home from goodwill for $0.99

I opened it up and it does have a motion switch like a pedometer and a microphone.

Thanks for the clues about the log files!

SDC said...

Hey Ken, sounds like you got a better deal than I did :) Thanks for the info and for stopping by.

yana Malysheva said...

I just got this thing as a sort of a joke gift; it seems that the tweets are in separate text files by theme (for bark/sleep/active/etc.) and the program itself is written in Lua, which can be decompiled and fiddled with!