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.

Friday, December 21, 2007

Current Project: Knowledge Mapping, Ontologies and Visualization

With some downtime between academic semesters I'm working on a couple of cool things for CTLT. First off, we are in the process of identifying business cases for modeling SharePoint into a service more conducive for student, faculty and staff e-Portfolios. The work is a bit mundane, but getting an opportunity to identify the various pieces we need to make SharePoint work for us and thereby potentially influence the face of SharePoint as it enters into the academic world is pretty interesting.

The other project is one that I have initiated with some very enthusiastic encouragement from Jayme and Theron at CTLT. Though they have certain things they want that are a bit different than I want, it is glaringly obvious that there is so much overlap between our interests that we have to be working together.

Essentially, I'm building a prototype knowledge mapping application that can let users map the knowledge components of their SharePoint mySites. The prototype should also enable multiple users to collaboratively map their own shared knowledge in a real-time environment and save that map for further reflection, refinement and comment. Along with mapping knowledge pieces, users can add semantic relationships between knowledge that will result in a community built ontology.

Along with this basic application Jayme is very keen on being able to show how learning objectives and outcomes change over time, and it would be interesting to see if this can be automated using SharePoint's web-services to query document and list libraries and then output changes visually based upon some, yet to be determined criteria.

Though, we are still trying to define some of these things, I think by getting the basic mapping application functioning over the holidays we can come back next semester and begin defining more specifically what we want to do and then start extending and enriching the application.

Oh BTW, for the prototype I'm using PHP and SVG. Once I get it working to a level where it isn't to embarrassing to show my sloppy coding skills, I'll post a link for users to test it out and play around.

Sunday, December 16, 2007

Extending, Clarifying and Redirecting the Previous Post

After reading over my long, yet free thought exercise on expanding my research questions, I have had some time to think and reflect.

What do I think about this?
While I generated a lot of interesting ideas, but I think I really lost sight of the original research questions that drove me to investigate patterns.

Actually, much of my emphasis on patterns is based upon specific questions. Although these questions are not specifically centered upon particular environmental or sustainability issues, rather these questions are centered upon the use and application of patterns in relation to the work they are intended to support.

While patterns have become a central piece to a number of approaches to ecological design, the ways in which patterns are used seems ambiguous, similarly, how do outsiders who want to integrate pattern thinking into their work utilize past knowledge, or append their own insights into existing languages.

While environmental managers and eco-consultants make greater use of communication technologies to support their work, many of the systems that these people use seem inadequate. For instance, knowledge management systems that are geared towards the development of an evolving knowledge bank resemble nothing more than document repositories listing cases of past work (Take a look at CBNRM.net or FRAME). Now this isn’t necessarily the case among major business entities, but for the most part content even here retrieving knowledge seems difficult.

When reviewing these cases it seems difficult for outsiders to glean the central principles that make these projects successful. It would also seem difficult for even a long-time user to know where to look when attempting to integrate patterns that may have not been used by the designer, or when ongoing projects require a designer or community collaborates to identify alternative solutions to emergent forces.

For pattern users, the way they have sought to solve this problem has been to produce a number of pattern repositories that serve as a collection of acquired knowledge, either from other pattern repositories, research or personal design experience. Yet, even these systems feel lacking. For instance, take a look at the Liberating Voices project or Hillside.net, with hundreds of patterns it seems difficult to know where to start.

Furthermore, once patterns are identified and applied, how do we monitor their usage? If forces dictate that a pattern be adapted, then how do we capture that knowledge? Perhaps, these adaptations imply the need for other patterns to be added to a design language, yet how do we capture this process? This would seem important to any future work, as these are elements of a language that must be acknowledged.

Based upon this emphasis it would seem that my research questions might ought to reflect shortcomings in the usage of patterns, the systems we use to preserve, adapt and share patterns; as well as how communities and eco-managers collect and record patterns in order to generate their own pattern languages.

In a very generic way the list below represents a set of useful question to help orient this work, with patterns and pattern languages representing just one part of a series of possible solutions.

  1. How do we support the development and retention of environmental literacy among communities?

  2. How do we retain community knowledge that spans across multiple domains to include the environment, politics, culture, communications and economy?

  3. How do we communicate this community knowledge to resource managers and development practitioners in coherent ways?

  4. How do we adapt this knowledge over time, based upon feedback?

  5. How do we connect this knowledge in ways that make it useful for complex, holistic decision-making?


Now, as one could see these questions are very broad, yet by contextualizing the questions in relation to current efforts to employ KM and other ICT based tools in the work of ecological design and natural resource management, these questions do seem to take on a more specific character.

If we are taking a KM approach then new question emerge as additional considerations must be taken into account:

  1. How do patterns help in structuring KM solutions?

  2. How do we support the viewing and searching of knowledge that exists across multiple dimensions?

  3. Which approaches to pattern co-construction serve to build the greatest level of community centered environmental literacy?

  4. With an emphasis on patterns and KM, what role might community ontologies play in usability?

  5. What might be the best way to visually represent patterns as interconnected pieces of knowledge? Mind-maps? Concept Maps? Casual-loop diagrams (perhaps with explicit semantic relationships)?


These questions can go on and on. Yet, they all seem relevant to the work. However, along with the questions what are the assumptions underlying the orientation of these questions? Though a discerning reader might get this I need to make at least five of these clearly explicit for my own reference

  1. Why KM systems? To support the growth and development of civic and networked intelligence for collaborative problem solving.

  2. The task of supporting sustainability is a global issue requiring not only global action, but networks of individuals and community actors collaborating and working together.

  3. The internet provides an effective medium to supplement face-to-face interactions for planning, monitoring and knowledge transfer.

  4. Patterns coupled with the use of community ontologies within KM systems represents a possible approach to knowledge creation, knowledge transfer and knowledge retention.

  5. Patterns represent an effective design paradigm for community based ecological design and resource management.


Of course these are just some of the assumptions, but these correspond to the larger more general assumptions driving the research in the direction of KM, patterns and community collaboration for ecological design and natural resource management. Out of this understanding it is possible to assess these assumptions and ask the questions listed above within a more specific context as connected to a specific problem area among resource mangers and community actors.

For this I will refer back to one of the primary questions put forth in the previous post:

How do (can) we sustain and support communities dependent upon non-timber forest products in the wake of degraded forests caused by commercial logging, invasive plant diseases, loss of biodiversity, alternating weather patterns and the intensified harvesting of non-timber products due to growing demand for such resources?

While the question addresses an environmental issue the implications touch upon both human and environmental systems. It spans a number of problem domains, such as economic livelihoods, potential political forces, cultural connections to land, the communication, planning and maintenance of natural resource based economies under threat from a multitude of human and environmental forces.

Saturday, December 15, 2007

Expanding horizons and forumulating new questions

While I have been heavily involved in the usage of patterns and pattern languages I have attempted a different approach to the formulation of my research goals by emphasizing specific questions, rather than specific theories. While I'm interested to see how patterns and pattern principles could be applied in more unique and useful ways, I think it is first appropriate to ask some specific question before making the theoretical leap, as it is possible that other alternatives might be better suited to answer my basic questions.

The questions address topics from issues of how to support more effective sustainable development practices, to how knowledge management systems could be structured for more effective use among forest managers and community development practitioners.

One question that emerged out of my masters thesis, and has driven much of my subsequent interest derives from the usage from process documentation as an approach to support adaptive planning in development projects. The idea of process documentation emphasizes the need for adaptive planning that utilizes these process-oriented products as tools to provide feedback on development decision-making. Among the central problems identified was the ability to capture knowledge and provide timely feedback on this knowledge and thereby apply adaptations to this knowledge in the field. From this basic idea came the thought of using knowledge management systems to support community decision making as these systems could provide a way for groups to capture and retain past design decision and ultimately enable them to refer back to these decisions on a reoccurring basis to assess and evaluate actual outcomes.

Patterns seem a useful model for these systems as they represent structured knowledge that could be linked to specific case studies or documents describing the usage of patterns for particular decisions. Likewise the adaptive approach could support pattern refinement as feedback generated in the field could further inform our application of patterns and thereby uncover forces at work thereby requiring the utilization of new or alternative patterns.

While this wasn’t a question per se but a hypothetical solution to a stated problem in the literature on process-oriented development, the idea of finding a specific problem to solve is the theme that should be directing the work, rather than theory itself (at least for now).

Other questions have centered upon whether systems modeling could be an effective learning and assessment tool for permaculture designs or for pattern based ecological designs. This is based on te question whether certain patterns utilized in permaculture design are actually the most effective in promoting sustainability. System Dynamics modeling provides yet another mechanism for uncovering possible unforeseen forces at work within environmental systems and could therefore be useful in supporting more effective permaculture projects or projects utilizing principles derived from permaculture practices.

The point of all these questions is to move away from solving problems with pattern methodology per se and to begin addressing specific problems faced by communities and natural resource managers working in the field.

For instance, How do (can) we sustain and support communities dependent upon non-timber forest products in the wake of degraded forests caused by commercial logging, invasive plant diseases, loss of biodiversity, alternating weather patterns and the intensified harvesting of non-timber products due to growing demand for such resources?

Some answers to this question have been pursued using a variety of mechanisms and ecological design practices such as principles from permaculture design, practices of collaborative community forestry, intensive environmental literacy programs and so on

Yet, do these approaches recognize the political and cultural dimensions often at odds with one another? And do these approaches need to be mutually exclusive paradigms?

From my interpretation patterns and pattern languages represents an approach to incorporating these elements by capturing the knowledge successes possessed by all of these paradigms. In a sense, patterns can help inform us as to the types approaches most suitable for particular contexts.

Other elements come into play here as well, such as the notion of soft-systems modeling and the application of pattern knowledge for social and ecological problem solving. Overall, the point of this post is to capture some of the very intense thinking that has been going on throughout the past few weeks.

Interestingly, this is only a fraction and I will be posting various musings, assumptions and hypothetical solutions that could perhaps serve as useful research projects, academic articles and so forth.

Tuesday, December 11, 2007

Semester has come to an end...

Well, I have been overwhelmed these past couple of weeks with presentations, essays and preparing data sets. Over the next few days I will try and get back on track. Despite the intense schedule I have had some time to continue my journal, so a lot of the coming posts will be an attempt to capture my thinking in a digital medium.

Saturday, December 1, 2007

Question: Why not define and embed an Ontology within your Content?

As some of you might have noticed, I haven't made a post in a few days. This has been for a couple of reasons: 1.) the holidays, 2.) the end of the semester, and 3.) I have been focusing on research questions.

On the topic of research I have migrated back to the idea of creating NRM centered patterns and pattern languages versus creating a pattern language for NRM based systems design. The reason for this move back is due to the inescapable perception that patterns provide a fundamental model for structuring knowledge. I have thought this to be so for several years now, and as I have delved deeper into the literature of Knowledge Management Systems in the Natural Resource Sciences, I have found myself thinking of patterns as increasingly relevant components for developing community based KM systems.

However, the issues identified in my master's thesis still exist. This issues are: 1.) how do we visually express not only an individual pattern, but more specifically, how do we express a network of patterns?, and 2.) how do groups search and access interrelated knowledge within a system of patterns?

While the first question seems to interest my colleagues the most, it seems to me that the issue of traversing a pattern knowledge-base should be the first issue to solve, with the visual display coming in after the underlying mechanisms for calling relevant patterns have been addressed. This I think is especially relevant when considering the growing scope of pattern languages and the vast number of patterns that have been authored over the years.

This assumption and observation has led me to consider approaches to solving this issue. As a result, I have been doing an extensive investigation into the role of ontologies and taxonomies for describing relationships between patterns. This brought me to a paper written by Scott Henninger from the University of Nebraska who has describe similar thinking. The paper entitled, "Disseminating Usability Design Knowledge through Ontology-Based Pattern Languages" argues for need to develop ontologies for patterns so that groups might be better able to search and draw upon previously codified knowledge. His approach was to use OWL (Web Ontology Language) as specified by W3C.

This discussion on OWL sparked an intensive search into OWL and related technologies. However, the complexity of the technology and how it is applied has made it very difficult for me to get my head around. I understand the notion of a Semantic Web and I think the vision of such a web is extremely interesting.

However, I have been looking at the Pattern Language Markup Language (PLML) as suggested by Yishay and I just started to wonder, "Why not embed these ontological rules between patterns/problem/solution/forces directly within the PLML marked-up patterns. Meaning, why not just extend the DTD for PLML to include ? In this way the PLML document could be processed with any programming language that has support for XML.

Now, I understand that this might negate the idea of a global Semantic Web based upon the standards set forth by the W3C. But it just seems to me that this approach is so much simpler (except for the fact that pOWL and Protege-OWL attempt to make ontology creation easier).

I don't know, but RDF and OWL confuse me.

Someone, please explain why I couldn't or wouldn't want to embed simple ontological statements in my XML doc? pOWL seems interesting, but why?