device app interface