The ER1 essentially has 3 modes of programmability. The first, pictured here is the robots control software.This allows programmability through an "If-Then" sequence. "IF" the ER1 hears "move" THEN move 3 feet forward. The second method of programming is through remote control. Motion, speaking, and viewing the ER1's webcam are all possible here. The third method of programming is through "sockets" which means you can send commands to the robot through wf-fi from another computer, tablet, or smart phone.