SlideShare a Scribd company logo
Yury Puzis, Yevgen Borodin, I.V. Ramakrishnan
Complexities of Practical
Web Automation
Stony Brook University
2015
NSF Grant No. IIS-1218570
Contents
Goal: help design practical web automation tools by sharing
observational experience
❖ Human-Computer Interaction Perspective
❖ Technical Perspective
❖ Example: Automation Assistant
❖ Conclusion
Why Web Automation?
❖ Problem: non-visual browsing is hard
❖ It is hard (or impossible) to find relevant information
and easy to become overwhelmed by what is irrelevant
❖ There are many shortcuts (gestures) to learn and hard
(or impossible) to accomplish non-trivial tasks
❖ Web automation has the potential to enable visually
impaired users to breeze through Web browsing tasks that
beforehand were slow, hard, or even impossible to achieve
Observation
User Environment Web Automation Tool
Browsing Actions Events
User Environment Web Automation Tool
Events Automation Instructions
Automation
Maximizing Trust
❖ Gaining and maintaining user trust is the cornerstone of
web automation: even a few disasters is a big problem
❖ The user needs to know and influence what will happen
(review, parameterize, choose) and what has happened
(review, revert, recover) at all times
❖ Failure is inevitable and has to be graceful: terminate
automation, ignore failed action, take corrective action,
or suggest the user to take corrective action
Minimizing End-To-End Cost
❖ Cognitive load and operation time must be end-to-end
lower when using automation than otherwise
❖ Web automation costs: managing creation, execution and
consequences of automation; context switching
❖ Screen-Reader and browser costs: many and are well known,
including the need to plan complex sequences actions by
memory or execute exhaustive search and guess, guess,
guess
❖ In conflict with the need to maximize trust
Dealing with Uncertainty
Goal: automate user intent without resorting to handcrafting
scripts (programming), interpret environment reaction
Problem: we can only guess
❖ Semantics of user browsing actions
❖ Semantics of environment events
❖ Semantics of webpage elements
Making Observations
❖ Goal: make meaningful observations from events
❖ Problem: browsing actions can trigger multiple
(including cascading) events, and there are different
types of events: e.g., shortcut press -> JavaScript call ->
DOM mutation -> virtual cursor movement
❖ Problem: over time, an event may change its semantics
(same event - different results) or implementation
(different event - same results)
Addressing Webpage Elements
❖ Goal: identify target webpage element
❖ Problem: most addressing approaches are designed to
query DOM for elements at the specified address, but we
need to query DOM for address of the specified element
❖ Solutions: sloppy programming, machine learning, etc.
but no unbreakable approaches exist
Detecting Action Completion
❖ Goal: wait for action to complete (succeed or fail) before
continuing to interact with the user & the environment
❖ Problem: no standard way to specify action completion;
cascading, asynchronous and scheduled JavaScript
events make things harder
❖ Solutions: listen to all relevant JavaScript events
through callback functions; timeout; wait for predefined
DOM mutations / value changes (success or failure)
Example: Automation Assistant
❖ Observes everything the user is doing (no macros)
❖ Guides the user through browsing tasks step-by-step
❖ suggests several alternative browsing actions based on
user’s prior actions
❖ automates only one action at a time
❖ each set of suggestions is explicitly requested, each
action is explicitly chosen, each outcome is reviewed
❖ No context switch between automation and screen-reading
Puzis Y., Borodin Y., Puzis R., Ramakrishnan I. V.,
Predictive Web Automation Assistant for people with vision impairments. WWW '13.
Conclusion
❖ There are some successes but automation is not there yet
❖ The biggest technical challenge is uncertainty which stems
from lack standardization
❖ The biggest HCI challenges are building trust and keeping
things “cheap”
❖ The HCI aspect of this talk is, to a large extent, applicable
to all automation tools, not just web automation. It is also
applicable to all users not just the visually impaired users
(think handheld, wrist devices)
Thank You!

More Related Content

PPTX
Simple Project Management
PPT
Usability
PDF
EE Camp: CMS Training with Screencasts
PPTX
How to Win Friends and Influence Standards Bodies
ODP
User Experience Design Heuristics
PPTX
SCCI'15 - Devology - Session 7 - UX&Steps to make a good website.
PDF
UX Usability Heuristics
PDF
Top Eight Automation Testing Challenges and How to overcome them.pdf
Simple Project Management
Usability
EE Camp: CMS Training with Screencasts
How to Win Friends and Influence Standards Bodies
User Experience Design Heuristics
SCCI'15 - Devology - Session 7 - UX&Steps to make a good website.
UX Usability Heuristics
Top Eight Automation Testing Challenges and How to overcome them.pdf

Similar to Complexities of Practical Web Automation (20)

PPTX
Accessibility Testing: Mileage May Vary
PDF
Behavior Driven Web UI Automation with Selenium and Cucumber/SpecFlow (BDDx L...
PDF
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
PDF
SauceCon 2017: Making Your Mobile App Automatable
PDF
Automation Abstractions: Page Objects and Beyond
PDF
Lessons Learned When Automating
PPTX
Tightrope a11yto-rydberg
PDF
Advances in Business Automation
PPT
Mobile Apps Testing - Part 2
PPTX
How To Write A Symphony of Automation With Appium
PPTX
How To Write a Symphony of Automation With Appium by Dan Cuellar sauce con18
PPTX
Booster 2017 - from accessibility n00b to pro in 1.5 hrs
PDF
Abstraction Layers Test Management Summit Faciliated Session 2014
PDF
Elaborating a Web Interface Personalization Process
PPTX
AI in Construction-Demystifying AI Agents
PDF
A CAPTCHA in the Rye
PPTX
The Accessible Web
PDF
Anand Ramdeo - Automation Frameworks - EuroSTAR 2012
PDF
SIGNA11Y - Speaker Presentations
PPTX
Using the Crowd to Understand and Adapt User Interfaces
Accessibility Testing: Mileage May Vary
Behavior Driven Web UI Automation with Selenium and Cucumber/SpecFlow (BDDx L...
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
SauceCon 2017: Making Your Mobile App Automatable
Automation Abstractions: Page Objects and Beyond
Lessons Learned When Automating
Tightrope a11yto-rydberg
Advances in Business Automation
Mobile Apps Testing - Part 2
How To Write A Symphony of Automation With Appium
How To Write a Symphony of Automation With Appium by Dan Cuellar sauce con18
Booster 2017 - from accessibility n00b to pro in 1.5 hrs
Abstraction Layers Test Management Summit Faciliated Session 2014
Elaborating a Web Interface Personalization Process
AI in Construction-Demystifying AI Agents
A CAPTCHA in the Rye
The Accessible Web
Anand Ramdeo - Automation Frameworks - EuroSTAR 2012
SIGNA11Y - Speaker Presentations
Using the Crowd to Understand and Adapt User Interfaces
Ad

Recently uploaded (20)

PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
history of c programming in notes for students .pptx
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
System and Network Administraation Chapter 3
PPTX
Introduction to Artificial Intelligence
PDF
Nekopoi APK 2025 free lastest update
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
L1 - Introduction to python Backend.pptx
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPT
Introduction Database Management System for Course Database
PDF
Digital Strategies for Manufacturing Companies
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Computer Software and OS of computer science of grade 11.pptx
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Transform Your Business with a Software ERP System
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
history of c programming in notes for students .pptx
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
System and Network Administraation Chapter 3
Introduction to Artificial Intelligence
Nekopoi APK 2025 free lastest update
Softaken Excel to vCard Converter Software.pdf
How to Choose the Right IT Partner for Your Business in Malaysia
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
VVF-Customer-Presentation2025-Ver1.9.pptx
L1 - Introduction to python Backend.pptx
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Introduction Database Management System for Course Database
Digital Strategies for Manufacturing Companies
2025 Textile ERP Trends: SAP, Odoo & Oracle
Computer Software and OS of computer science of grade 11.pptx
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Design an Analysis of Algorithms II-SECS-1021-03
Transform Your Business with a Software ERP System
Ad

Complexities of Practical Web Automation

  • 1. Yury Puzis, Yevgen Borodin, I.V. Ramakrishnan Complexities of Practical Web Automation Stony Brook University 2015 NSF Grant No. IIS-1218570
  • 2. Contents Goal: help design practical web automation tools by sharing observational experience ❖ Human-Computer Interaction Perspective ❖ Technical Perspective ❖ Example: Automation Assistant ❖ Conclusion
  • 3. Why Web Automation? ❖ Problem: non-visual browsing is hard ❖ It is hard (or impossible) to find relevant information and easy to become overwhelmed by what is irrelevant ❖ There are many shortcuts (gestures) to learn and hard (or impossible) to accomplish non-trivial tasks ❖ Web automation has the potential to enable visually impaired users to breeze through Web browsing tasks that beforehand were slow, hard, or even impossible to achieve
  • 4. Observation User Environment Web Automation Tool Browsing Actions Events User Environment Web Automation Tool Events Automation Instructions Automation
  • 5. Maximizing Trust ❖ Gaining and maintaining user trust is the cornerstone of web automation: even a few disasters is a big problem ❖ The user needs to know and influence what will happen (review, parameterize, choose) and what has happened (review, revert, recover) at all times ❖ Failure is inevitable and has to be graceful: terminate automation, ignore failed action, take corrective action, or suggest the user to take corrective action
  • 6. Minimizing End-To-End Cost ❖ Cognitive load and operation time must be end-to-end lower when using automation than otherwise ❖ Web automation costs: managing creation, execution and consequences of automation; context switching ❖ Screen-Reader and browser costs: many and are well known, including the need to plan complex sequences actions by memory or execute exhaustive search and guess, guess, guess ❖ In conflict with the need to maximize trust
  • 7. Dealing with Uncertainty Goal: automate user intent without resorting to handcrafting scripts (programming), interpret environment reaction Problem: we can only guess ❖ Semantics of user browsing actions ❖ Semantics of environment events ❖ Semantics of webpage elements
  • 8. Making Observations ❖ Goal: make meaningful observations from events ❖ Problem: browsing actions can trigger multiple (including cascading) events, and there are different types of events: e.g., shortcut press -> JavaScript call -> DOM mutation -> virtual cursor movement ❖ Problem: over time, an event may change its semantics (same event - different results) or implementation (different event - same results)
  • 9. Addressing Webpage Elements ❖ Goal: identify target webpage element ❖ Problem: most addressing approaches are designed to query DOM for elements at the specified address, but we need to query DOM for address of the specified element ❖ Solutions: sloppy programming, machine learning, etc. but no unbreakable approaches exist
  • 10. Detecting Action Completion ❖ Goal: wait for action to complete (succeed or fail) before continuing to interact with the user & the environment ❖ Problem: no standard way to specify action completion; cascading, asynchronous and scheduled JavaScript events make things harder ❖ Solutions: listen to all relevant JavaScript events through callback functions; timeout; wait for predefined DOM mutations / value changes (success or failure)
  • 11. Example: Automation Assistant ❖ Observes everything the user is doing (no macros) ❖ Guides the user through browsing tasks step-by-step ❖ suggests several alternative browsing actions based on user’s prior actions ❖ automates only one action at a time ❖ each set of suggestions is explicitly requested, each action is explicitly chosen, each outcome is reviewed ❖ No context switch between automation and screen-reading Puzis Y., Borodin Y., Puzis R., Ramakrishnan I. V., Predictive Web Automation Assistant for people with vision impairments. WWW '13.
  • 12. Conclusion ❖ There are some successes but automation is not there yet ❖ The biggest technical challenge is uncertainty which stems from lack standardization ❖ The biggest HCI challenges are building trust and keeping things “cheap” ❖ The HCI aspect of this talk is, to a large extent, applicable to all automation tools, not just web automation. It is also applicable to all users not just the visually impaired users (think handheld, wrist devices)