title: "Bespoke: Interactively Synthesizing Custom GUIs from Command-Line Applications By Demonstration" authors: Priyan Vaithilingam and Philip J. Guo venue: ACM Symposium on User Interface Software and Technology (UIST) year: 2019 tweet: Bespoke turns ordinary command-line applications into custom GUIs by watching how users invoke them abstract: > Programmers, researchers, system administrators, and data scientists often build complex workflows based on command-line applications. To give these power users the well-known benefits of GUIs, we created Bespoke, a system that synthesizes custom GUIs by observing user demonstrations of command-line apps. Bespoke unifies the two main forms of desktop human-computer interaction (command-line and GUI) via a hybrid approach that combines the flexibility and composability of the command line with the usability and discoverability of GUIs. To assess the versatility of Bespoke, we ran an open-ended study where participants used it to create their own GUIs in domains that personally motivated them. They made a diverse set of GUIs for use cases such as cloud computing management, machine learning prototyping, lecture video transcription, integrated circuit design, remote code deployment, and gaming server management. Participants reported that the benefit of these bespoke GUIs was that they exposed only the most relevant subset of options required for their specific needs. In contrast, vendor-made GUIs usually include far more panes, menus, and settings since they must accommodate a wider range of use cases. bibtex: > @inproceedings{VaithilingamUIST2019, author = {Vaithilingam, Priyan and Guo, Philip J.}, title = {Bespoke: Interactively Synthesizing Custom GUIs from Command-Line Applications By Demonstration}, year = {2019}, isbn = {9781450368162}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, url = {https://doi.org/10.1145/3332165.3347944}, doi = {10.1145/3332165.3347944}, booktitle = {Proceedings of the 32nd Annual ACM Symposium on User Interface Software and Technology}, pages = {563--576}, numpages = {14}, keywords = {gui synthesis, command-line interfaces, pbd}, location = {New Orleans, LA, USA}, series = {UIST '19} }