Graphical User Interfaces

GUIs are underestimated. They are perhaps the most complex part of modern software. I believe that this is fundamentally because this is the estuary between the virtual world and the real world.

In many ways, a GUI is a 'concrete' visual representation of abstract information. Various idioms have developed and been refined over the years to create a sort of language that finds its roots in human psychology, perhaps more so than any spoken language.