Working with Karotz

A few months ago after seeing a friend’s Nabaztag I eventually ordered a Karotz, it’s spiritual successor.  Alas it arrived the same day as my new piano so it sat ignored for a couple of months.  Then last week I figured having dropped $200 on it I should get it to do something more useful than playing french internet radio.  So here it is telling me when the bus is coming (something I otherwise have to open up the laptop for):

Developing for Karotz does seem to be a bit more convoluted that really necessary.  It’s not an open platform; rather you write javascript programs that interact with an api to control the various Karotz functions like the ears, text to speech etc.  It’s not especially well documented and there’s only a single hello world example.  There’s a developers forum on google groups—google’s automatic translation is very useful as it’s mostly in french.

The Muni times app took me maybe three or four evenings to write.  The bus arrival data is available through xml feeds, but parsing it proved tricky.  Googling says to use XMLHttpRequest but that turned out not to be available (for javascript newbies the lack of a definitive spec is frustrating) but the forum suggested tinyxmldom.js is the way to go.

The process of uploading code to the rabbit is confusing (you have to do it through the website) and it’s almost impossible to debug code on the rabbit.  There is a linux vm for developing but it’s only a javascript vm, not a simulator.  What this means is you need to run the vm on a machine on the same local network as the rabbit so that it can communicate with it to do the speech etc.  The vm is a 32-bit linux binary so I had to dig out the old netbook, setup some symbolic links to libraries that have different names on my particular old fedora distro.  But after I had that going it took a single evening to finish the app.  The code is on github.

I’ve submitted the app to the Karotz store.  But I have no idea how that works, and anyway I’m probably the only Karotz owner in San Francisco who would find the app useful.

Overall Karotz is not what I expected; for some reason I automatically assumed that in this day and age it would be running some kind of linux-based os and be open to all sorts of hacking.  But as it is it’s very much dependent on Mindscape’s servers which is a little worrying.  Hopefully it doesn’t turn out to be a $200 brick.

One Comment on “Working with Karotz”

  1. Wiliam says:

    Hi, nice post, i think like you. The rabbit is very minscape dependent…

    I arrived here searching for XMLHttpRequest info in the Karotz, because it’s not working properly and I can’t see the debug info without doing log hacks!

    I’m doing a small app for monitoring Zabbix Server.


Leave a Reply

Your email address will not be published. Required fields are marked *