Additional profile information on Alfred Thompson at Google+
Since I mentioned that I own a Roomba and a Scooba from iRobot I have gotten some requests for a review of them. Since I was going to write one up for some email replies I thought it made sense to post a review here as well. The short review is that I like them both, they meet my needs, and were well worth the money to me. They didn't mean I could completely throw away my conventional vacuum and mop though. The following sets of good and bad points apply to both robots unless otherwise noted.
You get some time back. I have been known to start up the Roomba in our large dining room or one of the bedrooms and the Scooba in the kitchen and then sit back in my office getting work done. Our floors get cleaned more often because of this ability. This is the closest one can get to buying more time for things they prefer to do.
Both robots do a good everyday job of cleaning. The capacity of the Roomba is quite adequate for even very large rooms. The Scooba comes in two sizes (one for 500 square feet and one for 250 square feet). We bought the smaller capacity because the biggest room we use it on is our kitchen which is probably about 220 square feet and it does the job nicely. We have a cat and the Roomba picks up cat hair and stray litter from the litter box. There is a model customized for people with pets called the Sage and if it had been available when I bought my Roomba I would likely have bought it. There is an upgrade kit with brushes that are easier to clean and I'm thinking about that. If you have dogs that shed or multiple cats that would probably be the model to get.
You don't have to be in the room when they are working. This is a big deal for use with the Roomba because both my wife and I have allergies that don't like the dust that any vacuuming throws up. Noise is a huge annoyance to me and the main reason I hate vacuuming. So being out of the room is almost as much a benefit as being able to do something else while the vacuuming is going on.
You are likely to clean more often - unless you already like washing floors or vacuuming - because its easier. The other day I spilled a can of soda. In the past I would have dried it up and maybe washed a little with some wet paper towels and put off doing a real cleaning; especially as a lot of the spill was under a work table. But since I could quickly and easily set up the Scooba to wash the whole floor that is what I did. And I went back to work in my home office while it did it. The same thing happens with vacuuming. See some dust or tracked in dirt? Just set the robot to work.
They are not as smart as I'd like. The Scooba seems smarter by which I mean it seems to run more efficient patterns. The Roomba often seems like it is on a random walk. They both usually give good enough coverage though. I'm a computer guy so I keep thinking I could program a better algorithm.
They don't do corners and other tight spaces. That is why I say every day cleaning. Some times you are going to want/need to get into the corners and tight spots that it misses. An offsetting point though is that they get under things that you typically have trouble getting under yourself. I love that it easily cleans out the dust under the beds. Since my wife has asthma that is a big plus.
They are a bit noisy. Are they noisier than regular vacuums? I don't know - probably not - I just don't like noise.
My cat doesn't like the robots. Perhaps it is the noise, perhaps that it looks strange to her, perhaps it is a cat thing. She stays out of the way. I can't see a pet not knowing that it is there or coming its way. If a robot bumps into a pet is will likely back off and try to find its way around. I've had them bump into me while I was doing something and that is what they do in that case.
I like that the Roomba finds its way back to its charging station when it is done or low on power. The Scooba doesn't do that and has to be plugged in by hand. But of course one really wants to clean out the dirty water bin when the Scooba is done so that is not so big a deal.
I like being able to do a spot clean with the Roomba. It sometimes goes off away from the spot when the spot is near an obstruction though. I'm not sure why.
The newer Roomba's can be programmed. I understand that the Microsoft Robotics Studio works with them. I need a minor upgrade kit to program mine and I keep threatening to get it. One of these days I will so that a) I can find out if I can indeed write a better cleaning algorithm and b) so I can have some fun coming up with other tasks for it.
Now I admit that I love robots. I love the idea of robots. As a science fiction fan since childhood (a long time) I have been looking forward to the day when robots take over household chores for many years. I one two robots already. A Roomba for vacuuming floors and carpets and a Scooba for washing floors like those in my kitchen and bathroom. Both from iRobot a company named after a book of science fiction short stories about robots. How cool is that!
So when I read that Bill Gates says that robots are the next big thing my response is - well about time! In the article Bill wrote he talks about a convergence of events including the reduction in prices for robot hardware, the improvements in software to control robots and the massive increase in computing horsepower at greatly reduced costs that we have seen in recent years. Bill gets to visit a lot of the top research institutions around the world and he describes being shown robotics projects in many of them. The problem, he is often told, is now getting the software right. There is a huge opportunity for software people to make a difference in robotics these days. There are computer science problems that are key to making things work right. One of these is finding ways to better deal with concurrency - monitoring and controlling several things are the same time. This is a huge problem and one that developers will all have to learn more about in the near future. It is the shape of things to come.
In the next 15 years or so there are projections that personal robots alone (in other words not including large industrial robots) will become a 50 billion dollar industry world wide. That's huge. There robots will be involved in handling household chores, medical care, surgery (article about surgical robots with a sense of touch), working in dangerous environments and who knows what else. Will robots in the future shingle roofs so that people don't have to risk falls? Who knows. It will be up to today's students to dream up and develop the robotic applications of tomorrow.
BTW As a result of those visits and some research done at Microsoft Research, Bill funded a group of top people to develop what is now called the Microsoft Robotics Studio. If you are interested in robots and robotics this is a package you will want to look into.
[By the way I am actually on vacation so response to comments and email will be slow. This post was written earlier for display later.]
My post from last week that asked "Is programming easy to learn?" has generated a bit of discussion both in the comments and offline. I've had some discussions with a number of college computer science faculty recently in face to face meetings where the subject came up. OK I brought it up. But I am really interested in hearing what people who teach programming really think about natural programming ability.
The thing is that I really want to think that everyone can learn how to program. Others I have talked to think that programming is a gift, a talent, something that one either has the natural ability to learn programming or they don't. One manager I worked for many years ago claimed that he could teach "any monkey" how to program. Perhaps the truth lies somewhere in the middle.
One professor I talked to said that she believes that some people have a natural ability to learn programming. Some people have something in their makeup that makes it almost impossible to learn programming. The great majority, she believes, are teachable and can learn how to program. She may be on to something there.
Some people really do take to programming. One explanation and they "have it." They quickly grasp the most complicated aspects of programming and soar past even their instructors. A natural mental gift? Perhaps. Some people really struggle with the concepts. They may be very smart and knowledgeable (or not) in other areas but somehow they really struggle with the concepts. And then there is the great majority in the middle.
I want to believe that everyone is teachable. I guess it must be the teacher in me. I think that if we just find the right way to explain things people will "get it." If someone doesn't get it I want to ask "what did we do wrong in the teaching?" Of course students have to do their part. You can't make people learn something if they don't want to learn it. Incentive and motivation are something teachers can't always control. Well not as much as we'd like.
On the other hand I have run into more than a few programmers who like the exclusive "I'm special" feeling that they get by believing that programming requires a special talent - an ability that most people don't have and only a few people are gifted with. This is a pretty elitist attitude that brings back memories of the early days when computers lived in closed in raised floor environmentally controlled "temples" and were served by "high priests" of technology whose behavior was uncontrolled and unquestioned. Some people call those the good old days and wish for a return to that era.
I think that the days when the naturally gifted programming elite were enough to get us by are long gone. These days we have to train as many people are possible and help them progress as far as possible. Programming is a lot of fun, it is a great way to make a difference in the world. Working on different and better ways to train the majority of people who can learn is something we really need to do.