當你撰寫提供圖形使用者介面的程式時,請使其能與 X 視窗系統協同運作,使用 GTK+ 工具組或 GNUstep 工具組,除非該功能明確需要其他替代方案(例如,「在主控台模式下顯示 JPEG 影像」)。
此外,請提供命令列介面來控制功能。(在許多情況下,圖形使用者介面可以是一個獨立的程式,其調用命令列程式。)這樣才能從腳本完成相同的工作。
也請考慮提供 D-Bus 介面,以便從其他執行中的程式使用,例如在 GNOME 內。(GNOME 過去曾使用 CORBA 來做到這一點,但現在正逐步淘汰。)此外,考慮提供函式庫介面(供 C 語言使用),以及可能提供鍵盤驅動的主控台介面(供使用者從主控台模式使用)。一旦你著手提供功能和圖形介面,這些就不會是額外太多的工作。
請使你的程式能與輔助技術(如螢幕閱讀器)互通操作(請參閱 https://gnu.dev.org.tw/accessibility/accessibility.html)。如果你使用 GTK+,這應該是自動的。