Sunday, March 20, 2011

Rover v3.0

Now that I have a nice wall-mounted touchscreen for my home automation system, I need some software that's suited for it.  My own product, Rover, is a stripped-down but fully functional client that works in any web browser, and it's almost, but not quite, ideal for it.  The only problem is that it's not very fingertip-friendly; it mostly uses links and small icons.

Well, I've been meaning to make a version 3 of it for a long time, so this is finally what's got me working on it.  I hadn't done any coding in ASP for a long time, but it came back to me quite quickly, and in just a few hours, I was able to make huge strides towards v3.0.  Most notably, changing the software to display big friendly buttons in a grid layout:


One of the design decisions of Rover is that I avoided using Javascript, or even depending on tables.  It will run on a copy of Lynx for ancient versions of Unix over a dial-up modem connection quite effectively.  However, this required the means of getting from one room to another to either take multiple page loads (slow!), or to use lots of small links (not finger friendly).  So for this application, it seemed like I could take a step into very simple Javascript, by making it optional.  That row at the bottom replaces a long string of tiny-text links, and depends on Javascript, but is quite finger-friendly.  In Android, it pops up a nice big menu, in fact.

That Weather link isn't hard-coded into Rover, but it's something I configured into my copy. All it is go to the NWS page for my area:


The problem with this, of course, is the only way back is using the back button; everything in Rover lets you get around using the links shown.  One thing I want to do is make a Home page that has basic at-a-glance info like a big, live clock, a quick summary of current and upcoming weather, and a few of the most necessary home automation controls.  It would then have a link into Rover, and vice versa.

The other big improvement I want to see in Rover is something I call "tricks", in the sense of, "you can too teach an old dog new tricks" (Rover, dog, get it?).  Right now, Rover lets you see all the devices in a specific location, plus any set of other events or other links you choose to add for that location.  But it still means you have to organize your locations either for Rover, or for your main HomeSeer interface, and sometimes you can't make it work for both.  A "trick" would be a customized, virtual location, which contained any set of devices, events, and links you choose, arranged in whatever order you wanted.  While Rover is free, I might charge a buck or two for the program that lets you make and use tricks.  As of this writing, I haven't started on this, beyond general ideas of design.

Once that's done, plus some beta testing, I'm going to release the first new version of Rover in over two years.  It's a pretty well-liked program (despite the HomeSeer folks always giving me a hard time about it, due to favoritism towards the maker of a competing product) so it should be interesting to see how many people are still using it.

No comments: