We've had our iRobot Roomba robot vacuum cleaner for over a year now, so I thought that I should post an update. We're using the iRobot Roomba 531.
We still think it's brilliant and use it virtually every day. One day it goes round downstairs and the following day it does the upstairs. So our house is fully vacuumed every two days.
Battery life still seems good after a year of use. Maintenance is easy (it's good to regularly do a little 'service' to remove hair and fluff from the mechanism). Things that come apart for cleaning only go back in the right way round, which makes it simple to do. Apart from changing the filter we've not had to replace any components in a year of use.
Occasionally it gets snagged on a cable or tangled by a rogue sock left lying around, but it stops before any harm is done.
So if you can afford one, why would you buy a vacuum cleaner that has to be pushed round? The price of the Roomba is pretty similar to top-end manual vacuum cleaners anyway.
We have bought a Dustbuster to do the stairs, which is something that the Roomba cannot do though.
We've just found a supplier in the US who sell HEPA filters for our model of Roomba, so we're going to try those out next.
... and I never did get round to hacking it, partially because it's become so important to us, we don't want to risk breaking it. So the wife says that if I really want to hack a Roomba then I'll have to buy another one :-)
I'm pleased to report that over the holidays I was able to find a shop that had a wi-fi enabled Kindle on display for customers to play with.
So of course I couldn't resist pointing it at my DALIS proof of concept... and I found that it worked perfectly! So that's one more platform experimented upon. But I didn't have the courage to take a photo, so you'll just have to trust me on that...
It means that the experimental cloud-based programming language has now been tried out on iPad, iPhone, PlayStation Portable, Kindle and various Windows browsers including IE, Firefox, Chrome and Safari. DALIS has worked on them all. There was just one caveat with Safari, where it didn't seem to handle user input very well, I need to look into that.
Encouraged by that success I'm now in the middle of implementing function calls which will be a big improvement to the language syntax and should allow much better programs.
For some reason, I've been making a weather forecasting device by connecting up a Fez Panda II, a Fez Connect Shield and a Fez Touch. So far I have it connecting to my network (using a static ip address) finding the current time (by talking to an NTP server) and then getting the weather forecast from the google api.
It's pretty nifty to be able to get the weather forecast with a simple http request like this:
I've even gotten the weather icons and popped them onto a microSD card, so when I render the forecast it looks pretty. This is a photo of what I have working so far:
All the code is in C# (.Net Micro Framework) and all the networking is done using plain old Sockets. So when I'm talking to the google api I'm creating a TCP socket and sending the GET request the old fashioned way. All good fun.
I'm actually thinking about building a network of oBIX compliant sensor devices and making this weather forecaster device double up as the central hub... what madness.