Todos los devices comparten una interface básica que esencialmente permite leer(get) y escribir(gut) en ellos. Aquí aparecen como ejemplos: Archivos(Files), Escáner(Scanner), Memoria(Memory) y Visualización(Visualization). En algunos (como File) es posible leer y escribir, en otros (como Scanner) solo es posible leer, así mismo en Visualization únicamente podremos escribir. Las subclases agregarán métodos específicos para cada tipo de dispositivo. En resumen lo esquematizado muestra una jerarquía de interfaces. Es posible que muchas de las clases concretas involucren detalles tales como: características del sistema operativo o del dispositivo físico usado. Durante la visualización el usuario podría eventualmente capturar el estado del dispositivo y recuperar por ejemplo la posición de la cámara si esta fuera modificada.