Patent Publication Number: US-9849377-B2

Title: Plug and play tangible user interface system

Description:
FIELD OF THE INVENTION 
     The present invention relates to a user interface for controlling computer applications, more specifically, to a dynamic user interface for interacting with computer applications by physically manipulating interactive tiles, including tiles that can be positioned on the floor. 
     BACKGROUND OF THE INVENTION 
     A tangible user interface (“TUI”) can be defined as a user interface (“UI”) in which a user interacts with digital information by manipulation of a physical object. Users may interact with these TUI&#39;s by stepping on them, jumping on them, touching them, or tapping them with a device. Because users are accustomed with tangibly manipulating objects in their physical environment, TUIs allow users to extend these manipulations to virtual environments. Conventionally, TUI systems have been used for entertainment, learning and for physical fitness. Some conventional TUIs are static, with fixed shapes. Others conventional TUIs are dynamic, and can be configured into a myriad of shapes depending on a user preference. These dynamic conventional TUIs cannot be changed for a specific application after they have been configured for the specific requirement. 
     Needs exist for a dynamic TUI that can be configured based on a user&#39;s preference into a myriad of shapes or configurations each time a user interacts with a specific computer application. 
     SUMMARY OF THE INVENTION 
     Embodiments of the present invention may include a platform for interacting with a computer application by manipulation of dynamically configurable objects, such as interactive tiles. 
     Embodiments of the present invention may include systems and methods for a dynamic user interface system for interacting with computer applications through a physical environment. The system may include: a network with at least one data communication bus, a plurality of nodes connected to the at least one data communication bus capable of being configured into a plurality of shapes and receiving sensory input data from a user; wherein the plurality of nodes comprises a plurality of interactive tiles; wherein each of the plurality of interactive tiles comprises electronic circuitry being operable for: identifying a connection status for at least one tile adjacent to each of the plurality of interactive tiles; identifying a source for data received by each of the plurality of interactive tiles; and transmitting the identified data to the data collection module via a communication network. 
     Embodiments of the present invention may include systems and methods for interacting with a computer application through manipulation of a physical environment. The method may include: creating a network with one or more nodes capable of being configured into a plurality of shapes for receiving input from physical manipulation by a user; receiving data from the network; comparing the received data against a pre-determined threshold; transmitting the compared data over a communication bus to a data collection module; analyzing the transmitted data to identify the source of the data; generating a user event, wherein said user event is based on the identified source of the data; updating a connection status tree, wherein said connection status tree depicts the current configuration of the network, and wherein said connection status tree is stored in local memory at a computer; and transmitting the updated connection status tree and the user event to a computer application, wherein said user event updates the computer application, and wherein said connection status tree updates a map of the network in real time. 
     Additional features, advantages, and embodiments of the invention are set forth or apparent from consideration of the following detailed description, drawings and claims. Moreover, it is to be understood that both the foregoing summary of the invention and the following detailed description are exemplary and intended to provide further explanation without limiting the scope of the invention as claimed. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate preferred embodiments of the invention and together with the detailed description serve to explain the principles of the invention. In the drawings: 
         FIG. 1  is an illustration of a high level flow chart of an exemplary process for implementing the platform according to one embodiment of the invention. 
         FIG. 2  is an illustration of the exemplary system architecture of the platform according to one embodiment of the invention. 
         FIG. 3  is an illustration of the exemplary system architecture of the platform according to one embodiment of the invention. 
         FIG. 4  is an illustration of the exemplary system architecture of the platform according to one embodiment of the invention. 
         FIG. 5  is an illustration of an exemplary tile configuration according to one embodiment of the invention. 
         FIG. 6  is an illustration of an exemplary tile network module according to one embodiment of the invention. 
         FIG. 7  is an illustration of an exemplary communication bus in a tile network module according to one embodiment of the invention. 
         FIG. 8  is a schematic illustration of an exemplary tile microcontroller according to one embodiment of the invention. 
         FIG. 9  is an illustration of an exemplary data flow in a tile network module according to one embodiment of the invention. 
         FIG. 10  is an illustration of a Graphical User Interface (“GUI”) for an exemplary computer application using the platform according to one embodiment of the invention. 
         FIG. 11  is an illustration of a GUI for an exemplary computer application using the platform  200  according to one embodiment of the invention. 
         FIG. 12  is an illustration of a GUI for an exemplary computer application using the platform according to one embodiment of the invention. 
         FIG. 13  is an illustration of an exemplary physical configuration of a tile network module according to one embodiment of the invention. 
         FIG. 14  is an illustration of a GUI for an exemplary virtual mapping of the physical configuration of the tile network module in  FIG. 13  according to one embodiment of the invention. 
         FIG. 15  is an illustration of an exemplary tile with RJ45 connections according to one embodiment of the invention. 
         FIG. 16  is an illustration of a microcontroller embedded within one or more foam tiles according to one embodiment of the invention. 
     
    
    
     In the following detailed description of the illustrative embodiments, reference is made to the accompanying drawings that form a part hereof. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is understood that other embodiments may be utilized and that logical or structural changes may be made to the invention without departing from the spirit or scope of this disclosure. To avoid detail not necessary to enable those skilled in the art to practice the embodiments described herein, the description may omit certain information known to those skilled in the art. The following detailed description is, therefore, not to be taken in a limiting sense. 
     DETAILED DESCRIPTION OF THE INVENTION 
     As used herein, the term “real time” may include, but is not limited to, immediate, rapid, not requiring operator intervention, automatic, and/or programmed. Real time may include, but is not limited to, measurements in femtoseconds, picoseconds, nanoseconds, milliseconds, as well as longer, and optionally shorter, time intervals. 
     As used herein, the term “communication link” or “communication network” shall include, but not be limited by, any local area network (LAN), wide area network (WAN), intranet, extranet, mobile communication network, global communication network, wireless communication system or network, and/or the Internet, which may implement any suitable communication protocol, and/or support any framework s-based interfaces, including, but not limited to: Ethernet IP communications via Ethernet ports on the gateway, and conventional XML/TCP/IP protocols and ports are employed over secured SSL sessions; USB 2.0 via ports on the gateway; 802.11b/g/n IP communications; GSM/GPRS RF WAN communications; CDMA 1×RTT RF WAN communications (optional, can also support EVDO and 3G, 4G technologies); Dialog RF network (319.5 MHz) and RS485 Superbus 2000 wired interface; RF mesh network (908 MHz); and interfaces including RF network (345 MHz) and RS485/RS232bus wired interfaces. 
     Embodiments of the present invention provide an improved platform  200  for interacting with computer applications through manipulation of dynamically configurable physical objects, such as interactive tiles. In some embodiments, the physical manipulation may include a user stepping on parts of the platform  200 . In some embodiments, the physical manipulation may include a user touching parts of the platform  200 . In some embodiments, the physical manipulation may include a user jumping on parts of the platform  200 . In some embodiments, the platform  200  may be implemented with one or more tile network modules  201 , one or more DCMs  206 , and one or more computers  207 . 
     The one or more computers  207  may include computers, tablets, video game consoles, televisions and other computing devices. Each of the one or more computers  207  may be well known to those skilled in the art and may include a display, a central processor, a system memory, and a system bus that couples various system components including the system memory to the central processor unit. The system bus may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The structure of system memory may be well known to those skilled in the art and may include a basic input/output system (BIOS) stored in a read only memory (ROM) and one or more program modules such as operating systems, application programs and program data stored in random access memory (RAM). The computers may also include a variety of interface units and drives for reading and writing data and a database for storing data. The one or more computers  207  may run an Operating System (OS). The OS may include a shell, for providing transparent user access to resources such as application programs. The OS may include a kernel, which provides essential services required by other parts of OS and application programs. The services provided by the kernel include memory management, process and task management, disk management, and I/O device management. 
     Applications running on or accessing the platform  200  may include any application required by the platform  200 , such as, for example, conventional applications for entertainment, education or physical fitness, or other applications developed using object-oriented programming languages, such as, for example, C++, JAVA and C# or other conventional software programming techniques. 
     In one embodiment, the platform  200  may include a tile network module  201  that can be physically manipulated by a user stepping and/or jumping on one or more tiles  205  in the tile network module  201  to interact with one or more software applications  210  running on the one or more computers  207 . The tiles  205  may be configured into a variety of patterns or shape based on a user&#39;s preference or the requirements of the one or more software applications  210 , each time a user accesses the one or more software applications  210 . Referring to  FIG. 1 , there is shown a high level flow chart of an exemplary process for implementing the platform  200  according to one embodiment of the invention. In step  101 , a user may create a tile network module  201  from one or more connected interactive tile  205 . The tile network module  201  may have at least one communication bus  204  connected to each tile  205  in the tile network module  201 . Each tile  205  in the tile network module  201  may also be equipped with one or more microcontrollers  801  (see  FIG. 8 ) for detecting user interactivity, communication among the tiles  205 , and detecting the connection status of adjacent tiles  205 . Each tile  205  may have one or more sensory modules  203 , tile detection modules  202 , display modules  601  (see  FIG. 6 ), and a communication bus  204  connected to the one or more microcontrollers  801 . In some alternatives, the communication bus  204  may transmit data to and/or receive data from a data collection module (“DCM”)  206 . In some alternatives, the communication bus  204  may transmit data to and/or receive data from the computer  207 . In some alternatives, the communication bus  204  used may determine the number of tiles  205 , for example, an RS485 bus can support up to 128 tiles  205  and an I2C bus can support up to 112 tiles  205 . 
     Each tile  205  may have one or more contact terminals attached to each of its sides. The one or more contact terminals may supply power to adjacent tiles  205 , and detect the connection status of adjacent tiles  205 . For example, the integrated circuit power supply pin contact terminal may be labeled Vcc  302  and the ground contact terminal may be labeled GND  306 . The Vcc and GND contact terminals may be used for supplying adjacent tiles  205  with power, such as DC power. In another example, the serial receiving line contact terminal may be labeled Rx  304  and the serial transmitting line contact terminal may be labeled Tx  305 . The Rx and Tx contact terminals may be used with a communication bus  204  for communication between the tiles  205 , and between the tile network module  201  and the data collector  206 . In some alternatives, the communication bus  204  may be a serial bus. In a further example, a contact terminal for the output signal from each tile  205  may be labeled OUT  307 . The IN line may be used to recognize when there may be a connection or disconnection of an adjacent tile. The OUT line may be always connected to the input line of the adjacent tile to supply the connect/disconnect signal to it. 
     The tile detection module  202  may be responsible for detecting a new tile  701  when a new tile  701  may be physically connected to or disconnected from the tile network module  201 . The platform  200  may assign a unique identification number to each tile  205  (TileID). The platform  200  may also assign a unique identification number to each side of the tile  205  (SideID). The SideID may be used to identify the side of each tile  205  that is connected to an adjacent tile  205 . The TileIDs and SideIDs may be pre-assigned as static values and may be stored in the microcontroller&#39;s flash memory for each tile  205 . In some alternatives, the platform  200  may assign dynamic TileIDs and/or SideIDs to the tiles  205 , each time the platform  200  is activated. In some alternatives, the platform  200  may update TileIDs and SideIDs for each tile that may be stored in the microcontroller&#39;s flash memory for each tile  205 . For example, as illustrated in  FIG. 7 , in the case of adding a new tile  701  to the platform  200 , the tile detection module  202  may broadcast a connectivity message via a communication bus  204  that may include both the TileIDs and the SideIDs of all tiles  205  that may be connected to the platform  200 . In the latter example, the new tile  701  may be connected to only one existing tile  205 . In some alternatives, the new tile  701  may be connected to up to four existing tiles  205 , on each side of the tile  205 . When a tile  205  is removed from the tile network module  201 , the tile network module  201  may respond by broadcasting only the TileID and SideID of the tile(s) whose state may have changed. For example, as illustrated in  FIG. 9 , if a tile  701  is disconnected from the tile network module  201 , the tile network module  201  may broadcast the TileID and SideID of the adjacent tile  702 . The connectivity information may be communicated to the host computer  207  via the data collector  206 . In some alternatives, the one or more DCMs  206  may be external to the one or more computers  207 . In some alternatives, the one or more DCMs  206  may be integrated within the one or more computers  207 . 
     The sensory module  203  may include one or more actuators, such as vibration actuators, and one or more conventional sensors for receiving input from a user, such as pressure sensors. The sensory module  203  may also include one or more display modules  601 , such as a light emitting diode (“LED”) display for providing a visual notification to a user, when a tile  205  may be activated by the platform  200 , for example by receiving power from an adjacent tile  205 . 
     In step  102 , the sensory module  203  may receive data from at least one tile  205  in the tile network module  201  via a communication bus  204 . In some alternatives, the data may include information about a user physically manipulating a tile  205 , for example, by stepping on a tile  250 . In some alternatives, the data may include information from a tile  205  being added or removed from the tile network module  201  as discussed above. When the sensory module  203  receives data from one of the sensory modules  203 , it may convert the signal from analog data to a digital data. The communication bus  204  may be responsible for providing the necessary communication among the hardware components of the platform  200 . For example, the communication network among the tiles  205  may use the RS485 framework, which may be a serial method of communication. The communication bus  204  may transmit the data received from the tile detection module  202  and sensory modules  203  to the DCM  206 . In some alternatives, the communication bus  204  can be carried out a USART bus, RS232 bus, RS485 bus, I2C bus, SPI bus, One-wire bus, CAN bus, other conventional bus, or any other suitable approach. In some alternatives, the DCM  206  may supply power to the one or more tiles  205 . In some alternatives, the one or more computers  207  may supply power to the DCM  206 . In some alternatives, the DCM  206  may be connected to a power source, such as, for example, an AC outlet or DC battery storage. In some alternatives, each tile  205  may receive power directly and/or indirectly from any conventional power source. 
     In step  104 , the platform  200  may determine whether the data received from step  102 . For example, whether the data meets a pre-determined value set by the platform  200 , to actually be considered a step by the user. In some alternatives, the data received from the sensor may be compared against a pre-determined threshold value set by the user. As is known in the art, the resistance of the pressure sensors is lowered when compressed. Accordingly, voltage output of the pressure sensors will vary with applied pressure. In some alternatives, the pre-determined threshold may be a reduction in the pressure sensors voltage output from approximately 5% to approximately 20%, more preferably, approximately 10%. 
     In step  105 , after the analysis in step  104 , the sensory module  203  may also broadcast the TileID and/or SideID data received from the sensory module  203  to the DCM  206 . For example, the communication framework RS485 may be used to implement communication between the nodes in the tile network module  201 . The RS485 framework may not be compatible with the computer application  210 . The DCM  206  may convert the RS485 framework data received from the tile detection module  202  and sensory modules  203  through the RS485 communication bus  204  in to another compatible format, such as the RS232 communication framework. 
     In step  106 , the platform  200  may analyze the data received from the tile detection module  202  and sensory modules  203  to determine the source of the data. If the data originated from the sensory modules  203 , for example, it may include a TileID. Then in optional step  107 , the platform&#39;s  200  management module  208  may send a user event to the user&#39;s application  210 . If the data originated from the tile detection module  202 , for example, it may include a TileID and a Side ID. Then, the platform&#39;s  200  management module  208  may send the data to the platform&#39;s mapping module  209 . In some alternatives, the management module  208  may also send a shape update event to the mapping module  209 . The mapping module  209  may update the visual representation of the tile network module  201  in real-time based on the data received from the management module  208  as illustrated in  FIGS. 11 and 12 . 
     The management module  208  may also be responsible for detecting the type and context of data that may be received from the DCM  206  and generating events, which may be sent to the user application  210 . In some alternatives, upon receiving data from the DCM  206 , the management module  208  may first count the number of tiles  205  that may have sent the data. If the count is 1, the management module  208  may analyze the data and may determine whether it may have originated from the sensory module  203  or the tile detection module  202 . If the count is greater than 1, the management module  208  may determine that the data may have originated from the tile detection module  202 . Information originating from the tile detection module  202  may be passed to the mapping module  209  to map the physical shape of the tile network module  201  onto a Connection Status Tree (CST) stored in memory at the computer  207 . The CST may be a graph represented by an adjacency matrix, which may describe the shape of the tile network module  205 . When the mapping activity is completed, the management module  208  may send one or more shape update events containing the CST to registered user applications  210 . If the information received from the DCM  206  originated from the sensory module  203 , the management module  208  may send a sensor event, which may contain the TileID and/or SideID of the corresponding tile  205  to the user application  210 . 
     The mapping of the physical tiles  205  onto a CST stored in memory at the one or more computers  207  and displaying the CST on a display may occur in real-time. In some alternatives, this mapping may occur anytime a user activates a user application  210 . The CST may be subsequently forwarded to one or more user applications  210 . For example, upon receiving data from the management module  208 , the mapping module  209  may compare the data with one or more CSTs. If the data indicates that a new node  701  may have been added to the tile network module  205 , the mapping module  209  may use the data to calculate the position of the newly connected node  701 . The mapping module  209  may update the one or more CSTs by adding the TileID for the new node  701  to the one or more CSTs. The mapping module  209  may subsequently send the calculated data to the management module  208 . If the data indicates that a new node  701  may have been removed from the tile network module  201 , the mapping module  209  may use the data to calculate the position of the recently disconnected node  701 . The mapping module  209  may update the one or more CSTs by removing the TileID of the disconnected node  701  from the one or more CSTs. The mapping module  209  may subsequently send the calculated data to the management module  208 . 
     The user application  210  module can be any application that may use the platform  200  as an input device. The user application  210  module may listen to events coming mapping module  209  and/or management module  208  to update its status. The user application  210  may receive two types of events from the management module  208 . Sensor events may indicate which tile  205  may have been stepped on. Shape update events may notify the user&#39;s application  210  in real-time about changes to the shape of the tile network module  205 . The mapping module  209  and/or management module  208  interactions with the user application module  210  may be illustrated in Example 1 below. 
     In another embodiment, the LED  601  embedded with each tile  205  may respond to auditory or visual cues from the user applications  210 . The auditory or visual cues may correspond to time limits for the user applications  210 , the order in which the user should interact with each tile  205 , a signal that the user has stepped on a correct tile  205 , or other cues from the user applications  210 . In some alternatives, each tile may include a plurality of LEDs  601 . In some alternatives, the plurality of LEDs  601  may include a variety of shapes. In some alternatives, the variety of shapes may correspond to objects with the user applications  210 . In some alternatives, the plurality of LEDs  601  may flash in response to auditory or visual cues from the user applications  210 . For example, a user may follow flashing LEDs  601  in response to auditory or visual cues from the user applications  210 , by jumping from one tile  205  to another tile  205  in response to auditory or visual cues from the user applications  210 . The user jumping from one tile  205  to another tile  205  may increase the heart rate of the user as described below, corresponding to conventional measurements for a light or moderate exercise. For example, the auditory or visual cues may be a timer signaling the amount of time a user has left to complete a specific task. 
     The invention will be illustrated in more detail with reference to the following examples, but it should be understood that the present invention is not deemed to be limited thereto. 
     Example 1 
     The platform  200  may include a tile network module with up to 32 tiles  205 . The tile network module  201  may be configured in a variety of shapes suitable for interacting with several exemplary user applications for education, entertainment and physical exercise, such as a memory game, a spelling game and a SmartPad exergaming and edutainment diversion (“SPEED”) game. Each tile  205  may include an integrated  405  Picaxe-18 M2 microcontroller with 16 configurable I/O ports. The “2400, N, 8, 1” 406 (Baud rate, Parity, Data bits, Stop bits) protocol configuration may be used by the Picaxe serial communication module. The microcontroller I may be attached one or more differential bus transceiver s, for example, SN75176, for serial data communication. The use of Picaxe microcontrollers may result from their small size, low cost, and programming simplicity. A 1.75×1.5″ square FSR sensor may be embedded in each tile  205 . This sensor may be located anywhere on the tile  205 , and more preferably may be located towards the center of the tile  205 . The sensor may be protected by approximately 2 mm layer of a foam material, which may cover the surface of each tile  205 . Each tile  205  side may have a male or female RJ45 connector with 6 lines as illustrated in  FIG. 15 . The connectors may be arranged in a pattern for easily connecting the tiles  205 . The +5 V power may be supplied to the tiles  205  from the computer  207  serial interface, universal serial bus (USB) through the DCM  206 . The attached LED  601  may be for the power IN  306  indication. The platform  200  components may be inserted in between two 12×12″ square foam layers as shown in  FIG. 16 . 
     An ATmega 168 microcontroller on an “Arduino Uno” board may be used to perform all of the necessary communication between the tiles  205 , the tile network module  201  and the computer  207 . This communication may be achieved by translating data in the RS485 framework from the tiles  205  or the tile network module  205  to a compatible format, such as RS232 as shown in  FIG. 8 . The microcontroller  801  may be attached to a differential bus transceiver, for example, SN75176, which may be used to receive data from the tiles  205  through the serial bus. The computer  207  may supply both the DCM  206  and the tile network module  201  circuits with a Vcc power through the USB port. The platform  200  microcontrollers&#39;  801  software may be implemented using the PICAXE Programming Editor. This programming editor may use BASIC commands supported by the PICAXE system. The DCM  206  software may have been the Arduino IDE, which may be an open-source project for programming Arduino microcontrollers using the processing/wiring language. All user applications  210  for the platform  200  may have been implemented using Visual Studio 2008 C# on a Windows 7 platform. 
     Memory Game 
     For the memory game, the user, a child, may be required to find matching pairs of pictures among a set of images. Unlike traditional memory games that are played with a mouse, the platform  200  may use a set of tiles  205  integrated with one or more sensors. The user may have to step onto one or more of the tiles  205  to interact with the memory game. Every step on a tile  205  may reveal an associated picture shown on the corresponding mapped tile network module  205  on the screen. The platform&#39;s  200  media content can be customized by parents or guardians to suit the child&#39;s learning needs, thereby enhancing his or her cognitive development. The memory game may include images that aim to expand children&#39;s knowledge by introducing them to animals, birds, and many other different entities. In addition, every picture displayed in the memory game may be associated with a verbal and/or written spelling of the entity being shown. Such functionality can enrich the vocabulary of the children, consolidate their current knowledge of objects they might already know, and may widen their boundaries for learning by introducing them to new objects and shapes they might not have seen before.  FIG. 10  illustrates the GUI of the memory game. 
     Spelling Game 
     The spelling game may teach reading and writing skills to children who are at earlier stages of their development. For example, children can spell a word with the tiles  205  on a screen and get a corresponding picture, audio and textual description of the word on a screen. First, the word may appear on the screen for a short period of time. Thereafter, the platform  200  may display a set of random letters on the mapped tiles  205 . The user has to step on the tiles  205  in order to spell the word depicted by the image. The spelling game may have different word categories that a guardian can select for the children. Some of the categories may include, but is not limited to, animal names, transportation, fruit, colors, and other categories appropriate for children. The spelling game may verbally pronounce and depict a graphically representative picture of every word. The spelling game may also provide sound effects to provide feedback to the child, when they step on the correct tiles  205 .  FIG. 11  illustrates a GUI of the spelling game. 
     SPEED Game 
     The SPEED game may encourage children to stay physically active during game play while interacting with a fun game. The SPEED game may be an implementations of the spelling game with an implementation a mechanism that may control the time available for a child to spell a word according to his/her heart rate. Measuring the heart rate of the users may be an added feature of this game, because it is a conventional indicator of physical exercise intensity. The goal of SPEED game may be to constantly reduce the difference between the child&#39;s Heart Rate (HR) and the Target Heart Rate (THR) calculated for the particular exercise intensity. This may indicate that the child may be exercising at that particular intended intensity. To achieve that, the user&#39;s HR may be collected continuously through, for example, heart rates monitor and sent via a communication network to the game. To calculate the THR, the maximum Heart Rate (HR max ) may be calculated first. This may correspond to the highest level of a healthy heart rate during exercising. HR max  may be calculated though, for example, the following equation: HR max −206.9−(0.67×Age). Using the calculated HR max , the THR for various exercise intensities may be calculated through, for example, the following equation: THR=(HR max −HR rest )×Intensity+HR rest , where HRrest may be the heart rate of the user measured at rest. The intensity may reflect the strength of the exercise. In the SPEED game, the user can choose an intensity level from approximately 30% to approximately 90% of the HR max , more preferably from approximately 30% to approximately 70% of the HR max , and most preferably from approximately 40% to approximately 60% of the HR max . The latter range may correspond to moderate exercise levels based on conventional framework s. To push the user towards the target HR during game play, the time available to spell a word may be shortened or lengthened depending on the size of the wedge between the target and current heart rate of the user. This may be calculated, for example, through the following equation: TPL t = TPLt-1 −α×(THR−HR t ). Where TPL t  may be the time per letter at time t, HR t  may be the heart rate reading at time t and TPL t-1  may be the time per letter at time t−1. TPL may be calculated for every new word displayed on the screen to be spelled by the user. α may dictate how fast the TPL may be changed to keep the HR close to THR. For example, a value of approximately 0.01 for a may be appropriate. Based on the latter equation, a user may be provided with less time per letter when his/her HR is below the THR, which may encourage the child to move faster. The user may be provided with more time per letter when their HR exceeds the THR in order to slow down his/her movement. The time per word may be calculated by multiplying TPL by the number of letters in a given word. 
     A Zephyr H×M heart rate monitor may be used to monitor the user&#39;s heart rate. The device may be composed of an electronics module installed on an elastic belt equipped with conductive fabric. The belt may be worn comfortably on the torso. The device may collect heart rate measurements and may send them every second to the computer  207  via a Bluetooth channel or a Wi-Fi connection. The computer  207  running the SPEED game may be equipped with a Bluetooth adapter or Wi-Fi adapter, which may allow the SPEED game to receive the heart rate measurements.  FIG. 14  illustrates the GUI interface of the SPEED game. Because the time remaining to complete the spelling of a word may be an added feature during game play, the GUI may be designed to display it in a clear way so that the user may be motivated to regulate the speed of his/her movements accordingly. The SPEED game GUI may also measure and display the user&#39;s HR at rest, display the calculated HR max , the calculated THR, the measured instant HR and the score of the user. The score may be calculated by the number of correctly spelled word over the total number of words given. 
     For the SPEED game, the heart rate information may be used as input to vary the difficulty of the game and may thus encourage the user to reach an optimal heart rate for effective exercising. For example, six children between the ages of 10 and 13 used the platform  200  to interact with the SPEED game. The children&#39;s heart rate may have been measured by the Zephyr HxM sensor. The Zephyr HxM sensor may have been strapped over each child&#39;s chest for the duration of their interaction with the SPEED game. The sensor may communicate the acquired data to the SPEED game via a communication link, such as, for example, a Bluetooth link. Three levels of difficulty may have been built into the SPEED game according to three selected values of exercise intensities. These levels may have been labeled easy, medium and hard and may have corresponded to 40%, 50% and 60% intensity levels respectively. Table 1 below shows the measured HRrest, the calculated Maximum HR (calculated using equation 1), the intensity level chosen by children and the calculated target HR (calculated using equation 2) for the six children. 
                     TABLE 1                  Resting and Target Heart Rates for users of the SPEED       game and the Platform 200.                                         Subject   Age   Weight (Kg)   HR rest     HR Max     % Intensity   THR               S1   10   39   91   200   40   134       S2   11   39   86   199   40   131       S3   11   41   83   199   40, 50   129, 141       S4   11   45   87   199   40   132       S5   11   34   94   199   50   147       S6   13   49   93   198   50   145                    
Table 1 show that user&#39;s HR may have gradually increased to stabilize in the vicinity of the target HR and almost remained at that level. Table 1 and the derived time per word control mechanism presented in the equations above may have helped the children reach a target heart level for specific exercise intensity levels.
 
     After reviewing children&#39;s interactions with the platform  200  and the games above over a two week period, in one to two hour sessions of game play, the platform  200  may also have encouraged the children to move around while playing the games, as measured by the SPEED game results in Table 1 above. The physical movement by the children may have corresponded to conventional measurements for a light or moderate exercise. 
     Although the foregoing description is directed to the preferred embodiments of the invention, it is noted that other variation and modifications will be apparent to those skilled in the art, and may be made without departing from the spirit or scope of the invention. Moreover, features described in connection with one embodiment of the invention may be used in conjunction with other embodiments, even if not explicitly stated above.