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."


Response:
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."


Response:
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.

Conclusion:
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

Next:
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.


Ongoing:
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.