Social Graph Series 2: Protocols that Defines Social Objects Relationship

Social graph is a popular subject due to the time and attention that people have invested in Social Media. Social media has amassed a lot of useful information. The amount of useful information on social media encourages the library of congress to archive our public tweets. People spend so much time on Facebook until it exceeded Google as the number 1 visited site in US. Recruiters are using social media to pre-screen candidates. Examining the social graph of a user gives a lot of valuable information that service providers can use to create a better and richer user experience. Let us look at some of social graph enabling protocol.

I talked about how Web 2.0 extends our relationship beyond interpersonal relationship in the first series of my social graph articles. Web 2.0 extends our relationship to other social objects on the web such as websites or events. The real value of this connection comes when we can identify the type of relationship that we have to these social objects. We can deduce the type of relationship by observing the social gesture or the relationship protocol semantic that we make towards these social objects.

Social Gesture

Web 2.0 has enabled us to create a more meaningful gestures on the web. Twitter allows us to retweet conversations in the Twittersphere to indicate that we find that a Tweet bear some value to us.  We Digg stories and articles on the web to let others know that these stories worth their time and attention.We bookmarked websites and share them over at Delicious. Bookmarking, Retweeting, Digging are example of social gestures that people can do on the web.

Observing these gesture gives information how we relate to a particular social object. We may deduce that a person likes a particular conversation or stories by looking at their Diggs, Retweets, or Bookmarks. Social gestures enable application developer to give recommendation and personalised content to a user. I will discuss some of the interesting personalisation and recommendation engine on the web in the next series.

Protocol Semantic

Protocol is a set of rules that we abide to exchange information. A protocol helps us define how to put meanings on our relationship with the social objects on the web on the languages that created the web. These protocols are embedded in mark up languages such as HTML or RDF. I will explore some of these protocol and how they help put meaning on our relationship in Web 2.0.

Google Social Graph

Google social graph allow developers to trace sites and people who connects to a user. Google indexes XFN and FOAF pages to define the relationship between the social objects on the net. Google provide a simple interface for application developers to extract meaning from a user social graph. A good starting point with Google Social Graph is by looking through their documentation or joining their discussion groups for FAQ. Google provides a simple URL that developers can call to obtain information on a user social object relationship.

There are two types of social graph relationship that can get from Google.  The lookup social graph from Google returns a list of social objects that are connected to me and the their relationship type based on my twitter account.

The graph below is a pictorial representation of a subset of my Google lookup social graph.The ‘me’ arrows show that Google Social Graph thinks that these sites Delicious, Friend Feed, Facebook represents my other self on the web.The ‘Contact’ arrows shows that Aza Raskin and Rob Diana is listed as  my contact in Twitter.

The otherme social graph from Google gives application developer an overview a user other social identity on the Web. The diagram below is a pa subset of my social identity according to Google otherme social graph. The otherme social graph recognize that I have Delicious and FriendFeed account.

Google Social Graph derives the social objects by looking at the XFN and FOAF semantic that are attached into these social objects. The next two section gives some introduction on XFN and FOAF. An overview of these 2 social graph standard gives us a better overview on how Google Social Graph works.

XFN Social Graph

Understanding the XFN and FOAF is essential to understand and make the most of Google Social Graph. An XFN friendly html page contains certain values in their anchor tag ‘rel’ attribute. At the time of writing this blog XFN allow us to define six different type of relationships: Friendship,Physical, Professional, Geographical,Family, and Romantic. Friendship is one the most used highly used XFN tag on the net. The friendship tag allow us to say who we contacted the most by specifying a ‘contact’ in the ‘rel’ anchor tag. The simplicity of XFN tag allow us to share who we engage the most on the net. The diso project tries to promote XFN as a format that we can use to share our contact information online without having to share our email address book.

FOAF Social Graph

The FOAF (“Friend of a Friend”) project is a community driven effort to define an RDF vocabulary for expressing metadata about people, and their interests, relationships and activities. An FOAF it self is an RDF file that expresses who we are (name, home page, phone, email, our school, work place) and who we know (our friend name, and their email address). FOAF-a-matic is a simple Javascript application that allows you to create a FOAF (“Friend-of-A-Friend”) description of yourself. Below is an example of my RDF that FOAF-a-matic generate for me:

<foaf:PersonalProfileDocument  rdf:about="">
 <foaf:maker rdf:resource="#me"/>
 <foaf:primaryTopic rdf:resource="#me"/>
 <admin:generatorAgent  rdf:resource=""/>
 <admin:errorReportsTo rdf:resource=""/>
<foaf:Person  rdf:ID="me">
<foaf:name>Zainul   Franciscus</foaf:name>
<foaf:givenname>Zainul  </foaf:givenname>
<foaf:homepage  rdf:resource=""/>
<foaf:name>One  of my friend</foaf:name>

We can publish this data through FOAF Bulettin board,or via auto discovery. An FOAF parser can find our FOAF rdf file by looking at the link to our RDF file. We can embed this link inside the <link> tag in an HTML page:

<span style="font-family: Courier New;"><html>
<link rel="meta"  type="application/rdf+xml" title="FOAF" href="foaf.rdf" />

Open Graph

The open graph protocol was originally developed in Facebook. Open graph protocol provides a set of meta tag in an HTML document to define social object relationship on the net. Below is an example of an Open Graph implementation in IMDB:

<span style="font-family: Courier New;"><html  xmlns:og="">
<title>The  Rock (1996)</title>
<meta property="og:title" content="The  Rock" />
<meta property="og:type" content="movie" />
<meta  property="og:url" content="" />
<meta  property="og:image" content=""  />

At the time of writing this blog, open graph let us define a website by attaching the following metadata (1) basic metadata (title, type, image, url), (2) location, (3) contact, (4) Object Type (activity, business, groups, organisation, places, products and entertainment, websites).

Graph Comparison

The table below summarizes each feature of these graph:

Graph Meaning
API or Parser
XFN Humanistic qualities such as friendship or romance Embedding attributes in HTML anchor tag.
  1. RubHubXFN Directories.
  2. Exefen
  3. More on XFN website
FOAF Contact information such email, work phone, website, school Generating an RDF file.
  1. FOAF Generator
  2. Diso
Open Graph Define the structure and intention of a website Embedding HTML meta tags
  1. Ogit
  2. Open Graph protocol to JSON
  3. More on OpenGraph website

Valuing Each Graph Contribution

Each social graph protocol provide different semantic and allow application provider to measure different relationship type between the social objects on the net. XFN tends to help user define their personal relationship qualities with other users on the net. XFN allow us to define our relationship in term of ‘humanistic’ relationship such as ‘Friendship’ , ‘Romance’, ‘Colleague’, etc. FOAF allow us to define our contact information on the net in great detail. FOAF acts like our business card on the net. Open Graph allow user to define their website structure. Open Graph allow web page producer to define the website intention and purpose on the net.

Imagine a website has an FOAF reader that reads through the our published FOAF RDF File and auto create or suggest a profile based on the RDF. This will save a lot of time re creating the same profile information every time we create an account in different website. Social Media aggregator such as Giza Page, Xeesm, or Google Profile can crawl through our XFN tag in wordpress blog or twitter page to consolidate the different website that we are connected to. This will save our time in specifying each of our accounts on the net in different websites. Web site producers can include the OpenGraph tag to define the purpose of their website, allowing search engines to get more relevant information for a user.

Web producer can realize the full potential of these social graph protocol by combining their semantics. For example, If my friend want to find out where I am, a search engine can look for location based websites that specify ‘location’ OpenGraph meta tag. The search engine can crawl through these location based website and use Google Social Graph to figure out which one I am connected to. My friends will then be able to visit each one of these websites to see my location based activity to get a glimpse on where I am or what particular events I am participating.

There are a lot of technologies aimed to enrich the relationship meaning between the social objects on the web. The next series of my post will review technology such as Facebook like button that enrich our relationship between these objects.


My Articles On Social Graph:

Posted in social media | Tagged , | 3 Comments

Social Graph Series 1: Social Graph the Building Block of the Social Web

There have been a lot of talk about social graph due to the fact that Facebook announced their plan on Open Graph and their like button. This will be part of series of a blog post that I am writing to discuss about Social Graph. I will explore the definition of social graph, the potential application of social graph, privacy issue, and how user and developers can reap the most benefit out of social graph. I will present a summary of the article at the end of the series.

Social Graph Explained

The closest definition of social graph in academic field comes from the social network studies. Social Network is a study of relationship between stake holders in an organisation. Defining this relationship helps people to find out who is the source of knowledge within a firm. Who are the opinion leaders in an organisation. The relationship can be measured in different aspect, such as, who do we ask for help, who do we converse for casual topic, who do we approach frequently for advise.

Corporate strategist can do a lot of things by measuring relationship in an organisation. These information help strategist to obtain buy in from opinion leaders to influence decision making in an organisation. Strategist will be able to identify who is the potential knowledge bottle neck in an organisation. A corporate strategist can reduce the organisation dependency on knowledge bottle necks by creating knowledge sharing session between this knowledge source and the rest of the organisation to reduce the potential knowledge lost should this person become unavailable in the company.

The social graph in Web 2.0 extends this notion of social network into relationships of social objects. These social objects can be people, events, or other websites on the web.  Let us take a look at some simple relationships in Web 2.0 Social Graph. This relationship has a lot of potential applications. It range from providing targeted ads, giving personalised recommendation, or helping users find old friends on the net. Before I delve into each exciting application of social graph let us take a look at some simple social graph on the net. These relationships highlights the different social objects that we can connect to in Web 2.0. Understanding this relationship gives other people some insight on how other people and website affects my decision making and how I present my social identity on line.

Peers Graph – Explaining My Decision Making

Let us take a look at a simple relationship in Twitter. I like to call this type of relationship as Peers Graph. In this social graph I have 6 Peers. This is a subset of my twitter social graph. In this graph I am ‘Following’ 6 people. Out of this 6 people 3 of them follows my tweet. A valuable social network information that we can see here is that, I am influenced by the ideas or news that these  people share online. Gina Trapani tweeted that she ordered a special genetic testing for only $99 (usual price $499). Hearing this news I immediately decided to order myself a genetic test. Rick Klau tweeted yesterday that Google is improving Google Profile indexing in Google Search. This led me to audit the information that I put in Google Profile so that Google will be able to index my profile better.

Ross Dawson,Jesse Stay, and Elijah Manor are also following me. My tweets will appear on a regular basis in their public time line. Whether my ideas influences their decision making is unknown and that can be an interesting discussion for another time.

Human – Web Graph – Explaining My Online Social Identity

The next type of relationship is about the connection between human and web sites. This is a subset of my Human – Web Graph. This relationship shows that I publishes my content to five social media sites: Facebook, Twitter, LinkedIn, Google Reader, and WordPress. My human web graph relationship define my online social identity. I use my wordpress blog to publish my ideas, thoughts, how-to on technology. My linked in account has my most up to date resume. I publish my status updates to both Facebook and twitterMy Google reader aggregates the feeds that I find interesting on the web.

This relationship presents valuable information for different people. My friends who are interested to know what I am up to can check my Facebook or twitter. Recruiters who may be interested to hire me can look through my linkedIn profile. Like minded techno geeks can read my blog and discuss their ideas with me on my blog. Having knowledge of a person Human – Web Graph help us understand who this person is and what they are interested in. The potential application from this knowledge is almost unlimited.

Web 2.0 has created an opportunity for us to define our relationship beyond the boundaries of person to person. Web 2.0 helped us define how we interact with other social objects such as places, events, and websites. Understanding our user Web 2.0 relationship enable application developers to enrich user engagement through technology.

I will discuss about the enabling protocol for social graph in the next series. Till then. Good Night.

My Articles On Social Graph:


Posted in social media | Tagged | 3 Comments

Basic XML Processing with Python

Python comes with ‘xml.dom.minidom’ a lightweight DOM implementation that we can use to read and write XML file. I am using this to read and write XML file in my Ubuntu. It work seamlessly with Ubuntu 9.10.

Writing XML File

root_element = doc.createElementNS(self.NS, self.XMl_CONFIGURATIONS);
config_element = doc.createElementNS(self.NS, self.XML_CONFIG);
description_element = doc.createElementNS(self.NS, self.XML_DESCRIPTION);
f = open(self.CONFIG_XML, 'w');
f.write(doc.toprettyxml(indent="   "));
  1. doc.createElementNS(self.NS, self.XMl_CONFIGURATIONS); creates an XML element.
  2. root_element.appendChild([an element]); appends an element as a child element
  3. We use the standard open(), write(), and close() file operation to write the XML file>
  4. doc.toprettyxml(indent=” “); writes a pretty XML with proper indentation for readability

Reading XML File

Reading the XML file is pretty straighforward:

1. Create a dom object:

dom = xml.dom.minidom.parse(self.CONFIG_XML);

2. Read the XML element by using the getElementsByTagName:

dom.getElementsByTagName(the element name)[0].childNodes[0].nodeValue

The code above read the first child value from the specified ‘element name’.

The returned string will contain the spacing and indetation that the parser use to write the pretty XML. I have not found a good way to string these extra characters. I use the following code to remove the extra indentation.

textwrap.dedent(element value).replace('\n','');

note: element value is the XML value that we extracted using getElementsByTagName

Text Wrapper dedent method will take care of the indentation. The replace() method take care of the carriage return characters.


Posted in programming, Python, Ubuntu | Tagged , | 2 Comments

What is “too often” ?

Mark Suster posted an article about why he will not want to recruit independent contractors or people who has more than 6 jobs when they reach 30. A lot of people, not only Mark, has the same opinion that people who like to move job too often care about themselves more than their company. Some views that job hopping may not be such as bad thing. Changing job allows you to maintain passion on your job. Some people stay in their job because they love it. It is something that they look for when they wake up in the morning. Some stays because they feel “stuck”.

Working relationship in a company is a two way channel. We as the worker need to be able to project a certain degree of good will that we are going to do good for our employer. At the same time our employer need to engage their employee and ensure that they will respected. Employee need to be ensured that they will be the first to go at the sign of trouble.

These are some of the comments that I share on Mark’s blog on his article.

On having 6 jobs before 30

I do know some of peers have 6 jobs before they are 30 because when they graduated in difficult times. Some of the companies that they worked for did not manage to pay them any money for the first 3 months. This led them to look for other jobs . I guess there should be some degree of consideration from the interviewer to look at why the candidate have more than 6 job.

On independent consultant

Some of my friend decided to become an independent consultant or freelancer because not many company were interested to hire fresh graduate during that difficult period. Some of them actually wanted to work in a stable company because they were not so keen in chasing client for money on a daily basis. These freelancers tend to have self initiative and creativity because they have to do all the job themselves. Some of us who work in big companies tend to do smaller portion of task or functions. The larger or more complex type of work will be given to senior people, or they wont be no major work stream because big task will always be divided to smaller task. Thus company workers may not have the same amount of hands on or creativity compare to these “independent contractors” because of this division of work. This is not a bad thing, I guess divide and conquer comes when you have more people to do the job. Just to be fair there should be a certain amount of consideration given to freelancers or independent contractors.

Managing Online Profile

My friend David Talamelli mention that he feels people should be treated as individual. There should not be a clear ‘Yes’ or ‘No’ answer when considering a candidate. Recruiters need to listen the candidate stories and give a fair amount of consideration during the hiring process. We as candidates should try our best to present the best resume or profile.

Jeremiah Owyang wrote an excellent article about managing our online profile. We need to be aware about what we put online. Recruiters are using our online presence as a valuable in put during the interview process. Set up alerts about yourself in Google Alert. Try to listen what other people is saying about you. Update your linkedIn accounts. Get good references. Worked on your resume, polish it. Do your own independent projects to show your passion about your job.


Posted in social media | Tagged | Leave a comment

Jesse’s Stay N Alive Google Friend Connect

I was reading Jesse’s latest blog on his interview Friend’s Feed co-founder Paul Bucheit. I have been a regular reader of his Blog and I would like to join his Google Friends. This is my Google Friend Connect Profile:

I am quite puzzled by the fact that my Google Profile picture is not displayed. It will be great if ‘Google Friend Connect’ gives us an option to link their Google Profile picture to their Google Friend Connect Picture. Google Friend Connect allow me to use our Picasa Album Pictures, adding Google Profile Picture as an option will be a great addition.

Google Profile – The Next Social Media Hub ?

David Talamelli just created a google profile. He sees a lot of potential in Google Profile. Just like me David sees Google Profile as a social media hub that gives our audience a good over view of who you are in the social net. Google Profile has the potential to be the next social media hub aggregator like Giza Page or Xeesm. An advantage that Google Profile have is that, Google already have an array of amazing products such as Picasa, Google Friend Connect, Google Map, that can spice up your profile provided that they are carefully integrated to Google Profile.

I think everyone will share my thoughts that deeper integration of Google Profile and other Google Products will be a good feature that worth pursuing in the future.


Posted in social media | Tagged , | 2 Comments

If Only Google Profile Look Through My Social Graph

My Google Profile looks very lonely at the moment. I wish Google Profile crawls my social graph to find  my other friends so that I can find my friends to ask them to connect to my Google Profile.

Connecting Through Social Graph

Google Social Graph allow developers to crawl our social network and find our friends on the net. According to Social Graph I have over 20 friends in Twitter. Some of my Twitter friends such as Jesse Stay happen to have a Google Profile. A visualization of this social graph will be something like :

Looking through the user social graph allow Google Profile to look up for potential connection that user may like to add in their profile.

Social Graph Openness

We love Google’s Social Graph because it is based on an open standard. It does not try to own the relationship in the internet. It does not try to construct a wall around our social interaction that can be a potential single point of failure.

XFN and Google Profile Custom Links

XFN provides a simple way to represent our relationship over the net. It allow us to say that Jesse Stay is my friend by attaching ‘friend’ attribute in the HTML anchor ‘rel’ attribute. XFN has a strong list of supporter.

Google Profile provide user the abillity to add links into their profile. At the moment I have listed 9 links in my profile:

It will be great if we can add custom XFN links to our profile so that we can define our relationship with our friends. I would like to add for example perhaps Rob Diana’s blog to my Google Profile and specify that he’s my friend :

<a href="" target="_blank" rel="friend met">Rob Diana's</a>

Well I didn’t exactly met Rob face to face, but I have been regularly reading his blog and join his blog discussion. Google Profile has the potential to be the next relationship hub on the net. Other applications can also glean this relationship metadata to suggest meaningful connection to users. Rick Klau will be posting a thread on Google Product Ideas for everyone to share their ideas on Google Profile. I am looking forward to join the discussion.


Posted in social media | Tagged , , | 2 Comments

Removing Application Updates in Facebook

Some people, like me, are not very interested in reading application status updates in Facebook. These white noise cover up the more important status updates from our friends. It is a great lost that Facebook killed its lite version. I was really hoping to use facebook lite to filter out the application status updates in my facebook page.

Hiding Application Status Update

There are other ways though to hide application status updates. If you see an application status updates in your facebook page for example like this one, hover your mouse to the right top corner of your page. A ‘Hide’ button will appear. Clicking this hide button let us hide present and future updates from the application.

Clicking on the ‘Hide’ button gives 3 different option for the user: (a) Hide the update from the user, (b) hide update from the application, or (c) cancel. I only want to hide updates from the application. So I chose ‘Hide Farm Town’.

Facebook will give you the option to see what other updates that you have hidden.

Click the ‘Edit’ Options to view what other application that you have hidden.

Hiding Your Application Updates

You can also help your friend to reduce application updates by disallowing your application to publish updates in your news feed.At your Facebook home page look for the ‘Account’ menu at the top right corner of your home page.

Click the ‘Application Settings’. Facebook will open your up a page that list application that you have used in the past month. Choose ‘Allowed to Post’ option from the ‘Show :’ drop down list. Click on one of the ‘Edit Settings’ link of the application that you wish to block.

Open the ‘Additional Permissions’ tab and untick ‘Publish Recent activity (one line stories) to my wall’.

I am still trying to figure out to hide our friends application status updates without having to click the ‘Hide’ button on our news feed. I think Facebook should allow us to hide all application update from our friend at one go.

Posted in social media | Tagged | Leave a comment

Google, Please Allow Me to Share My Map in Google Profile

I have recently added a Google Profile. In my opinion one of Google Profile’s power it’s it simplicity. The About Me Tab allow me to create a short story of who I am and what I do. If you click on my buzz tab you will see my status updates. It will be nice if user can switch off their buzz from Google Profile. I prefer to turn on my buzz. This way visitor can read interesting stuff or news that I share over the social net.

Sharing the Places I like

Geolocation social media has been receiving a lot of attention in the media lately. Some people says that location service social media will bring a lot of revenue in the near future . Personally I find location based services is very interesting. Location based real time information provide valuable data about places.

I maintained a personal Google Map of the places that I visited in Wellington. This is a way to share with my peers about my activities and as a personal location based journal.

Google Map in my Profile

I created a link on my Google profile to my Google Map. It will be amazing if people can visualize my movement or stories that I share in Google Map directly from Google Profile. Google Map has provided an RSS feed for user to publish their updates online. Google profile should be able to give user the option to publish their Google Map updates as a stream of activities in their Google Profile. User can enrich their Google Profile page by providing location based feed out of their Google Map. It will definitely be an alternative to Foursquare check ins.

What I like about Google Map over Foursquare’s ‘check in’ are

  • I dont have a smart phone yet. I am eyeing HTC or Google Nexus One though. So I prefer to update my location related status update in Google Map.
  • Google Map allows me to put more information on the map compare to foursquare.
  • Google Map has more data on places compare to Foursquare. It is easier for me to add stories just by searching for a place using Google Map search function.

Google Profile definitely has a lot of potential.  We will be waiting in anticipation any new feature that the new Google Profile’s Product Manager, Rick Klau, will lay out for Google Profile’s future milestone.


Posted in social media | Tagged , , | 3 Comments

Twitter Places API

Gigaom reported that Twitter is going to launch “Places” API that allow user to link their tweet to specific location on a map. Raffi Krakorian promises that twitter places API is going to provide more contextual information such as a meaningful name for a place instead of just the current latitude and longitude information.

Foursquare, Gowalla

Twitter has amassed 100.000 applications according to digital venture beat. Twitter places API may become a potential competitor for Foursquare or Gowalla. Twitter Places API will push other Geo Service provider to provide richer API and functionality for their existing users.

Real Time Information on Location

I am really excited on twitter’s new user stream and places API. Twitter location API provides a secondary source of information that complements what Foursquare has provided us. I would like to incorporate Twitter’s places API to display tweets on a location in my geo service based website Locate for me to complement the existing Foursquare tips on the site.

Twitter Ubiquity

Twitter will definitely provide a very rich real time information on places. Twitter has reached 50 million tweets per day. Twitter application developers have created a lot of Twitter app for smart phone users making it easy for them to tweet more often. Blackberry has recently added their official twitter app. Android mobile user has a lot of options for tweeting, twitta,twit2go, twitdroid, and more. iPhone has 12 wonderful twitter applications that made it easy for iPhone user to tweet from any places.

We will be waiting in anticipation on Twitter latest API development. There will be a lot of potential new functionality and applications around twitter new Places API. What ever twitter will do they promised us that we’re going to love it !!


Posted in locate-for-me, social media, web development | Tagged | Leave a comment

Knowledge as a resource or as a cost ?

Rob posted a blog on managing knowledge. He posed a question about how should a firm view their workers. Are they just a ‘resource’ or are they a knowledge producing entity ?

Resource View

The resource view thinks that a firm should try its best to retain employee with the most valuable knowledge within the firm. So what happen if the employee is on vacation, sick, or resigned ? How can we ensure that the firm can still operate when the resource is unavailable ?

Cost View

Some firm operates under the cost paradigm. They are interested to count every dollar and cent that they need to put into producing a good knowledge. The problem with calculating the cost of producing knowledge is that first of all knowledge creation process is uncertain. A firm may need to invest  a lot of resources in knowledge creation process such as research and learning. This investment may end up producing great result or fail altogether. Nevertheless we can’t deny the potential return that we can get from it.

The cost paradigm also views that if we can’t produce the know-how that a firm need internally, we can just simply hire external resources to do it for us. Getting help to do the work for us is great, but we still need to have the knowledge to manage these external resources. We also need to think how to absorb the knowledge that these external resources have so that the firm can still operate without having access to the external parties expertise. How many times have we tried to document every single process, steps, and know how from our service providers, and ended up in a huge pile of documents. So big until we can’t figure out how to extract the relevant information that we want from it.

Treat Resource as a Knowledge Creating Entity

Treating workers as a knowledge creating entity is an emerging trend and an effort that still require a lot of understanding and promotion to get it accepted by many organisations. A firm should be able to produce the knowledge that it needs internally. A firm should encourage its people to collaborate with one another, share what they have in their mind. Improve each other skills and create new and superior know how, skill, and processes a long the way.

A firm can leverage external service or technology providers to help the firm operates. The firm should not forget that it need to be able to diffuse the external expertise within the firm. Careful consideration need to be put in place to balance between the cost of time and opportunity between acquiring knowledge externally and producing them internally.


Posted in knowledge management | Tagged | Leave a comment