The widespread emergence of computing devices that go beyond the capabilities of traditional desktop computers has created a challenge for user interface (UI) developers who face the problem of a lack of a unified development process for building these UIs. This dissertation research focuses on creating a simplified development process for building UIs for multiple platforms. As part of this, the necessary building blocks (and their relationships) that can be used in a process to develop multi-platform UIs (MPUIs) are identified and specified. A task model, which is an abstract representation of the tasks that users perform with a system, is used as a high-level platform-independent specification for representing UIs for multiple platforms. The task model is supplemented with additional navigation attributes and containment operators for each target platform to facilitate the UI development process. This contribution is based on the insight that an uncontaminated task model, in conjunction with additional operators, allows different styles of UIs to be derived for different platforms. This development process is evaluated by functional comparison with a few other multi-platform development processes, based on a set of criteria. In particular, a detailed comparison of this approach is performed with the approach used in the TERESA development environment. The process is also evaluated by demonstrating how the new features of this approach allow different styles of UIs to be built not only for a single platform, but also for different platforms. The two underlying notations that are used in this work include the Concurrent Task Tree (CTT) modeling notation for the task model and an intermediate language for UIs, the User Interface Markup Language (UIML). This research associates a new vocabulary with the UIML language to facilitate a multi-step transformation-based MPUI development process.