{"title":"Tools for Creating UI Automation Macros","authors":"Rebecca Krosnick","doi":"10.1109/vl/hcc53370.2022.9832966","DOIUrl":null,"url":null,"abstract":"Automation macros enable users to perform digital tasks programmatically to save time or support hands-free interaction. For example, macros can be used to perform web scraping for a research project (e.g., scraping articles from a news site) or personal task automation via natural language (e.g., ordering food for delivery). Some kinds of automation are built into our devices and are readily available (e.g., via Siri [1] or Alexa [2]), but this set is limited and often will not support a user’s niche or complex needs. Users can create their own custom macros, but traditionally this requires writing program code which involves a significant amount of effort for programmers and is infeasible for non-programmers. In my PhD work, I have studied and designed tools for developers and end-users to more intuitively create user interface (UI) automation macros. First, I studied the challenges and needs of programmers writing web automation scripts [3], both in a traditional text editor and in richer environments, including a prototype IDE I built that provides context about the target UI and feedback on element selection logic. Next, I designed a programming by demonstration (PBD) environment that enables end-users to create custom macros for answering questions on the web without needing to write code [4]. So far my work has focused on helping users create macros that perform a desired web scraping or automation task on a single website. However, it makes sense that users might also want to perform the same kinds of automation on semantically similar websites. For example, a user might want to create an automation macro that can order food not only from the DoorDash website, but also from the GrubHub and Uber Eats websites. Another user might want to create an automation macro that scrapes data from staff directories across different department and university websites. In both cases, the websites’ content will be similar and the macro should perform the same high-level actions, but the websites’ exact visual appearance, widgets, and underlying implementation will vary. Currently users would need to create separate macros from scratch for each website. In my future work, I plan to help users create semantic macros -– macros that are capable of performing a given highlevel semantic task across different websites – without needing to create new automation logic from scratch for each new website. II. DEVELOPER ENVIRONMENTS FOR CREATING MACROS","PeriodicalId":351709,"journal":{"name":"2022 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/vl/hcc53370.2022.9832966","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Automation macros enable users to perform digital tasks programmatically to save time or support hands-free interaction. For example, macros can be used to perform web scraping for a research project (e.g., scraping articles from a news site) or personal task automation via natural language (e.g., ordering food for delivery). Some kinds of automation are built into our devices and are readily available (e.g., via Siri [1] or Alexa [2]), but this set is limited and often will not support a user’s niche or complex needs. Users can create their own custom macros, but traditionally this requires writing program code which involves a significant amount of effort for programmers and is infeasible for non-programmers. In my PhD work, I have studied and designed tools for developers and end-users to more intuitively create user interface (UI) automation macros. First, I studied the challenges and needs of programmers writing web automation scripts [3], both in a traditional text editor and in richer environments, including a prototype IDE I built that provides context about the target UI and feedback on element selection logic. Next, I designed a programming by demonstration (PBD) environment that enables end-users to create custom macros for answering questions on the web without needing to write code [4]. So far my work has focused on helping users create macros that perform a desired web scraping or automation task on a single website. However, it makes sense that users might also want to perform the same kinds of automation on semantically similar websites. For example, a user might want to create an automation macro that can order food not only from the DoorDash website, but also from the GrubHub and Uber Eats websites. Another user might want to create an automation macro that scrapes data from staff directories across different department and university websites. In both cases, the websites’ content will be similar and the macro should perform the same high-level actions, but the websites’ exact visual appearance, widgets, and underlying implementation will vary. Currently users would need to create separate macros from scratch for each website. In my future work, I plan to help users create semantic macros -– macros that are capable of performing a given highlevel semantic task across different websites – without needing to create new automation logic from scratch for each new website. II. DEVELOPER ENVIRONMENTS FOR CREATING MACROS