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 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, 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?

Monday, November 26, 2007

Another Interesting Conference - EuroPLoP 2008

Taken from their website:
EuroPLoP™ is the premier European conference on patterns. The conference offers a variety of tracks and workshops that allow you to learn about patterns, to receive feedback on your own work, and to discuss with fellow enthusiasts. It is a unique venue to exchange knowledge about best practices and learn from other experts in various fields.

Check out the website: EuroPLoP 2008.

DIAC - 2008 (Call for Participation)

Twenty-one years since the first DIAC Symposium!

Tools for Participation:
Collaboration, Deliberation, and Decision Support

Directions and Implications of Advanced Computing Symposium Conference on Online Deliberation (DIAC-2008/OD2008)

Sponsored by Computer Professionals for Social Responsibility and UC Berkeley School of Information

University of California, Berkeley June 26 - 29, 2008

At the dawn of the 21st century humankind faces challenges of profound proportions. The ability of people around the world to discuss, work, make decisions, and take action collaboratively is one of the most important capabilities for addressing these challenges.

Researchers, scholars, activists, advocates, artists, educators, technologists, designers, students, policy-makers, entrepreneurs, journalists and citizens are rising to these challenges in many ways, including, devising new communication technologies that build on the opportunities afforded by the Internet and other new (as well as old) media. The interactions between technological and social systems are of special and central importance in this area.

DIAC-08 combines CPSR's 11th DIAC symposium with the third Conference on Online Deliberation. The joint conference is intended to provide a platform and a forum for highlighting socio-technological opportunities, challenges, and pitfalls in the area of community and civic action. Technology enhanced community action ranges from informal communities of practice to democratic governance of formal organizations to large social movements.

We are especially interested in technology development that is already being tested or fielded. We are also interested in theoretical and other intellectual work that helps build understanding and support for future efforts. In addition to exploring social technology, we must at the same time understand and advance the social context
of technology, including its design, access, use, policy and evaluation, as well as intellectual frameworks and perspectives that inform technological as well as social innovation including requirements, case studies, critique and self-reflection, and infrastructures for future work.

Our areas of focus include but are not limited to: deliberative and collaborative systems, e-democracy and e-participation, mobilization and organization, negotiation, consultation, sustainability, community support systems, open source models, human rights, ecological awareness, conflict resolution, justice, transparency systems, media and civic journalism, media literacy, power research, citizen science, economic development and opportunity, peace and reconciliation, infrastructure development, policy, education, community networks, research and development for civil society, social software, virtual communities and civic intelligence.

We are currently interested in the following types of submissions: research paper and exploratory paper presentations (both of which will be peer reviewed), technology demonstrations, workshops and poster sessions. We are currently seeking co-sponsors who can help provide various types of assistance. We are also seeking donations and other support (including volunteer labor) to help make this event successful.

The DIAC symposia have resulted in six book publications (in addition to the proceedings). Although we don't have specific plans at this time, we are hoping to publish our seventh book based on this event.

Guidelines for papers and other submissions

All submissions must be made via the conference submission system on the DIAC-08 web site. Submissions should be written in English and foreign speakers are encouraged to have their submissions reviewed for language prior to submission. Submissions should be formatted for "US Letter" size using 11 point Times-Roman font. Research papers should be a maximum of 10 pages. Accepted research papers should be revised according to reviewer comments and resubmitted by the deadline. Workshop proposals (two pages) should include motivation, objectives, expected outcomes, intended audience, process (including specific description of how people will be engaged during the workshop). Taking a cue from PDC 2008, we are also interested in exploratory papers (4 pages), that reflect novel concepts, works-in-progress, reflections, manifestos or other ideas and issues that aren't currently suitable for a research paper.

Important Dates

  • December 1, 2007 Submission system available

  • December 15, 2007 Early registration begins

  • February 15, 2008 Research paper submissions due

  • March 15, 2008 Demonstration, workshop proposals due

  • April 1, 2008 Notices of research paper acceptances

  • April 15, 2008 Poster proposals due

  • May 1, 2008 Late registration begins

  • May 15, 2008 Completed research papers due

  • June 26-June 29, 2008 DIAC-2008/OD2008

Computer Professionals for Social Responsibility

CPSR is a public-interest alliance of people concerned about the impact of information and communications technology on society. By sponsoring international, national, and local projects and events, CPSR serves as a catalyst for in-depth discussion and effective action in key areas.

UC Berkeley School of Information

Providing the world with innovative information solutions and leadership, the UC Berkeley School of Information conducts research, provides policy counsel, and trains information professionals in five areas of concentration including information design and architecture, information assurance, social studies of information, human-computer interaction, and information economics and policy.

Conference Chair:
Douglas Schuler

Program Chairs:
Todd Davies, Jerome Feldman, and Douglas Schuler

Related Conferences

We also recommend the Participatory Design Conference which will be held in Bloomington, Indiana, USA. September 30, 2008 - October 4, 2008. See PDC-2008. The theme of this 10th PDC is "Experiences and Challenges" and it is an excellent opportunity to reassess the achievements of the PD movement and to consider its future.

Tuesday, November 20, 2007

Economic Patterns: Constructing a Pattern Language for NRM

So I had written a previous post about my desire not to use Drupal and more specifically PHP for my research project. However, I have done some further in-depth analysis of the requirements for the proposed project and I think that considering the needs for a full featured system along with the ability to extend the system to meet some very specific needs, Drupal presents the best option. Like I said previously, it is cheap to host, the coding quality is much better than comparable PHP based systems and I actually do like the templating system they have developed.

Plus, I think Django will just be too much work to build and get up to speed for this project, and Plone is too expensive to host for the groups I’m working with.

I mean, it is a no-brainer. I don’t despise PHP as a language. It’s more that I prefer Python. In that sense I’m not a complete Python Nazi as some out there are.

In all honesty, PHP 5 is actually a pretty good language, it is easy and when compared to Python, PHP is definitely a much better language for the web, so why not use it? Plus, PHP and Flex work well together which provides greater opportunities for integration with the types of systems I’m focused on developing.

In continuing the search for relevant patterns for NRM this next section deals with issue of economics. This is undoubtedly an important element to supporting an effective and livable community. The pattern list drawn from the Liberating Voices! pattern repository follows as:

Again, these patterns were difficult to weed through. However, each of these patterns represent important elements to community empowerment and perhaps more importantly to the research of interest. Each of these are worth consideration. Yet, I would say that it is still important for us to begin thinking about meta-data or semantic annotations for accessing more patterns as contextually related to the work of Community-Based NRM.

Transition back to Drupal

So I had written a previous post about my desire not to use Drupal and more specifically PHP for my research project. However, I have done some further in-depth analysis of the requirements for the proposed project and I think that considering the needs for a full featured system along with the ability to extend the system to meet some very specific needs, Drupal presents the best option. Like I said previously, it is cheap to host, the coding quality is much better than comparable PHP based systems and I actually do like the templating system they have developed.

Plus, I think Django will just be too much work to build and get up to speed for this project, and Plone is too expensive to host for the groups I’m working with.

I mean, it is a no-brainer. I don’t despise PHP as a language. It’s more that I prefer Python. In that sense I’m not a complete Python Nazi as some out there are.

In all honesty, PHP 5 is actually a pretty good language, it is easy and when compared to Python, PHP is definitely a much better language for the web, so why not use it? Plus, PHP and Flex work well together which provides greater opportunities for integration with the types of systems I’m focused on developing.

Monday, November 12, 2007

Building an Integrated Approach to NRM with Patterns as Heuristics

Revisiting the post: Constructing a Pattern Language for Community Centered Information Systems

I decided that despite my focus upon NRM, presenting a holistic vision for community empowerment as defined within the New Community Networks would be an appropriate point of departure. For instance, without an effective infrastructure for community education, community based NRM can be severely hindered. Therefore, understanding some of the opportunities provided by the L.V. patterns could help point to useful elements to ensuring an integrated solution.

After traversing the pattern list at the new Public Sphere Project website, I was able to identify a set of potentially relevant patterns to the work of encouraging community building education.

Education Patterns–

So we have this list of patterns identified as being associated with education. However, it becomes obvious that without a clear problem description or relevant context for application, many of these components might not make sense or have direct application to the types of issues communities are being faced with.

Similarly, beyond the issue of understanding context is the need to be able to refine the types of patterns that we draw upon. In collecting the patterns for this particular post I had to traverse through 160 patterns just to develop this list. It is clear that this list might be too large for specific community development projects.

Again, the question arises, “How do we make sense of such a dense collection of interrelated knowledge?” Of course this question also generates alternative questions, such as “What ways might we mitigate the complexity of a pattern language,” or “How might we customize the scope of a pattern search in order to ensure that only the patterns relevant to a community problem show up?”

To me this is the core of my research, though NRM is the identified field of study, I have already entered this field with a set of assumptions about the usage of patterns and pattern languages. Fortunately, these assumptions are not all that unverified as others such as Tippet (2004), Cowanand in many ways the work of Alexander himself provides a blueprint for community development and effective interaction with the constructed and natural environment.

However, methodologies for engaging in the construction of pattern languages are mixed, complex and in many ways problematic. Likewise, in using patterns, it seems that practitioners must develop a sort of cognitive linguistic extension of their normal lexicon to include that of patterns. However, this too can be difficult since the domains of patterns span various disciplines from Architecture, to NRM and Landscape Ecology, to Software Engineering and Cybernetic Systems to Social-centric Information and Communication. Often each of these domains contain hundreds of patterns that can make it extremely difficult to find the directly relevant ones.

While I will continue to post the patterns I think are relevant to my work under the framework proposed in Schuler’s New Community Networks, I think it must be understood that this list is in a sense general, and abbreviated in a very unscientific, and most likely biased way.

To get around this issue, I am continuing my work with building a search component around the L.V. system along with a visualization piece that can hopefully be applied to any of these pattern languages. Overall, I think the paradigm is an extremely useful construct that can be applied in a host of soft-system environments. That is of course, if and when we as scholars, practitioners and researches begin to take these shortcomings more seriously and make tools available for groups to more freely utilize these patterns and thereby construct their own context specific languages for solving community problems.

Thursday, November 8, 2007

Tech Stack for CI (Revised)

In doing further research on available technology options for the visual learning in time and space application at CTLT, I have been considering a move away from Python and Django. Though I love the ease of working with these tools, I'm very interested in using flex to provide the UI and display of learning data.

So it seems that Flex provides an open SDK for PHP developers and not Python. Though a django developer has submitted a bridge for working with Flex, it still seems immature and I need to learn this fast rather than fighting with a system still in development.

With that said, I'm thinking PHP5 + Propel ORM + Flex, and since I will be using PHP I can't help but write a bridge to Drupal. Of course the application will need to integrate nicely with SharePoint as this is going to be the primary test case for using this custom app. However, I'm not using .NET and I'm not willing to write a custom web-part for this as the application must be available to CMS apps outside of the SharePoint MS paradigm.

So it will live as a standalone application in which others can build modules to extend and integrate into their own learning platforms. Plus, this way the application can be utilized for linking into the L.V. Patterns.

Generating Tag Fields for Individual Patterns: Networking our Patterns

After my evening walk of contemplation I began considering more deeply the idea of tags and providing more powerful ways to express interconnected meta-data as related to the Liberating Voices patterns.

Currently, the L.V. system uses a sort of quasi-tagging approach that defines categories and topics. For the most part these “tags” serve their proposed purpose. However, from my perspective it seems that the lack of dynamic capabilities minimizes the potential for filtering and organizing patterns. Instead, perhaps we should be thinking about ways to enable dynamic tagging where users can generate a folksonomy surrounding patterns.

This doesn’t mean we should get rid of what is already there, but rather we should extend the functionality of the system. It seems that the current terms being used are very high-level and generic. By keeping these more generic terms we can perhaps help frame the types of more user specific tags.

However, rather than merely providing a pathway to develop a folksonomy for the patterns, we must remember patterns exist in an often different way than a lot of content. For instance, patterns are keys or building blocks that exist with a multi-dimensional structure. In this way patterns possess relationships along a vertical as well as horizontal axis.

With this in mind perhaps we would instead want to start defining the levels of abstraction that patterns have by numerically describing the various levels. In this way a cluster of patterns would exist at a certain level. Now, L.V. has already categorized or clustered patterns but I do not think this is an explicit field in the database model. I think we need to add it!

To make this usable from a users standpoint, maybe a radio button describing the levels/categories and then some ajax call to the database would pull up all the tags related to a certain level, perhaps you could then define your own tag for the level within the hierarchy. Maybe we want to be able to annotate our tags and discuss the reasoning behind the categorization of the data in such a way. This annotation could in a sense point to related cases where the pattern was used and likewise show the relevance of the tag.

Why is this important to me? Well, because I am in the process of developing a listing of patterns related to my work, but that correlate directly to a previous post. I'm right now looking at education patterns as related to increasing information literacy and knowledge for natural resource management. An alternative and more tag friendly environment as well as way to search and filter through these tags would be great.

Fortunately, we have something like this in its infancy, but I think it will become a priority of mine in the near future as I attempt to build systems and processes to construct pattern languages based upon the L.V. repository.

Wow, I’m not sure if that made any sense, so I think it is worth a use case/interaction diagram at least.

Monday, November 5, 2007

Talk about outrage!

Read this: Asbestos is Not Banned in North America.

Using SharePoint Web Services

In furthering the conceptualization of this Visual Learning application, I was first struck by the possible approaches to querying the needed data. While I am predominately visual and think in terms of how things might look when complete, I recognize that getting data out of SharePoint might be a bit more difficult task than in some other cases.

However, there is much discussion on the use of SharePoint's web services. Some focus specifically on aggregating content from other places to create mash-ups, while others do note the possible importance of getting data out of SharePoint.

So over the next couple of days I'm going to be looking into the process of accessing the SharePoint web services feature and see how well it works. To do this I think I'm going to attempt a script using the python and ZSI library, or PHP and the nuSOAP model.

Either way, it is my hope that the technology will stand alone, outside of SharePoint and yet still be able to work well with the various MySites WSU has. If it works with the MySites then I don't see why it wouldn't work with plone or drupal. One thing that might be an issue is the need to allow for an XML-RPC approach as both Plone and Drupal utilize rpc.

However, more in connection with patterns is the need of this application to be able query the Liberating Voices! patterns. If I can get the query and parsing bit of the application then Yishay maybe able to extend his Mind mapping application to enable through the web mapping. Both pieces together could prove to be a very cool and very powerful solution for visual knowledge representation.

CTLT: Visual Representation of e-Learning

Following a meeting last week it became obviously clear that a few of us at CTLT are very interested in supporting an application that allows users to visually represent learning and information in a more interesting, and perhaps useful way. This is as opposed to the generic lists and document libraries currently available in SharePoint.

The idea behind the application is the construction of multi-faceted views that could produce visually connected components of information associated with a students learning process and outcomes. For instance, we might want to showcase the transition in associated assumptions over a period of time as linked to a primary goal or concern represented by the student at the outset of their recorded learning process. The point behind this part of the application would therefore be driven to represent this data in a time-line format, perhaps centering around the core value of the student.

Another possible outcome of the application would be to produce a cognitive map representing the various pieces of interconnected data relevant to the student’s project. This could be accomplished through identifying the connections between user-defined tags and the associations these tags imply to student information. Again, the output could be a visual concept or mind-map as defined by the student. If using a concept map, perhaps the student would need to be able to amend the visual map in order to add explicit semantic relationships between the various components.

Overall, the project is very intriguing as it has the potential for usage outside of the SharePoint application framework. However, more directly it is something that could represent a very novel approach to representing the types of trans-disciplinary and longitudinal learning that CTLT is trying to capture and promote. It also has direct relevance to some of my work with patterns as the application could serve as a foundation for usage with the visual representation of patterns and for the construction of semantic pattern maps.

Sunday, November 4, 2007

Evaluating Technologies for CI Research Project

As you might all know I'm particularly fascinated with 3 core open source projects at the moment. These of course being Plone, Drupal and Django. Plone and Drupal are interesting CMS applications which attempt to be usable systems for developing much more complex and customized software solutions. On the other hand, Django is a rapid development framework that could allow for the development of a Plone or Drupal type application. I think all have a very useful place, particularly within the non-profit software development field.

I have issues with each though and in some sense these issues might be ridiculous, but they are my reasons and I have never been accused of being practical.

The first issue though is practical and that is the hosting cost associated with Plone. Though Plone might be the most feature rich platform (not to mention I know it the best), with its stable integration of GIS through the web apps, it is cost prohibitive for most of the groups I'm currently working with. This is very annoying, but that is life.

The issue I have with Drupal is its use of PHP and its non-object oriented approach to using PHP. Yes, for some this is a stupid reason not to adopt a particular solution. After all, I predominately work with PHP. Not to mention, Drupal is full featured and growing rapidly as more users adopt and build custom modules, extending its capabilities. It is also a cheap solution.

Yet, I like Python, its cleanliness, readability and development speed. As a result, Django provides a very enticing opportunity, to build robust apps with Python. Django is also cheap to host. However, despite the useful helpers such as the Django admin, nice permission system and so on, it lacks a lot of the components already available to Drupal and Plone developers. This means that I would have to implement the various components myself or find like minded people interested in collaborating to reduce development time.

Yet, despite this very obvious problem, I find the lack of a django based application to fit my needs to be very irritating as this is perhaps the most powerful Python web framework I have come across (save for Pylons, but crappy documentation makes for crappy adoption). This almost seems to be a calling of sorts. There needs to be a powerful django app similar to drupal for us pythonistas. Yes, there is PyLucid, but the documentation is not very good and the level of deviation from the core django framework just seems unnecessary to me. There is already so much Django offers that it just seems to be a waste of time.

Now, I haven't completely sold myself on using Django, but I'm using it to write a custom shell of a CMS for JESA, currently the site I built is just static HTML, but as the requirements for this site expand dramatically (as I thought they would) they are in desperate need of an easy to use web app that allows them to extend the site and add content with ease.

This is all volunteer work, but there are some things to be said about doing volunteer work versus contract work. I have been given free reign to build the site and to use whatever technology I want provided the site is secure, easy to use, etc.

So a great opportunity to use django. I think after this I will be better able to gauge whether I want to invest the time to build a base CMS for my research or if Drupal will just have to cut it. We'll see.

Friday, November 2, 2007

Constructing a Pattern Language for Community Centered Information Systems

Returning back to the original focus of this blog I have begun to start thinking of the patterns that might be useful in constructing effective communication systems for natural resource management. The key here is not only providing the environmental information necessary for successful planning, but these systems are centered upon the human element, a central piece of systems design that can be overlooked or in many cases still under-appreciated.

Now, I can think of some pieces that might be useful for environmental monitoring of sustainability focused development such as, web-based GIS, systems modeling applications, weather and climate charts/graphs and maps. However, beyond the modeling and mapping applications that could be integrated, what other elements might we consider in constructing effective information systems?

The L.V. project presents a number of useful pointers that could be utilized for constructing these systems. Some of these patterns have already been mentioned, but I think it might be more useful to define the domains of interaction that could be taking place within the context of designing such systems. As a start this might be more effective than merely listing relevant patterns. Instead if we understand the meta-patterns at play then perhaps we can be more effective in understanding how our list of patterns integrates with one another.

(Source: Schuler, D. (1996). “New Community Networks: Wired for Change.”)

While this interconnected diagram presents some useful things to think about when considering how systems might need to enable community development, I think that environment must be added. With the Environment added to this diagram, I think it is possible to get a clearer picture of what we would hope for in a thriving, sustainable community.

The next step is to identify the patterns that fit under these larger headings. Once we have defined the patterns in relation to the larger elements at play then perhaps we can begin thinking about the systems and technologies that might be supportive of people’s movement in actualizing these fundamental elements.

Now, these patterns seems to address a number of technical as well as human-ceneterd patterns. However, the pattern langauge we see emerging remains at a fairly high-level and there needs to be an extension of these patterns or pattern lanaguage to include the lower-level or more specific patterns related to systems design.

In the next few posts we will explore these patterns as possible contributions to the construction of a gerneal P.L. for community centered environmental informatics.

Monday, October 22, 2007

World Bank Recommits to Environmental Sustainability

Following Wolfowitz's departure as head of the World Bank a new sheriff is in town, Robert B. Zoellick. According to a report I was listening to on NPR this morning there was a discussion on the absence of language affirming the need to address climate change. Instead, the report asserted that World Bank language tended to focus upon clean energy and so on, yet never attributed a rationale for this clean energy need.

Now, with Zoellick in charge there is a renewed appreciation of the climatic issues the planet faces and particular focus has been placed upon addressing the ways in which development can alleviate poverty while simultaneously deal with climate change.

This is an interesting statement. But in reading his speech to the World Bank meetings in DC I take issue with some of his thinking. For one, the statement that, "Poverty breeds instability, disease, devastation of common resources and the environment" is somewhat misleading.

Now, I don't disagree with the observation that poverty and instability are connected, but the idea that poverty some how increases the destruction of natural resources seems a bit off. After all if we take a look at map representing our global footprint we can see that the richest nations all consume the overwhelming majority of resources.

Likewise, if we want to get real specific on the destruction of forests and other natural resources in developing countries, we can find that many of these projects are being funded, supported and driven not by individual users of resources, but of larger corporations that utilize these raw commodities.

Unfortunately, regulating what the affluent do to the planet is not the domain of the World Bank, but perhaps before calling poverty the cause of destruction we should remember that the last 150 years of the Industrial Revolution is what has gotten us where we are today. That is what development has meant.

Yet, I won't fault Zoellick for this misstatement too much, after all the remainder of his address touch on some very critical issues and present the idea that development in the context of the 21st century must find an alternative path to that pursued by the West in the past century and a half. So at least here we are in agreement.

Anyway, interesting statement and definitely worth the read if global poverty and social justice are topics that inspire or infuriate you.

Friday, October 19, 2007

Interesting PowerPoint in PDF:

See the discussion on Transdisciplinarity and Natural Resources Management

Musings over the Implications of Tagging for Research, aka Social Bookmarking

Below is my out-loud thinking during an e-mail with one of the Assistant Directors here at CTLT that focused on folksonomy

Cleaned-up a bit:
An interesting thesis might be to gauge how tags help researchers branch into cross-disciplinary domains. For example, I hypothesize: as more people start actively tagging content, and as people start using tags to find interrelated information, more people will start coming across tags that connect to seemingly unrelated information. In this sense a researcher could essentially begin to traverse a vast amount of content that is now linked, but in more traditional domains of academia would be considered disconnected and unrelated. I would think that these newly identified connections might open up researchers to new ways of viewing their research domain, as well as provide opportunities for more interdisciplinary study.

This also prompted an investigation into the idea of community based ontology.

Now, one might ask, "How did you go from tagging and the growth of interdisciplinary research to thinking about community ontology?"

Well, community, because I started thinking of how social bookmarking/tagging might be useful in a system focused on environmental monitoring and collaborative planning. And ontology, because that is what we are thinking about when trying to define some piece of information and its relationships.

Anyway, I came across this very simple and yet useful slide show.

Thursday, October 18, 2007

Is Environmental Informatics, GIS?

When doing a literature review on Environmental Informatics I find nearly every article or journal publication emphasizing the application of GIS type technologies. While I don't discount the usage of these technologies in a collaborate environment, my concern is that the literature seems to miss a very large piece of the human-centered and communicative aspect of information systems for NRM.

As my primary interest is in developing collaborative web-based systems, it seems that there really does need to be a discussion on the ways in which content is managed, developed, maintained and consumed. How about when seemingly oppositional groups seek to collaborate? In what ways do current IS models fall short in protecting privacy but help maintain a collaborative space?

While the mapping technology is important it appears that the dialog that these products promote is what we want to be enabling. Yet, the field appears so focused on the mapping product.

What about how information is shared to other groups that might benefit from previous work?

In some ways, the integration of GIS is only one element of the equation. This parallels the concept of a pattern language. For instance, a single pattern in of itself provides value, yet the power of patterns is more fully realized in relation to one another and in this way we might find that addressing and evaluating the ways our larger technological systems support the theory, vision, language, education process and work practices necessary for successful community centered NRM.

I guess anytime an emerging field is predominately focused upon a single application or niche, makes me think that the scholars involved might be missing other opportunities for relevant and even critical questioning and investigation.

Wednesday, October 17, 2007

Can't Help It - Interesting Article (But perhaps un-informed)

So the Editorial Board at WSU's Daily Evergreen published an interesting editorial piece on the failure of MySite.

While I think there are definitely criticisms to be made, I think the writers missed the real issue, or at least most of it.
First, let's see where I agree:
  1. Cost! Yes, MySite is expensive and I think there are other technologies such as Plone, Alfresco and others that could do what we want at a fraction of the cost.

  2. Simplicity: MySite is complicated compared to the other technologies mentioned in the article. However, so are the technologies, I mentioned above. And yet they aren’t as simple as apps such as FaceBook or Google products like Blogger. That is because a CMS is more than just a blog.

  3. What is MySite for? I think most people are unsure and perhaps that is because of the misconceptions of what it is. Perhaps the name makes everyone think MySpace or FaceBook. I think the complexity of what it is and the inability to express what it is, makes for problematic adoption.

  4. The notion of providing more public web-space is great. I think both could serve a very useful purpose. However, WSU already provides free public web space for students! I would suggest more disk-space and dynamic scripting support, like PHP, support for Ruby on Rails and Django, and of course a back-end option with MySQL or even SQLite.

Ok, where I find the article a bit misguided.

My General Response:
To equate MySite to MySpace or FaceBook is misrepresenting what each application does. MySite is more than a social networking site. It is a student's own implementation of an Enterprise-Level content management system (CMS). The kind of thing many people are being forced to adopt in the work place. Using MySpace or FaceBook usually gets you the evil stare from your boss, not the "Wow, he/she is being productive!"

And while there are cheaper applications that can do many of the same things as MySite (Plone, Alfresco, Drupal), the fact remains, these are all CMS applications with a related paradigm. This related paradigm is utilized in nearly every organization that is adopting CMS technologies to deliver and manage content within their organization. This is across the board, regardless if you are in the for-profit or non-profit sector.

Now, for some direct responses -

The Evergreen:
"It’s difficult to place MySite in a distinct subgroup of functionality, as it does so many things but falls flat on its face when it comes to implementation. While MySite does have some of the same features as Facebook or MySpace, it’s limited to those with WSU Network IDs or Friend IDs only. Perhaps that sounded like a good privacy or security initiative when it was first proposed, but there’s no benefit to having a “walled garden” system restricted to WSU."

Funny, MySpace and Facebook both require passwords for use! In a sense you have to be a part of their club in order to benefit from the service. In reality there is no difference, NetworkID/Friend ID, MySpace User ID, ummm unless I missed something. Also, your MySite doesn't have to be walled; mine is completely open to anonymous users (see here), nothing is private. The only problem is right now you can't leave comments, but that is only because I haven't added a message board.

Also, I can aggregate all my other social-net sites into MySite and create a mash-up of my relevant content. So I can place a web-part viewer in my MySite that brings in content from MySpace and FaceBook. I had a MySpace page in my MySite, but removed it as I don't go there as much. Now, I just have some RSS for my blog, but if I wanted I could embed my blog and all inside a MySite.

The Evergreen:
"There are other services out there that students already use to perform the tasks that MySite is designed to handle. Not only are they better in many cases than MySite’s offerings, but they’re familiar and thus easier for students to use. For educational purposes, services like Blackboard and WebCT – which are used by colleges all over the country – seem to be working fine."

Again, I agree with the issue of simplicity, but again you will NEVER USE BLACKBOARD in the real-world. Also, the easy of Blackboard makes easy candidate for assimilation. We could port the Blackboard model into MySite.

While some frustration is warranted, I think the frustration is misplaced and perhaps there is a solution to find before we go claiming a technology didn’t work when we have just learned about its potential. That’s like saying, “Damn, PHP what the hell is this? It is too complicated! Why not just stick with HTML?”

I think what is really needed is focused training on how to utilize the MySite/SharePoint technology. It seems by judging from the article that even the authors do not know what is available through the technology, or how to do what they may want.

In fact, I think this is WSU’s fault totally. For instance, you can find numerous end-user training sessions on Plone, Drupal, Alfresco and even SharePoint going on around the world at any given time. Why? Because it is complicated and there is a learning curve before someone can become a power-user. Unfortunately, WSU has not had any sort of Boot-Camp to get people educated. There seems to be more talk about what the system is capable of, but little on how you can harness that capability.

To do List:

Feeling a bit overwhelmed so I figured I put up a to-do list:

Immediate -
1. Finish ICLS proposal (Today!)
2. Revise Original proposal between the Public Sphere, CTLT and the LKL
3. Finish Stats Exam - Do the research and run tests.
4. Write Paper #2 on Duwamish River Clean-up.
5. Keep Working on inserting content for Decon-Hotz

6. Keep Working on ePortfolio.
7. Create Subsite for Interactive Class Project (Technology for Conflict Negotiation)
8. Finalize and upload content for JESA site.
9. Begin Designing CMS for JESA (Plone, Drupal or Django)
10. Fix the new Public Sphere Project home-page.
11. Write Proposal for "Designing for the 21st Century: Using Web 2.0 Technologies (and Social Networking Tools) for Social Action."
12. Get ready for "Visual Reasoning Work-Shop", my topic is visualizing patterns for problem-solving.

13. Keep up with my Django education.
14. Continue Design Scheme for Plone-Based CMS written on top of Django.
15. Concept Mapping and Document Centered Chat app with Django/Ajax.

Ouch, this list actually makes it sound worse!

Tuesday, October 16, 2007

GeoDjango for Environmental Informatics

So I found a very cool Django project called GeoDjango. It is a geo-spatial extension of the Django code project and seems to be a very promising application framework. I’m still very new to GIS, yet my interests and program of study is meant to incorporate some of the elements that this project seeks to address.

One of the things that I’m really interested in as a correlation to using L.V. patterns is the integration of simple geo-spatial data for community groups to collaboratively develop, extend and utilize in their work.

Along with the usage of this data is the ability to create maps to help in decision-making. However, next to the application of maps and collaborative mapping is the need to preserve community memory and the decisions that groups make to address community resource issues.

Along, with the potential to use Django as a framework for through the web GIS, I have been looking at applications such as EarthBrowser and Google Earth. Both seem promising additions. However, I was reading the EarthBrowser blog and he notes his interest in Django and I’m wondering what he is doing to enable through the web geo-spatial views. Plus, it seems at this point EarthBrowser is a much more rich application. Perhaps, this is due to its long development history. I guess in this sense I'm pretty agnostic. I just want whatever is cheapest, i.e. free and easiest to integrate into my web apps.

Anyway, with the ability to integrate these elements and along with the integration of a collaborative pattern language design module it is hoped that we can begin to provide not only the quantitatively appropriate data, but also a qualitatively appropriate approach to the design and usage of this data.

Sunday, October 14, 2007

Another CMS (Django Style)

Yes, I have been playing pretty extensively with Django these past few days and I love it. It is so intuitive for me. I don't think I have found a single approach to web app development that seems as easy as this.

Today, I was working with the default Admin provided and started thinking of ways to alter it and extend it. With Django, they give you the basic things needed, but no more no less. However, many of the pieces given appear to be easily altered and this could prove useful.

See, out of all the CMS apps out there, I like Plone the best. However, the hosting cost can be prohibitive for some groups, also I still don't like the way Skins are developed. I can do it, but for others it seems a bit steep. I'm interested in applications that are fairly easy to extend and customize. In this area Drupal seems to have it right on. However, with Drupal, the Admin is poorly developed and the way in which users interact with content is weird. I also, dislike the lack of structure. The Plone notion of organizing content in Folders just seems super easy versus Drupal's whatever, wherever approach.

Django, as a base framework provides a very simple templating system similar to Drupal, but Django is written in Python, object oriented and all (Yes, I know PHP is OO, but Drupal takes a more procedural approach). Django's admin is also clean and fairly intuitive; it does have some work, but I think I can integrate the Django admin in a more folderish and content/location specific way such as Plone does then we might have a really interesting extension of Django and skeletal app similar to Plone, but with the hosting cost more in line with Drupal.

For me writing an app in Django is much easier than writing a Product in Plone and yet, they function in the same way.

Django issues (these are things that need to get done to make Django more friendly for CMS development):

1. Easily defined URLs, power-users shouldn't have to write regular expressions. When installing an app a site manager should be able to easily set the urls associated with a particular piece of content with out getting into the code. This means users could also add pieces.

2. Users and Group Permissions, Plone does this very well and while Django has a powerful security system is seems pretty bare.

3. Folderish structure. When adding a module or app the piece should act as a folder and the pieces of content associated should be connected to it. For instance, I add a blog module; a base url is generated and anytime I add a blog content-type (e.g. a Post) then that content would live under the blog heading as a child of the blog. This way we could enforce a bit of structure. Of course some people might hate this, but for us Info Architects this structure would be nice.

4. Admin to be embedded. Currently the admin is a whole different piece of the site. The admin should only come up for adding content modules at the root of the site. Below the root, I would think that the admin should be referenced and any edits would be on the piece of content a user is currently viewing. This is also very well done in Plone.

5. In my module app I need to write a piece of code that will allow me to update the urlpatterns(). Unfortunately, the urlpatterns variable is a damn tuple. A list would make life a bit easier.

Anyway, these are some of the things I'm thinking of addressing. If I can work with some haste I might be able to have the first cut before the next semester and maybe we can deploy for the new JESA site. I think I will deploy for my own site first though. Need to watch out for those XSS attacks. I'd rather my stuff crash than theirs.

Furthering a Partnership

So following my work with JESA in Delhi, we have continued further discussion on other technology enhancements, some of these ideas have included porting the design to a CMS such as drupal or plone.

Now, regardless of the system, whether that is a customized version of a pre-built app or one I roll my own, the interesting thing that has come up a desire to support a longer term partnership to include the development of information systems for social forestry groups in the South Asian region.

The scope of their work includes Afghanistan, India, Pakistan, Nepal, Bangladesh, Sri Lanka.

This means there is some forward progress in identifying case studies for my PhD as well as for potentially longer-term partnerships.

Friday, October 12, 2007

Conference Proposal - ICLS 2008

Thanks to the heads-up given by Yishay at the LKL - University of London, we here at CTLT are working to develop an interactive session for the ICLS conference. Drawing from the work we are doing on the deconstruction of Geoff Hotz's blog, as a representative form of global collaborative learning, it seems appropriate that we extend this initial exercise and use it to evaluate our work with e-Portfolios.

Through our current e-Portfolio contest here at WSU it is hoped that several cases will be generated that showcase collaborative student problem solving within a global context. The contest presents an interesting opportunity to evaluate the usage of a technology within the context of a focused challenge.

What is the contest?

Following the contest it is assumed that we will have a number of case studies to choose from.

In order to showcase the ePortfolio approach to recording process in learning, adaptive problem-solving and so forth, we hope to hold an interactive session that will enable conference attendees to deconstruct a student’s ePortfolio and identify the key elements leading to effective outcomes.

Along with the interactive session we will launch our own conference ePortfolio to help frame the initial discussion, as well as allow potential attendees to begin a conversation that will support and serve as the foundation of our final evaluation at the conference.

Some of the pieces that could be used in this ePortfolio are not any different than the students have at their disposal, such as document workspaces, geo-spatial information, message boards, user blogs, video and anything else we can think of.

The goal here is to show document the process of evaluation among a global dispersed group of scholars. Through the process we will be looking at how a student might have identified a problem or issue of importance, how the student’s thinking shaped initial assumptions, how those assumptions may have changed over time, how the student connected with other groups, the types of solutions identified and whether the solutions met the expectations of the student and the people the student was collaborating with.

These are just some of the ideas that we could focus upon, however there are numerous and it will be important for us to further refine the language in order to help structure the Portfolio space we intend to build.

Also, we need to get this together quick, we only have till mid-November.

Site Design Done (Almost)

Here is the new site I built for JESA. The Jesuits in Social Action is group that supports social justice and development activities throughout South Asia. A very cool group and worth looking into.

The content of the site is still being updated so most of the pages only serve as a place holder. It seems that I might be working to help develop a CMS in the future rather than just a simple website. I hope so, but we'll see what they say.

It does seem to me that they have lots of news, events and publications that they want to manage, as well as other media types. To me this would make sense to be managed through a CMS.

We are also in contact regarding future sites for some of their community programs and I would be very interested to support some eLearning and NRM programs that they are involved in. In fact, some of these might make great cases for the Pattern Language 'co-construction' process.

Sunday, October 7, 2007

Why Django is good for Python

So it is no secret that I love Plone the CMS, and I have been enjoying the past few days of getting into the Plone 3 way of doing things, which is really a Zope 3 way of doing things. However, Plone 3 is extremely complex, after all it is an enterprise level application with an enormous amount of flexibility and tools built into it such as the new KSS ajax framework. Plus, Zope itself is a gargantuan project. Plone uses Zope 2 + Zope 3 = Five. the mixing of the two Zope technologies are not very intuitive (IMHO). For instance, I'm still use to the Zope 2 approach to Plone, though I have played with Zope 3, which from a framework perspective is much better than Zope 2. But putting them together is making my brain hurt.

This steep learning curve, which feels now even steeper seems to make it hard to get new developers to utilize Python as web language over others such as PHP or ASP.NET. Of course this depends on what you are doing, but many developers I know argue that, they can do anything they need in .NET.

However, the Django framework seems to really make Python based web app development very intuitive. Now, it would take me forever to build in the same functionality with my Django app as I get out of the box with Plone/Zope, but Django's sensible structure and readability makes it a great environment for developers use to the PHP or ASP approaches.

For years this has been my primary gripe with Python. Though it is a great language, building web apps with Python has been horrible. With PHP I could get going immediately. Likewise, I learn by doing. All the PHP tutorials are designed to teach PHP programming in the context of web development. In a sense you get instant results. With Python you spend 80% of the time learning the spelling without producing anything.

However, with Django you start building apps immediately! In fact I was able to build a simple blog app within an hour or so using Django (BTW, VERY simple), similar to the time it takes me when using PHP. The cool thing is again, I can more readily use Python in my small web projects and stick with Plone for my larger projects. Pretty nice!

But if you are someone interested in learning Python then I would start with the Python Phrasebook and get cracking on the Django docs/tutorials. This is a very PHP way to go, but your code will benefit being object-centric from the get go, plus Django makes use of a nice ORM where as PHP seems lacking in this area.

Now, don't get me wrong don't let your PHP skills slack, despite my interest in Python most of the projects I get asked to work on are still focused on PHP and not Python. Yet that has been changing and knowing Python and understanding the power of a framework like Django or an application like Plone gives you some flexibility.

Thursday, October 4, 2007

What is the human value of the systems we create?

As a part of my interest in the systems we build, particularly web-based systems, I'm constantly thinking about what kind of value do they bring. This is not necessarily monetary value, but the real value of making life a little more easier, efficient or just plain enjoyable. It's also not about whether our systems work or not in the sense of whether they crash, but rather in whether they work to solve the problems people hope will be solved through these apps. Now, it's true that not all systems can solve all problems, but by redirecting our attention beyond the engineering aspect to the human element of these tools, we could perhaps revolutionize the ways in which future apps are constructed.

This of course gets me back into thinking about how patterns can support the design of value-centric systems. Now design patterns have been used successfully in the engineering aspect of software. However, the human element has predominately been absent from the conversation of patterns as appropriated in the software development field. I'm reminded of Christopher Alexander's OOPSLA 1996 keynote address that hinted at this notion of bringing value into our work. In a very real sense he criticized many developers and pattern adopters in the industry for not recognizing the inherently human (and even larger) dimension that he was trying to illuminate through his work. He essentially felt that developers had missed the boat.

Anyway, in looking through some Archives of the last Plone conference in Seattle, I came across one of the talks I didn't attend and was immediately struck by a number of similarities between what this professor, Bob Boiko from the University of Washington was discussing, and the ideas of Alexander, and later Schuler propose. Bob's ideas are not necessarily directed towards patterns, but he does advocate a redirection in the thinking of our work. In a sense he is talking in more general terms, but nonetheless very relevant.

Here Check out the Vid

Professional Plone Development

So I got Martin's book today, "Professional Plone Development." It is the latest book on Plone and deals specifically with the new 3.0 release. Pretty exciting! It already looks good. I will give a later review, but I'm already biased seeing as Martin is perhaps one of the more intelligent people I have met.

Anyway, we'll see how he writes.

Wednesday, October 3, 2007

Back into the world of Plone

So in my current job much of my focus is in designing, developing and using MS Sharepoint as a collaborative knowledge management/community workspace and e-Learning platform. I do however have some issues with this. Not that this is a bad technology, but there are some annoyances and my own leanings are towards open source solutions as apposed to the MS model and their goals to take over the world through vendor lock-in.

However, in considering the role of the L.V. patterns as ways to design effective, life-affirming community applications I'm constantly being brought out of the Sharepoint paradigm and back into the world of open source by way of Plone and Drupal, two awesome projects that never cease to amaze me.

Having worked with Plone for almost 2 years now as a content creator, site manager, and eventually as designer and component developer, I find myself asking questions about the usage of patterns and pattern languages for effective community information systems in terms of harnessing Plone (or Drupal depending on the user reqs.). For one it is open source and most community groups don't have the funds to dish out the money for Sharepoint technologies, nor the funds necessary to run these systems once the licenses are purchased.

Understanding these limitations I think of Plone and Drupal as being more realistic test-beds for extending the CMS and community information systems ideal through use of L.V. patterns.

So as fate would have it I had a conversation with Yishay in London about the idea of developing modules for Plone and Drupal for a project we are putting together. He was in total agreement with the idea. In fact, it looks as if we can dove-tail nicely as he intends to focus on Drupal and I will work with Plone in order to ensure that we can meet as many users as possible through our work.

So as one would guess, I have been cracking away trying to get acquainted with the new Plone 3.0.1 release, and I must say, I am impressed! Great changes, fast user-friendly. I mean it is still difficult in some aspects but from the standpoint of building and deploying systems for people with minimal technical skills, the new Plone version appears to be a hit.

With that in mind I'm going to do my best to stay focused in further developing using this platform. By focusing on extending these two applications it’s my hope to 1.) Not re-invent the wheel (like many programmers, I'm lazy), 2.) Can use the proven successes of these technologies, and 3.) We can provide useful tools to an already large user base.

Sunday, September 30, 2007

Becoming more specific

Now, it is obvious that the proposed dissertation topic is somewhat abstract. After all, it could mean many things to different people; so let me attempt to clarify.

Short Disclaimer: This blog is not meant to show how topsy-turvy my brain is or that I can't commit to one project. Rather this blog is a way for me to voice interests, research ideas and document the process of refining my research objectives.

Ok, now that is out of the way (BTW, I'm certifiable! LOL!).

While the last post was abstract it pertains specifically to the original proposal I submitted to my dissertation chair and to the ES/RP program. The focus of this proposal was to emphasize the development and evaluation of effective community information systems for sustainable development, not just in the use of patterns to support NRM. So perhaps it is time to re-focus and as the topic of this post suggests, be more specific.

Anyway, going back to the topic community information systems (CIS), as the ideas of community memory and process-oriented development become increasingly important topics, the ability of groups to effectively enable these elements in their work becomes central.

Unfortunately, the capacity of groups to retain the emergent information glut coming out of these differing research agendas, projects and interests is undermined. Community Information Systems represent an interesting opportunity to address this problem. Likewise, with the growth of web enable services and tools it is becoming easier to integrate services such as GIS, conceptual mapping tools, complex simulation software and a number of other relevant applications into the mix of these CIS apps. This of course is in addition to the traditional tools such as blogs, message boards and chat services that have already been integrated into sites renamed as "social networking sites."

While CIS has been implemented for NRM before, it appears that many of the tools and case studies showing the use or problems associated with these tools is often confined to experts using the applications. There seems little use for actual community members (not to say it isn’t happening). Likewise, there is little information related to the participatory design process of these applications.

But CIS are much more interesting in that beyond their potential application for NRM, they can be useful in more integrated approaches to development. This means, as we have seen already in the field of informatics is that these tools can be used in literacy campaigns, provide locally relevant health information, disaster preparedness information, links to buyers and sellers of good within the local districts of a developing community and provide access to governance related information.

From my perspective CIS for NRM is just one function.

Anyway, the opportunities and problems I have seen have prompted an interest in CIS for supporting effective NRM and poverty alleviation that is at its very core interested in participation, memory and process.

Now, the patterns developed for L.V. are directly related to this issue in many ways and represent a core component to the effective design and implementation of systems that at their core support values of participation, social leveling, community and sustainability.

But do we know this for sure? We assume, and what do researchers like to do with assumptions? We like to test them!

With this in mind it is possible to begin thinking of how to test this. We can begin by describing the patterns we think link directly with enabling the types of information systems we want to develop. These patterns can then guide our development process. Of course, the research is again confronted with the issue of how to use these patterns in a coherent manner. This brings up the need for useful methods for understanding user requirements, not just of the system, but of the fundamental work they seek to accomplish. Through these methodologies as well as enabling systems to support the construction of a context specific pattern language we can then hope to develop something useful.

To evaluate, this can then be broken into three distinct levels; one the development of a context specific pattern language derived from the L.V. system (or larger system of patterns where the L.V. represents a part), two the evaluation of the system as it relates to the patterns that guided the design, and three, the actual use and effect in the community. What if any patterns did we miss, what patterns if any might help improve the system or its usefulness and so on.

Wednesday, September 26, 2007

Proposed Dissertation Topic

Participation, Community Memory and Process-Oriented Planning: Patterns for Sustainable Resource Management and Poverty Alleviation in Rural South Asia.

Sunday, September 23, 2007

NRM and Poverty Alleviation, and a rant into Meta-Languages:

In doing a short lit review of some interesting case examples dealing with NRM activities aimed at poverty reduction and mitigating desertification, I came across a number of documents addressing the role of participatory communication, indigenous knowledge, and adaptive process which address the negotiation and re-negotiation of community interests over time to construct effective NRM based development programs.

It is interesting that in reviewing the papers I noticed connections between a few of the patterns that have been listed by Liberating Voices and what has been described in these reports. I also noticed that some of the pieces discussed in the case studies touch upon patterns that represent placeholders in the L.V. project.

Here is the list of placeholders that might prove to be of special significance to this work (I don’t provide links because there is nothing in there):

Social Insurance
Networks of Learning
Civic Mobilization
Community Barter and Exchange Systems
Long View
Ecological Economics
Green Labor
Meaningful Evaluation
Linking Modern and Traditional Knowledge
Feminist Economics
Inter-Community Networks
Knowledge System Diversity
Social Learning

Perhaps, it is time to revisit a number of these patterns to ensure the growth and applicability of Liberating Voices to this work. Unfortunately, this will need to wait a week or two as the L.V. project is currently in the process of moving to new server with a new a web address: To get to the patterns just go to

Anyway, once the move is complete (next two weeks), we can start the process of updating and perhaps filling in some of these blanks.

However, in thinking more deeply about these topics and the application of patterns it seems that we are beginning to need this meta-language that, Doug, Yishay and others have been considering. Perhaps the idea of this meta-language represents the focus of Alexander's Nature of Order.

Without going down each of these tracks in too much detail, perhaps this meta-language would be a language of values and goals. The idea is that these meta-patterns could serve as a compass for the types of actions that development practitioners take as well as how communities negotiate their own development in the absence of so-called experts. Such a meta-language would include principles of "Do-no-harm," "Supportive of Spiritual Wellness," "Commitment to Beauty," "Inclusion of Multiple Voices," and so forth.

But some might ask how would these meta-patterns inform development practice. Well, the idea of development is to support livelihoods in the generic sense. How people go about achieving this has been problematic and has included a dirty history of displacement, colonial style exploitation, famine induced through structural adjustment and so on. It was known that these policies of development would harm many, but the idea was that these approaches were acceptable for whatever reasons seemed to be good at the moment.

However, these exploitations have meant destruction of the environment and rape of people’s spiritual sensibilities, specifically within communities fundamentally rooted to their land and place. The lack of voice, the loss of beauty the forgetfulness of spiritual values and the utilitarian ethic so prevalent in Western Society has been an incredible source of pain for so many, and perhaps the end has not justified the means. Perhaps, the journey is just as important as the destination?

Wednesday, September 19, 2007

Initial Pattern List: Setting the Stage for a Pattern Language approach to NRM

So in further discussions with Ray Jussaume (my Chair) it has come to my attention that he has been trying to conceptualize in a concrete way the relevance of patterns and pattern languages in the context of Natural Resource Management. Of course I see the relevance, but for him and others associated with my PhD pursuit find themselves grappling with my in-adequate explanations.

Considering this I have thought it necessary to do two things for him and others. First, I will be constructing a list of patterns I feel are relevant to the work, and second, I will construct over the next couple of weeks a visual representation (using a concept map approach) of this list along with other patterns specifically related to Indigenous Forestry Management in the Chota-Nagpur plateau of India.

NRM Pattern Language (one possible list):
1. The Commons
2. The Good Life

3. Collective Decision Making
4. Sustainable Design
5. Earth's Vital Signs
6. Matrifocal Orientation

7. Meaningful Maps
8. Citizen Access to Simulations
9. Conversational Support Across Boundaries
10. Durable Assets

11. Voices of the Unheard
12. Civic Capabilities
13. Sustainability Appraisal - (to be applied in NRM as opposed to ICT)
14. Appreciative Collaboration

15. Self-Designed Development
16. Community Inquiry
17. Power Research

Now, obviously this is just a start, but in drawing from other places such as Alexander's own patterns as well as perhaps those developed by Eco-Trust it is possible to begin ebbing closer to a vision of a NRM centered pattern language. And despite the incompleteness here I think the list begins to serve as an introduction into the notion that these patterns which exist separated within various domains possess useful relationships which can be applied as templates for seemingly unrelated uses.

But perhaps, more importantly for the purpose of this exercise others might be able to navigate the list and begin making connections between NRM, planning, sustainability and the utilization of patterns.