The talk covers an evolution of widget toolkits, which have been started 40 years ago along with the historical changes in a desktop GUI. Widget toolkits are reviewed from three points of view: architecture, user experience, and programming principles. More than 90% of historically significant widget toolkits have open source licenses: some are opensourced after decrease of their commercial demand (like OpenLook and Motif), others are developed as a part of FLOSS world (TCL/TK, GTK+, QT) or in systems cloned by the open source community (GnuSTEP, Haiku OS, etc.).
Reviewed toolkits of 1980s include early Unix GUI of Andrew Toolkit and Project Athena, followed by OpenLook and Motif, and main non-Unix toolkits: WinAPI and NextSTEP GUI. Significant toolkits of 1990s include TCL/TK, wide range of wrapper toolkits including MFC and Java AWT and Swing, and the appearance of two main Linux widget libraries, GTK+ and QT. Also the burst of visual theming occurred in the second half of 1990s is examined for Unix and Windows platforms (as in their artistic styles, so in used architectural approaches). The list of milestones is finished with the Apple Cocoa style, closing the XX century experiments (but theming efforts had 10 more years of boiling). From the architecture point of view, the talk covers the recurring efforts in the event processing techniques, targeting at hiding callbacks from a GUI developer with available object-style metaphors.