Design

Synopsis

remoteX4's design is based on the "Problem" description and takes into consideration cost factors and a number of technologies that are becoming increasingly available in households (such as mobile/touch devices, wireless home networks, low cost netbooks and laptops).

There is no need for expensive/exotic control systems, touch devices from particular manufacturers like Apple (although these work with remoteX4 just as well) and the setup time is minimal. Any number of "remotes" can operate the same or different zones at the same time while staying synchronised.

Note however that, at this time, defining a particular setup requires an installer (person trained to do this work) and simple users/consumers are not meant to do the setups themselves.

Rationale

Goals

remoteX4 aspires to:

Means

To meet the goals stated above, remoteX4 is designed around technologies and products that are (or are quickly becoming) pervasive, low cost and reliable. These include:

The Interface

remoteX4's interface is displayed in a Web Browser. There are currently three different interface designs to accomodate for different screen sizes/resolutions. One for mobile phones with a resolution of about 240x320 (mobile narrow), one for resolutions of about 400x800 (mobile wide) and one for laptops or tables with a resolution of about 1024x800 (wide).

See more about remoteX4's interface here.

The Architecture

remoteX4 is built in PHP and interfaces with its users throuhg normal HTML pages with CSS and Javascipt. It consists of three layers: 

All of the above make up the control software as mentionned in the Terminology of  "The Problem" section.

See more about remoteX4's architecture here.

Requirements

In its current version (fall of 2011) remoteX4 has the following requirements:

Software Requirements

Hardware Requirements

See more about remoteX4's requirements here.

Building setups

In order to implement the configuration part of remoteX4's architecture a separate system is in place that allows users/installers to define a particular setup through a forms based interface. The necessary runtime files are created automatically from such definitions.

See more about building setups for remoteX4 here.