Thursday, January 1, 2009

IdeaNotes: Open Source Knowledge Sharing

Logos "IdeaNotes provide an open source, electronic journal application for capturing ideas, best practices, and web links"
What are IdeaNotes?

IdeaNotes are electronic text messages representing short written descriptions of ideas, best practices, and web links. IdeaNotes function as "idea collectors" within organizations capturing thoughts, professional advice, and personal experiences as they occur during the workday. Unlike popular messaging systems such as Twitter, IdeaNotes are completely community-driven and incorporate open source spreadsheets for capturing and storing messages.

Problem:

How can organizations effectively capture ideas, best practices, or insights into solving problems as they emerge?


Solution:

A key strategy for organizing and sharing knowledge is to document critical "nuggets" of information as they are first peculated through an organization. IdeaNotes provide a very simple, non-proprietary method for capturing important ideas, best practices, and lesson learned experiences as they materialize. Think of IdeaNotes as personal online journal you can share with your peers. Unlike long, written documentation IdeaNotes are short, "sticky notes" you associate with communities, departments, or other taxonomy.

Benefits:

  • Simple, online journal application organized through communities
  • Provides electronic text messaging similar to Twitter
  • Incorporates non-proprietary spreadsheet database (Google Docs Spreadsheet)
  • Implements Javascript for simple, open source customization
  • Easily modified to run within organizations for both private and secure knowledge sharing
  • Very low cost to install and run

IdeaNotes in Action

Subscribe to the KMnotes RSS Feed Customize the KMnotes RSS Feed View the KMnotes Spreadsheet

Rather than focusing on what is going for individuals such as Twitter, IdeaNotes encourages community participation. Participants quickly add notes while linking to both individual and community feeds. Just click the links above to show the IdeaNotes raw RSS feed, a Yahoo Pipe custom feed generator, and the master spreadsheet containing all the data. Try it yourself. It only takes a few minutes to sign in using your Google account, navigate to a community and add a note. Then click any of the image links above to search, copy, and manipulate the data.

Try it Now!

To see it in action, simply navigate to ECMHUB.org, sign into your Google account, and start posting community ideas today. You may also check out the details located in this original blog.

Tuesday, December 30, 2008

IdeaNotes Frequently Asked Questions

Top FAQ
  • How can I get started? Just think of a subject, navigate to ECMHUB.org, sign in to Google, and post a note in the community of your choice. You post a note by filling out the top form located under the "Notes" tab under each community.

  • Where do I post a note for all communities? Go to the main IdeaNotes tab on the home page and enter your text. It will appear in all communities. Please note that all community posts are strictly monitored.

  • How can I add an avatar or picture to my post? Sign in to Google, click on the small avatar icon next to your Google sign in name, then fill out the displayed form.

  • I just posted a note and I do not see it. What is wrong? Please click the refresh (red arrow) button. It may take up to 5 minutes to see your post.

  • I want to enter brief lessons learned in migrating from Documentum to Sharepoint. What community should I use? SharePoint.

  • I want to post information about an interesting museum I visited last week. Which community should I use? None. Please only post relevant community information.

  • I want to show only the posts that johndoe entered in all communities. How can I do this? Click on the Yahoo Pipe icon inside the IdeaNotes form. When the Yahoo Pipe page appears enter “johndoe” in the Filter field and leave the Category Field blank. If you wish to specify a community enter the community name in the Category Field.

  • How can I create custom widgets, RSS feeds for a single community, and email notifications on search results? Visit the Yahoo Pipe page.

  • I cannot find what I need, do not have access to Yahoo Pipes, or can't seem to filter on entered information. What can I do? Click on the spreadsheet icon inside the KMnotes form. Then click the “View” button to download the file to your desktop.

  • I wish to post an anonymous note. Is this possible? No.

  • I wish to modify or delete a previous posted note. Is this possible? Our plan is to share the IdeaNotes Google spreadsheet for community edits. Please let us know if you wish to beta test this feature.

  • How can I generate a report that shows all comments posted on a specific a IdeaNotes? We plan to support this feature. Please let us know if you wish to beta test this feature when it becomes available.


Can I Install My Own a Copy of IdeaNotes Behide My Firewall?

Yes you can. Please contact our organization for details. We would be happy to discuss your needs in detail.

Where Do I Download My Own Copy of IdeaNotes?

We do not have a download file. Please refer to this documentation and the Yahoo Pipe and Google Docs Spreadsheet links. For Javascript with Dojo Toolkit integration, please send us an email for details.

Tuesday, December 16, 2008

Blog Reprint Of IdeaNotes Source Code

The purpose of this article is to demonstrate how you can easily build an open source, micro-blog application to capture important ideas, best practices, web links, and other cool stuff.

With many years of personal experience in both document management and knowledge management, micro-blogs are without a doubt the best tool for capturing hidden, tacit knowledge. Unfortunately, Twitter focuses too much on “me” and not enough on “us”. In knowledge management we want to record important “nuggets” of work experience, not necessarily tied to an activity such as “What are you doing?” in Twitter. We also want to easily organize the information by community, subject, or function. To access the data enterprise-wide, we require the flexibility to publish the data in a variety of formats and control data storage and integration including interfacing with an existing user community.

The software components for our micro-blog application include Google Docs spreadsheet, Yahoo Pipes, and Dojo Javascript. To see a working example of this solution visit ECMHUB.org, sign in using your Google account, and click anywhere you see “IdeaNotes”. The IdeaNotes are stored by community so if you wish to recommend a valuable Web 2.0 article you click on “Web 2.0” cloud item, click IdeaNotes, and add your article link. Very easy to contribute your knowledge to the site!

We start our solution by defining the database – a simple Google Doc spreadsheet. A Google Doc spreadsheet is not your grandmother's xls document. Thanks to Google it is always online, can contain over 100,000 cells, and includes built-in web forms. Unlike Twitter, our micro-blog application incorporates a simple taxonomy defined as spreadsheet columns:

  • Timestamp
  • Category (i.e. community or subject)
  • Title
  • Link
  • Author
  • Description
  • Thumbnail (i.e. picture of the author or blog)
  • Type (i.e. idea, best practice, article, opinion etc.)

Here is the link to the spreadsheet

Next, we create a Google Docs form from the spreadsheet. It is automatically created - simply click Form > Create from inside the Google Docs). As an alternative, we could also write a program incorporating the Google Docs API for direct read/write access to the spreadsheet. The Google API also provides a nice integration mechanism for connecting to an existing user community.

Here is the link to the form

Now that we have our simple “database” and micro-blog entry form, we will next reformat the spreadsheet for both RSS and JSON output required for embedding the data in other applications. Google Docs supports RSS publishing but it does not associate the spreadsheet columns with standard RSS designators. For this we will use Yahoo Pipes to take the published spreadsheet in CSV (comma delimited format) and convert the column names to their correct RSS designators. To automatically update the spreadsheet when a new entry is added make sure to check “Automatically re-publish when changes are made” under the spreadsheet publishing option.

Here is the link to the Yahoo Pipe

With the Yahoo Pipe created we can now publish a correct RSS feed just like Twitter.

Here is the link to the RSS feed

To complete our example we will show you how to read and manipulate the spreadsheet data in Javascript. Using Javascript we will call the Yahoo pipe, download the data in JSON format, and load the data into variables. Now instead of lisiting a hundred of lines of code using standard Javascript, we will use the Dojo Toolkit and show a very easy way to parse and load the data.

/*

... Load dojo here ...
dojo.require("dojo.io.script");

*/

First, set the initial load of Dojo and call up the dojo.io.script module. Unlike other Javascript tools, Dojo lets you control what modules of are loaded using the dojo.require.module statement.

/*

dojo.io.script.get({
url: "http://pipes.yahoo.com/pipes/pipe.run?",
content: {
_id: "6e2fcf6dc6feb77d09ab563a6cda2e69",
_render: "json",
_callback: "piper"
},
handleAs: "text/json",
preventCache: true,
error: function(text){
alert("An error has occurred - " + text);
return text;
}
});

*/

Here is the link to the JSON output

Next, the dojo.io.script.get function embeds script that calls the Yahoo pipe using the URL and parameters shown. The callback activates "piper" function and writes the spreadsheet data in the format of your choice.

/*
function piper(feed){
var tmp = “”;
if (feed.value.items.length != 0) {
for (var i = 0; i < feed.value.items.length; i++) {
var title = feed.value.items[i].Title;
var description = feed.value.items[i].Description;
var link = feed.value.items[i].Link;
var pubDate = feed.value.items[i].pubDate;
var author = feed.value.items[i].Author;
var picture = feed.value.items[i].Thumbnail;
var category = feed.value.items[i].Category;
var option = feed.value.items[i].Type;
/* build html string */
tmp += ...............
}
}
/* write the string out */
dojo.byId('DivID').innerHTML = tmp;
}

*/

That completes the micro-blog application for knowledge management. Please feel free to use what you need and add your comments below.