user interface software and technology