InterState: a language and environment for expressing interface behavior

InterState: a language and environment for expressing interface behavior
复制标题

InterState:表达界面行为的语言和环境

DOI:
10.1145/2642918.2647358
复制
发表时间:
2014
期刊:
Proceedings of the 27th annual ACM symposium on User interface software and technology
影响因子:
--
通讯作者:
Joel Brandt
Joel Brandt
中科院分区:
--
文献类型:
--
作者:
Steve Oney;B. Myers;Joel Brandt

文献摘要

被引文献

相似文献

InterState是一种新的编程语言和环境,它解决了编写和重用用户界面代码的挑战。InterState使用状态机和约束的新颖形式的组合清晰而简洁地表示交互行为。它还引入了新的语言特性,允许程序员轻松地模块化和重用行为。InterState使用了一种新的视觉符号,允许程序员更好地理解和导航他们的代码。InterState还包括一个实时编辑器,可以立即更新正在运行的应用程序以响应编辑器中的更改,反之亦然,以帮助程序员了解程序的状态。最后,InterState可以与其他语言编写的代码和小部件进行交互,例如在InterState中创建与数据库通信的用户界面。我们在一个比较实验室研究中评估了州际编程原语的可理解性。我们发现,参与者在理解和修改GUI组件时,他们与InterState实现比当他们在一个传统的文本事件回调风格实现的两倍。我们通过一系列基准测试和示例应用程序评估了InterState的可扩展性,发现它可以扩展以实现涉及数千个对象和约束的复杂行为。
InterState is a new programming language and environment that addresses the challenges of writing and reusing user interface code. InterState represents interactive behaviors clearly and concisely using a combination of novel forms of state machines and constraints. It also introduces new language features that allow programmers to easily modularize and reuse behaviors. InterState uses a new visual notation that allows programmers to better understand and navigate their code. InterState also includes a live editor that immediately updates the running application in response to changes in the editor and vice versa to help programmers understand the state of their program. Finally, InterState can interface with code and widgets written in other languages, for example to create a user interface in InterState that communicates with a database. We evaluated the understandability of InterState's programming primitives in a comparative laboratory study. We found that participants were twice as fast at understanding and modifying GUI components when they were implemented with InterState than when they were implemented in a conventional textual event-callback style. We evaluated InterState's scalability with a series of benchmarks and example applications and found that it can scale to implement complex behaviors involving thousands of objects and constraints.