The GAMGI philosophy is borrowed from Unix (each module should do one thing only and do it well; these modules should interact easily, so their combination can provide a enormous range of functionality) and Perl (a program should be designed to make the easy jobs easy, without making the hard jobs impossible). Implementing these concepts is, of course, much harder than to enunciate them, but a lot of thinking has been invested trying to find the best solutions, and we believe that with time we will be converging to them.

We aim to make the GAMGI interface as powerful and simple as possible. The expert should not be slowed down by mechanisms and tools which are useful only for the newbie. The novice should not be forced to learn complex concepts and techniques to accomplish even the simpler tasks.

The GAMGI window interface is divided in 5 distinct sections, from top to bottom: Menus, Drawing, Tools, Commands and Status.