Classic design heuristics involve visibility of system status, match between system and real world, user control and freedom, consistency and standards, recognition rather than recall, error prevention, flexibility and efficiency, aesthetic and minimalist, helping users with errors, and help and documentation