Features and characteristics of educational software