Saturday, December 22, 2007

Visual Pattern Mapping

So this prototype project is turning out to be a very fun exercise. The basic structure is to use a relation db such as MySQL to store the coordinates of the SVG based visual map. The actual patterns that these images represent are to be stored as XML files following the PLML DTD (a suggestion I got from Yishay).

I haven't decided if I'm going to use a native XML database such as eXist, but for the time being I think I'm going to stick with a basic file-based storage system and use MySQL to deal with the visual mapping application. Note: I hear PostgreSQL would be better for this type of application.

Each primary component of a pattern and the language itself will comprise both a basic image associated with the pattern, forces and problem statement. Following Joanne Tippet's work with DesignWays, I think starting off with either a design goal or collaboratively defined problem statement that allows users to construct a pattern language will be an important piece of software. Hopefully, her work as well as the work taking place with the Public Sphere Project can benefit.

Now, this is not new idea per se, though I have been interested by the implications of such a project, but a similar project promoted and tested at the London Knowledge Lab has sought to promote a similar paradigm. However, I want this project to be the first step that will eventually support the use of past patterns. The system will query a pattern database based upon a search criteria. By using PLML, patterns will link each other together and in a sense help auto populate a basic starting pattern language to address a particular community problem.

Now, with the basic pattern mapping application already complete users could then amend and extend this generated pattern language and replace it with a more community generated one.

This is important I think, as the shear number of patterns that have emerged over the past few years has severely hampered the ability of pattern users to reuse components of knowledge. If we could search and provide semantic relationships between community developed knowledge it is hoped that we could be more able to use that knowledge in future projects.

No comments: