1. Разработчик написал программу.
2. Написал к ней ман.
3. Хорошо структурированный ман, как у mplayer, например.
4. Хитрым скриптом парсит этот ман и делает из него гуй: заголовки первого уровня будут окнами, второго - вкладками, третьго - чекбоксами или радиобуттонами (в зависимости от синтаксиса). Или еще как-нибудь, ему виднее.
5. Получилась хоть и примитивная, но актуальная версия гуя для программы, которая легко обновляется вместе с программой.
6. Бедному студенту не нужно мучить гамбас, чтобы написать всеобъемлющий гуй к мплееру.