BLDL-15
Tue 26 - Wed 27 November 2024 Bergen, Norway
Wed 27 Nov 2024 10:00 - 10:30 at Stort ("Large") Auditorium - Talk

Programming GUIs constitutes a large portion (some estimates say half) of all development effort. GUI programming is also an error-prone activity: we see daily UIs that contain defects, lack useful functionality, or are simply confusing—and are frustrating. The quality of GUIs remains low in many applications because so many, too many we argue, aspects of a GUI’s behavior rests on the application programmer. This talk describes our efforts, a research agenda, that aims to simplify GUI programming. In our vision of UI programming, the programmer specifies declaratively the data manipulated by a user interface and dependencies amongst the data as a multi-way dataflow constraint system, and connects this model to a view devoid of any logic. The UI’s (entire) behavior is derived from a constraint system specification—responses to UI events are managed by well-tested reusable algorithms, not by ad-hoc event handling code written by the application programmer. As a result, we conjecture, the effort of programming goes down and quality up.

Jaakko Järvi is a professor of Software Engineering at the University of Turku, where he also serves as Dean of the Faculty of Technology. He has formerly held academic positions at University of Bergen, Texas A&M University, and Indiana University, and worked as a visiting scientist at Adobe System Inc. in San Jose, CA. Jaakko’s primary research contributions are in the areas of declarative UI programming and programming languages. Regarding the latter, he is a long-time contributor to the C++ language and its standardization: he has (co)designed several features (lambda functions, variadic templates, tuple types) of the C++ language.

Knut Anders Stokke is a Ph.D. student at the Department of Informatics at the University of Bergen, working on multi-way dataflow constraint systems for graphical user interfaces.

Wed 27 Nov

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change