Interactex is a rapid prototyping environment to create smart textile applications that interact with a smartphone.
Figure below shows Interactex's high-level design and workflow.
Interactex Designer is used to create the application and circuit design visually. Interactex Client executes applications and communicates with the smart textile. Interactex Client runs on a smartphone. Interactex Firmware runs on a microcontroller attached to the smart textile and executes commands received from Interactex Client. TextIT is used to create and export functionality components that can be imported into Interactex Designer. To get a first insight into Interactex, watch this demo video:
Interactex Designer runs on an iPad device and is available in the AppStore:
The image below describes the main components of the user interface.
Applications created in Interactex Designer are transferred wirelessly to Interactex Client. Interactex has three main modes: Circuit Layout, Visual Programming and Simulation Modes.
Circuit Layout Mode
In Circuit Layout Mode, users lay out the hardware devices on the smart textile and draw their circuits.
Visual Programming Mode
In Visual Programming Mode, a palette with reusable objects is made available.
Interactex follows a flow-based programming paradigm. Events of an object are coupled to functions of another object.
A new visual programming interface that will display object's events, methods and properties and their couplings is under development. A screenshot of the new visual programming interface is shown below:
In Simulation Mode, applications are simulated and display runtime information for debugging purposes. Sensor data is simulated by users by performing multitouch gestures on sensors' visual representations. The states of output devices is represented visually with animations, sounds and images.
The screenshot below shows how different objects are represented in Simulation Mode.
Interactex Client is an iPhone and iPod App. Interactex Client is available in the AppStore: https://itunes.apple.com/nz/app/interactex-client/id1031238223?mt=8
TexIT is a hybrid visual and textual programming environment, currently under development.
Interactex Objects Overview
Interactex offers different types of reusable objects.
UI Widgets conform the user interface on the smartphone.
Hardware devices are sensors and output devices. Interactex supports every hardware device in the Arduino Lilypad kit and custom-made textile sensors and output devices (e.g. Textile Sensor and Textile Speaker)
Variables store data.
Comparison operators compare two values and return the result of the comparison as a Boolean.
Arithmetic operators operate two numbers and return the result of the operation.
Signal processing elements are filters, feature extractors and classification algorithms.
Utility Objects represent software functionality commonly useful when developing software for smart textiles.
Object's Events, Methods and Properties
Objects in Interactex emit events and contain methods with executable functionality and properties (equivalent to instance variables in object-oriented programming).
Comparison Operators emit the conditionIsTrue() event if the fist input variable is bigger (or smaller, equal, etc.) than the second input variable and otherwise emit the conditionIsFalse() event. Comparison Operators emit the alternative conditionChanged() event.
Arithmetic Operators emit the computed(Number) event with the result of the operation.
Variables have an event to set the value to be stored in the Variable and emit the valueChanged() event when the value changes its value. The value stored in a Variables can also be accessed through the 'value' property.
|Number Value||valueChanged(Number)||setValue(Number)||value : Number|
|Boolean Value||valueChanged(Boolean)||setValue(Boolean)||value : Boolean|
|String Value||valueChanged(String)||setValue(String)||value : String|
My name is Juan Haladjian. I developed Interactex as part of my Ph.D. at the Technical University of Munich.
Feel free to contact me with feature requests:
Academic Website: http://in.tum.de/~haladjia