This document provides 21 guidelines for developing graphical user interface (GUI) applications. Some key points: - A GUI uses windows, icons, menus manipulated by a mouse and keyboard to provide an easy human-computer interface compared to only text-based commands. - GUI programming uses predefined, generic components and a simplified approach to incorporate functionality based on application needs. - Guidelines include understanding user needs, defining all possible inputs, using appropriate input components like radio buttons and lists to minimize ambiguity, ensuring clarity of expressions, using comments, and making applications reliable, portable and consistent across platforms.