Okay, I’ve talked at length about what I’d like to see in my next computer—I don’t want another laptop I want a tablet that will replace my laptop—but what about other tech gadgets?
Let me just get this out in the open: Smart phone users aren’t getting what they want.
There are a lot of cool devices out there—the iPhone, a dozen Android phones, RIM devices, WebOS phones, whatever else—and none of them offer what everyone wants. The iPhone is cool, but it’s also so limiting—like moving into a high-class prison. Of course most of the inmates want to be there, but still, where is the freedom? Android is more open, but not as good as iOS. Every phone has some virtues and some vices. With that in mind, I’m going to make a list of things the perfect phone will have.
Open
Any developer can develop any app for it. This isn’t to say that an app store must allow every app, but a consumer may download it elsewhere if he/she wishes.
Program and interface interchangeability. I can download Google Voice for use on my iPhone. I can change between the Sense UI or the Vanilla version anytime I want. Those kinds of things. I’m not saying that HTC shouldn’t offer the Sense UI, but I’d like it if I got downloads faster and weren’t tied to you UI update.
Sprint, AT&T, Verizion, GSM, CDMA, let me have a choice! I hate it when the perfect phone comes on the wrong network!
Price
Yeah I want a WiFi hotspot!!! What? It’s $30 a month extra? … never mind. Don’t gouge.
Choice
I read an article a while ago that compared the HTC Evo with Apple’s iPhone. The iPhone won one of the writers points because it came with in 16 and 32 GB, even though it didn’t have a card reader. The Evo had a card reader but only one memory level. The author said that there was more choices with the iPhone, wrong. You can get an SD card in 16, 32, 64GB, however big you want it, which really has more choice?
Simplicity
Let me pinch to zoom or swipe to navigate pages, make things easy for me.
You’ll notice that hardware and software specs are not on this list. Yes, the specifications are important, but when it comes to specs it seems that phone makers are trying, not so with these other points. No phone on the market has all of these things. The iPhone probably does the best job, but it’s still lacking. I realize that the reason that most of these problems exist is because phone makers and carriers are trying to make money, but it still makes for dissatisfied customers.
What are your thoughts? Am I too hard on the phone industry? What do you think is missing from your phone?
The other day I came across an interesting post asking why we put up with software that isn’t bug-free. Good questions, I thought, in class we are always told to thoroughly test all of our work to ensure that it doesn’t have bugs in it. One of my teachers (his blog) gave us some of the best advice for limiting software problems in our code that I’ve ever gotten—Think – Design – Create Tests – Code—this was thoroughly drilled into us and I have to say, it’s made me a better programmer (though admittedly our projects are quite small in comparison to the software we complain about—or don’t complain about).
I’m sure I’m not alone when I say that when I am writing code I endever to write error-free code. I’m also sure that I’m not alone in saying that can be very hard and almost impossible to do (you can get most of the bugs, but never all of them) if this wasn’t true then I wouldn’t be writing this post right now.
So, why do we put up with buggy software? It’s annoying isn’t it? From the post linked to above there were several possible reasons: people thinking it was there fault, pure complexity of the system, developing a one-size-fits-all solution to try to satisfy everyone. I think that all of these reasons have ground, and while I don’t know the reason we put up with buggy software I do have a resolution as a result of reading the post—I won’t write buggy software. Sure, I know that no programmer is perfect (people who’ve been programming longer than I have still create bugs) but that doesn’t mean that I can’t try to write perfect code, or at least as close as I can.
Everyone knows that DRM is very frustrating and that it causes more problems than it fixes. At least until now, recently, the Digital Entertainment Content Ecosystem announced a new scheme for DRM. It will basically store data on the cloud and before you view a movie or listen to music the software will check if you have permissions to view or listen to it. If they implement it right this will solve a lot of problems, but there could certainly be some problems.
There are some possible advantages to this. First, while RedBox is all the rage with there $1 movie nights, it’s going to go out of style faster than it gained popularity. Why? Online movie rentals.
If RedBox is smart, they’ll jump in right now, but even if they don’t someone will be doing this soon. Imagine sitting on your couch and deciding to rent a movie and using your remote to see what’s available or what you haven’t seen yet, paying for a 24 hour period to watch it, and streaming it right then. You don’t even need to return the movie. (This isn’t the same as pay-per-view because you’ll be able to watch it whenever you want to.) Of course, using the same system you can buy the movie and watch it whenever you want without paying more.
Anyway, that’s what I thought about when I read the news on DRM. What are your predictions?
Google is getting ready to release Android App Inventor, a desktop application that will allow anyone to make apps for Android, whether they have programming experience or not. I have to say, I don’t get it.
Sure, perhaps it’s a way to boost the Android Market Place, maybe the ability to create your own apps will attract an entire audience of people who’ve been wanting something like this, maybe other mobile platforms will follow suit. I don’t think so. I think App Inventor will be used by a niche market for people who want simple apps that they don’t want to pay developers to build.
Honestly, how robust do you think we’ll be able to make apps using such a tool? Think of tools like Dreamweaver. Yes, you can do a lot with Dreamweaver in the way of designing web pages, but you only have a limited amount of functionality without manually tweaking the code. That’s because you have to understand how a computer thinks to be able to design anything but the most basic programs.
Don’t get me wrong, Google may very well have integrated a lot of functionality and ability into App Inventor, but even if they have will anyone but software developers know how to use it?
Maybe I’m wrong, I guess we’ll see. What do you think?
Did it clean: I woke up to a freshly vacuumed carpet. Of course the carpet was already clean, it cleaned it the day before, but our Roomba had come and vacuumed in the middle of the night leaving only two signs that it had been there—the vacuum trails left behind and the fact that it was sitting there in front of the door. When I went to replace him on the dock I noticed that the dock was twisted to the side so that the robot couldn’t find it’s base. I figured that the Roomba must have bumped the dock and twisted it, but it seems to avoid the dock (like the virtual walls) while cleaning except for one time… when it’s docking. I tested it a couple times and finally got Guster to duplicate what it did to twist the dock. Incidentally, it twisted the dock again on the morning of day three as well, but it was still able to dock. I think that I’ll have to find a way to ground the dock so that it won’t get bumped in the middle of the night. See it in the video below. As it is, it seems to correct itself most of the time (as it did in the video) but it won’t always.
Cleaning the Roomba: I then open Guster’s guts to reveil what he’d had for breakfast (yes, we call him Guster, after Gus on Psych). It seems he likes a mixture of dirt, crumbs, and small bits of paper (in short all the things I’d rather not eat minus the olivs). Emptying out the bin and cleaning the filter were again revealing. Even though he had only vacuumed a scant fifteen hours before there was a good bit of debris (this sheds light to the vacuum sales fallacy: that you vacuum with your old vacuum and then they vacuum with theirs and you see how much yours miss, well next time vacuum with yours again and see how much theirs miss) of course I expected this to some degree. It picked up about a third as much as it had the day before.
The brushes were much easier to clean the second time around. On day one, it took me about 3 minutes to clean (once I got the hang of it) using the handy circular comb that came with our Roomba and a steak knife (to clean around the bearings, couldn’t do it without a knife). Today it was far easier. There was hardly any need to clean the brush. The paddle on the other hand (the brushes counterpart) had some yarn wrapped around one of the bearings which had collected dust and hair. There was some dirt and hair around the other side too, but not nearly as much. Today it took me about two minuets to get everything clean and put back together. Much faster than vacuuming.
I actually wouldn’t say that the Roomba is too loud. It vacuums away while we slumber peacefully in our bed. It seems quieter than a normal vacuum and it still seem quite effective—though it still sounds like a vacuum (shame on the Roomba people).
Here is our new Roomba 560 on its maden voyage—er—cleaning.
Day Three Through Seven: We have woken to clean floors every morning this week. It has found its dock every time except one giving it a 85% success ratio. We’ve had it clean our bedroom and other rooms in our house while we did grocery shopping one day—it even cleaned under the bed for us (which we never do). In fact, I would say that Guster cleans better than we do.
What would I change in the Roomba: I love that my floors clean themselves, nevertheless there are a few things I would change with my Roomba.
First, iRobot does not produce a HEPA filter. Personally, I think this should be standard. If you check their FAQ, it will say, “You can schedule Roomba to run when you’re out or in another part of your home, thereby eliminating allergen inhalation during operation.” Yes, that’s true, but that’s besides the point. Not only do allergens linger for a while in the air after the vacuuming is done, those same particles will settle on carpet and furniture and will be stirred up by walking over the carpet, picking up objects in the room, and the next vacuuming. There is another option, RobotAddOns makes a HEPA filter for Roomba. While it might be considered a breach of your warranty, it is still an option.
Second, I’m not sure that the random algorithm used to send our Roomba off on various tangents is the most effective way to clean. It seems that the vacuum estimates the size of the room, sets a timer, and returns to its dock when the timer is through. there are a few other companies (none so popular or as convenient as the Roomba) that are producing cleaning robots. While I haven’t worked on the problem myself, the solution seems to be simpler than all of these companies make it. One company creates a “North Star” infrared pattern on the ceiling where the robot is cleaning for a reference point. Another company uses markers (which looks like a kind of tape) to mark off the areas where the robot may clean. While both of these other methods enable the robot to vacuum in a line (and thus shortening the vacuuming time by limiting how many times it vacuum the same places) I think that both methods are unnecessary. Can a vacuum not be programmed to measure out distances? If so then a robot can determine when it has found its original starting point after crawling along a wall. And if it can do that, then it can move inward around the room until it is finished, still avoiding and moving around obstacles, etc. Maybe I’m wrong. Let me know if you see any problems in this.