title: Simple task-actor protocol
text: # Simple task-actor protocol
  
  Simple Task-Actor Protocol (STAP) is a machine-readable format for specifying user-interface changes. STAP enables symmetric user-interface access for AI and human users.
  
  ## Description
  
  Main focus of STAP is in providing a functionally-equivalent task experience for human and computational users alike. In its focus to make human software usable by machine agents, STAP aims to eliminate non-task-essential design choices (e.g. font type/size may be irrelevant for many task types), leaving those to be optionally specified via customizable templates (e.g. CSS). STAP messages adhere to JSON formatting, and can be deserialized with any standard JSON library.
  
  ## Deployment
  
  Deploying a STAP application is similar to deploying a web application, where STAP takes place of HTML as the language for UI description. Much like HTML, STAP is a means for serializing task interface display and interactions. Unlike HTML documents, STAP messages are incremental updates to the display. Whereas HTML is focused on hypertext look and feel, STAP is focused on function, structure, and affordances of task display.
  
  ## Benefits
  
  Benefits of task development with STAP:
  
  * less code, more GUI
  * cross-platform, web-friendly
  * precision timing
  * consistent cross-task API, allowing computational agents to interact with the same sw that that human users interact with
  
  Benefits of agent development for STAP-compliant tasks:
  
  * consistent cross-task API, allowing computational agents to interact with the same sw that that human users interact with
  * precise user-time [with faster-than-real-time and slower-than-real-time capabilities]
  * cross-platform, web-friendly
  * scalable (i.e., core API is minimal, additional UI feature handlers can be added to agent framework on a per-task basis)
  