Designing User Interfaces For Multi-Device Environments