A user interface system for programming schedules of a programmable device, the user interface system comprising: a control panel, the control panel comprises a rotatable wheel which is turned and pushed by a user to create and edit a water heating schedule and a room temperature schedule; processor means; a display unit on the control panel and which is coupled to the processor means; the processor means configured to provide a graphical display on the display unit; a time select region is displayed on the display unit for programming on and off time periods for the water heating schedule and the room temperature schedule; the time select region is displayed on the display unit as at least two dials each representing a full twenty four hour day, in which one of the at least two dials is operable for setting the water heating schedule and the other of the at least two dials is operable for setting the room temperature schedule, in which each dial is divided into a plurality of individual segments, each segment representing a specific programmable period of time in the twenty four hour period of time for the respective water heating schedule and the room temperature schedule; the time select region is interactively operable using the wheel to enable a user to activate one or more segments on each dial to program the respective water heating schedule and the room temperature schedule, in which an activated segment indicates an on time period of a respective schedule and an inactivated segment represents an off time period of a respective schedule, and wherein pushing and holding the wheel at an inactivated segment displays a grab handle and activates the segment forming a new section for the schedule, and rotation of the wheel in a clockwise or anti-clockwise direction while holding down the wheel moves the grab handle in a corresponding clockwise or anti-clockwise direction on the dial to extend the new section of the schedule. a control panel, the control panel comprises a rotatable wheel which is turned and pushed by a user to create and edit a water heating schedule and a room temperature schedule; processor means; a display unit on the control panel and which is coupled to the processor means; the processor means configured to provide a graphical display on the display unit; a time select region is displayed on the display unit for programming on and off time periods for the water heating schedule and the room temperature schedule; the time select region is displayed on the display unit as at least two dials each representing a full twenty four hour day, in which one of the at least two dials is operable for setting the water heating schedule and the other of the at least two dials is operable for setting the room temperature schedule, in which each dial is divided into a plurality of individual segments, each segment representing a specific programmable period of time in the twenty four hour period of time for the respective water heating schedule and the room temperature schedule; the time select region is interactively operable using the wheel to enable a user to activate one or more segments on each dial to program the respective water heating schedule and the room temperature schedule, in which an activated segment indicates an on time period of a respective schedule and an inactivated segment represents an off time period of a respective schedule, and wherein pushing and holding the wheel at an inactivated segment displays a grab handle and activates the segment forming a new section for the schedule, and rotation of the wheel in a clockwise or anti-clockwise direction while holding down the wheel moves the grab handle in a corresponding clockwise or anti-clockwise direction on the dial to extend the new section of the schedule.