ISPF primarily provides an IBM 3270 terminal interface with a set of panels. Each panel may include menus and dialogs to run tools on the underlying Time Sharing Option (TSO). Generally, these panels just provide a convenient interface to do tasks -- most of them execute modules of IBM mainframe utility programs to do the actual work. ISPF is frequently used to manipulate z/OS data sets via its Product Development Facility (ISPF/PDF).
ISPF is user-extensible and it is often used as an application program interface. Many vendors have created products for MVS that use the ISPF interface.
An early version was called merely SPF and introduced in MVS system. Originally this stood for Structured Programming Facility, since it was introduced about the same time as structured programming concepts, but later the name was changed to System Productivity Facility.
When a user signs on to TSO they can start up ISPF/PDF. Through a menuing system this provides them access to many useful tools for application development and for administering the z/OS operating system.
Such tools include
Underlying ISPF/PDF is an extensive set of tools that allow application developers to create panel-driven applications. A "panel" is a character-based full-screen "window". See Text User Interfaces. This is widely used by mainframe software vendors to create applications, resulting in many mainframe tools that are similar in appearance & function to ISPF. Similarly, many installations write their own informal tools that use ISPF services.
ISPF is designed to be customised for each user (a fairly new concept in 1974, when it was introduced).
It supports a set of PF (Program Function) keys across the top of the keyboard which, when pressed, execute commands. These are customisable: Each user can replace the default commands assigned to any key with his own preferred command (or series of commands). User settings are stored centrally, so that the user can logon from any terminal and the session will use their previously-saved choices. Most Personal computers copied this, and have a set of 12 function keys along the top of the keyboard. Even some defaults have endured: On a large number of mainframe & PC programs, the F1 key triggers a "help" function.
ISPF remembers each user's choices for such things as screen colors & layout, the location of the command line and scrolling preferences. It also remembers the last-used data set names on each panel, so the next time the panel is used the names are already filled in. This is very convenient for mainframe programmers because they frequently work with the same files repeatedly.