A declarative language for creating portable GUIs with minimal effort