Unter Drag & Drop (ziehen und ablegen) versteht man das Ziehen eines Objektes auf ein anderes Programm. Am bekanntesten ist dieses Prinzip vom Desktop: hier kann zum Beispiel eine Grafik auf das Programmsymbol von PixArt gezogen werden. Nach dem Start öffnet PixArt dann die Grafik.
Intern anders geregelt ist D&D, wenn die Anwendung bereits läuft und eine Datei auf ein offenes Fenster dieser Anwendung gezogen wird. In diesem Fall muß die Anwendung das Drag & Drop-Verfahren explizit unterstützen. Wie weit diese Unterstützung geht, bleibt der Anwendung überlassen. So werten manche Programme Drag & Drop-Operationen auf Eingabefelder aus. Eine Einschränkung ergibt sich dadurch, das eine Anwendung nicht jeden Dateityp unterstützt. In den meisten Fällen wird keine Fehlermeldung ausgegeben.
Neben dem Desktop können auch Anwendungsprogramme untereinander per Drag & Drop Verbindung aufnehmen. CAB kann Internet-Adressen an andere Anwendungen übergeben und das bisher nur leidlich unterstützte Colors sogar Farben.
Bei einigen Programmen findet sich auch internes Drag & Drop. Der Resource-Editor Interface hat ein Werkzeug-Fenster, von dem aus Objekte auf die Arbeitsfläche gezogen werden können.
Event heißt übersetzt "Ereignis". Für Programme gibt es viele Ereignisse, auf die es reagieren kann: Klick, Tastendruck, Zeit, eingehende Nachrichten und einiges mehr. Ein Event-Handler ist dabei die Funktion im Programm, die eine Auswertung der gemeldeten Events vornimmt.
Im Atari-Betriebssystem ist ein digitales Rohrpostsystem angelegt, das sich Message-Pipeline nennt. Über die Pipeline kommunizieren Applikationen untereinander und mit dem Betriebssystem. Eine Nachricht umfaßt dabei sieben Zeilen. Als erstes wird die Art der Nachricht verschickt, der einer Anwendung hilft, diese zu identifizieren. Es sind im Laufe der siebzehn Jahre viele Nachrichtenarten entstanden, die wichtigsten werden vom Betriebssystem selber verschickt. Die zweite Zeile teilt der Anwendung mit, von wem die Nachricht stammt. Damit ist eine eventuelle Rückantwort möglich. Die nächsten fünf Zeilen sind frei nutzbar und je nach Nachrichtentyp frei belegt.
Über die Pipeline können nur kurze Nachrichten übermittelt werden. Um größere Nachrichten, etwa Texte, zu übermitteln, reserviert ein Programm einen Bereich im Speicher, legt dort den Text ab und schickt dann der Zielanwendung die Adresse im Speicher.
Auf die Message-Pipeline setzen eine ganze Reihe von Anwendungen und Hilfsprogrammen auf: OLGA, BubbleGEM, Drag & Drop und einige mehr.
Es gibt eine wachsende Anzahl an Programmen, die sich über die Pipeline fernsteuern lassen. Als einer der Pioniere auf diesem Gebiet gilt Tom Hudson mit seinem Grafikprogramm Degas Elite.
GEMScript ist kein eigenes Protokoll, sondern "nur" eine Standardisierung, wie Nachrichten an andere Anwendungen aussehen sollten. Grund für die Entwicklung war der Wildwuchs an Nachrichten in Atari-Programmen. So wurden von Anwendungen wie CAB eigene Protokolle eingeführt, um u.a. eine Internet-Adresse zu öffnen. GS schreibt nicht nur vor, wie eine Nachricht auszusehen hat, sondern schlägt auch eine Reihe von Standardkommandos wie Open, Print, Exit und Shutdown vor. Diese Standardkommandos sollen nach Möglichkeit von allen Programmen unterstützt werden, was die Kommunikation von Programmen untereinander erleichtert.
Da ein bestimmter Befehlsumfang vorhanden ist, wird auch das Erstellen von Scripten erleichtert. Programme wie der ASH-Scripter oder SimpleScript automatisieren Arbeitsabläufe, indem sie eine Reihe von GS-Kommandos ausführen.
Die Unterstützung von GEMScript variiert sehr stark. Es gibt Programme, die dreißig Kommandos anbieten, während sich andere mit drei begnügen.