Premise iPhone User Interface to Premise

Motorola Premise

123

Senior Member
Will be forthcoming.

I have a preliminary version that uses the built in web server in Sys and works similarly to the minibrowser UI. What's great is that the iPhone supports java script and AJAX (meaning that you can load just the portion of html that is necessary to render a page without page reloading). It's also very easy to poll the server every 3 seconds or so to get updates on the page (such as Now Playing, etc.).

Architecturally, this (AJAX model) is nice because developers can create new home level objects (such as Weather and news) and write just the page specific html that will "slide" into the existing html.

The Premise SYS web interface also supports triggering functions and passing variables (embedded in the url) to any functions you define in SYS (I make extensive use of this).

The Sys web server also supports multiple user accounts so it’s easy to create different users with different passwords. I don't think it would be too hard to even limit what certain users could access based on their userid.

The iPhone (and the iPod Touch) are incredible home automation user interfaces, not to mention their many other functions and relatively low price ($299). Even my wife was so impressed that I got her an iPhone for Xmas to control the house.

This is fun!

David

======================
David,

This is exciting news. I've looking for low cost mid-size devices for controlling Premise and there is really nothing like the IPhone/IPodTouch in terms of price and functionality.

Please post some pictures of the browser if you can.

I'd love to Beta test your browser. I would buy the IPodTouch just to get some basic control of Premise MediaZone and MP3 Media Library functionality. How much of the Premise architecture have you implemented in the browser so far? Any problems with screen real estate?

Keep us updated,

Patrik
======================
I would be interested in this as well. Im not aware of an SDK for the ipod/itouch, so I am assuming you're doing all of this server side?

How about some screen shots or throw some code up so we can take a look....

cl
======================
Iphone SYS user interface Overview:

The SYS iphone browser interface is server based and is developed following the guidelines specified by apple for developing webApps for the iPhone. On the Premise Server, it uses the same model that the Pocket PC interface used. I just expanded that significantly and included a css and javascript that uses AJAX (really just xmlhttprequest commands to enable sending commands and receiving feedback without refreshing the page). The css is inspired by Joe Hewitts iUi to obtain the look and feel of native apps written for the Iphone/iTouch. I am not currently using the iUi javascript (it provides page history and sliding animation of pages) because I wanted to keep things simple at first.

Each page on the iPhone interface is basically a standalone web page. Pages can be bookmarked using the iPhone safari interface and bookmarks can even be buttons on the iPhone home screen (with the latest iPhone updates). Apple has done such a good job with the platform that even as a web app with separate page loads for each page, the user experience and interface are great. See references;

http://www.apple.com/iphone/webapps/
and www.joehewitt.com (for the iui music demo)
and
www.digitaldan.com (he built a web and native HAI omni interface that I give
inspirational credit to). And the google group iphoneWebDev

In my opinion, the iPhone/iTouch user experience is so good that you will eventually use nothing but this device to control every aspect of the homes' automation system.

Apple has announced an SDK for the iphone to be released in February. This would allow developers to make native iphone applications that run locally on the device (versus in a safari browser). A native application would allow use of some of the more glitzy animation, but might make it difficult to add in pages for new modules in SYS. Regardless, the Webapp model is the way to go for now.

Screen shots:

I haven't figured out how to provide screen shots yet. The UI on a regular browser (like safari on the PC or even Mac renders differently than the Phone and just doesn’t look that great, yet). This can be changed later by adding in detection for which client device is connecting and using the appropriate css file.

Goal:

What I’d like to do (with help from the forum) is come up with a model that has a base iphone browser interface. This would contain the core javascript and css. It would render the home page based on the objects found in the home level. So if there are rooms, you would get a "Rooms" button that takes you to the list of rooms, if there is a thermostat, a "Climate button" is rendered that takes you to a list of Thermostats, if a Security system exists, it would render a Security System button that would take you to the security page, etc.

As folks develop new modules (such as weather or news, etc), the module should contain the html renderpage function that renders the module specific page on the iphone. The module could be written to call a global function to render the html header (that loads the javascript and css) then render the module specific html and then call a global function to render the footer. The idea here is to create a simple way for folks to create "plugins" to a base iphone browser interface. We could all collaborate and come up with a simple "spec" and samples for what a modules' html should look like.

Im trying to finish up what Im doing on the iPhone interface before posting any code. I'd like to get it into the form I described above. It’s a bit of a tedious process since I've built an interface (at least preliminary) for almost everything, media, lighting, climate, security, etc.

Other:

For now, my iPhone interface deals with mediazones in way thats different from the native premise mediazone. In fact, I dont use the native premise mediazone, but rather a custom mediazone called MediaZonePlus. Im going to start another thread on that topic, since I believe that it addresses some limitations of the current premise mediazone implementation.
 
Back
Top