Mon 22 Feb 2010
Domain Languages
Posted by schenkin under HCI, Software
No Comments
Today I read a very long — and unnecessarily academically dense — literature review on Pattern Languages in HCI. HCI stands for Human Computer Interaction, and PatternLanguages are sets of linked design patterns (kind of a blueprint for good design). While pattern languages themselves aren’t likely to be very useful for me in my work, the paper did get me thinking about what “language” means within a particular domain.
Princeton WordNet defines language as “a systematic means of communicating by the use of sounds or conventional symbols.” However, this is true only in the most limited sense. A language not only describes meaning, it creates meaning. We cannot truly conceive of ideas outside of language. Language gives us the tools to create new ideas.
The pattern languages mentioned in the paper do something similar. The article uses the word “generative.” That is, pattern languages generate systems by providing a framework on which to design. Designers start at a high level pattern and can follow the web of linked patterns to inform their systems.
So, where does that leave everyone who isn’t an HCI professional?
Only by creating and using a language within a particular domain can we begin to make that domain “real.” Without a framework (language) for thinking, creating, and describing professionals are bumbling around in the dark. Using simple, linguistic, language to describe domain-specific knowledge is certainly important, a first step. Creating specialized words to fill in the gaps can stretch the tool a long way.
However, words aren’t particularly great for more complex, specialized contexts. It’s not like this is a new realization. There are dozens of specialized languages that have arisen from this gap — the most common being any of a dozen diagrammatic languages (UML, IDFX, etc). But its important for us to continue to find new languages to discuss and build on our knowledge.
