Powered By Blogger
This will be the primary space on the net for my ITC 515 class. Computer-Supported Cooperative Work is only the beginning...

Wednesday, November 7

Readings - Week 9

Semantic Web 2.0
The Two Cultures: Mashing up Web 2.0 and the Semantic Web

What is the current relationship between Web 2.0 and the Semantic Web?

Web 2.0 has an open development philosophy which has propelled into the forefront of current web-technologies and also set the pace for new ventures or start-ups. Most Web 2.0 applications depend on an implicit, lightweight, flexible, and shared semantic model between Web-linked application elements. They require shared meaning to link their various components and data sources as well as to integrate and organize data in response to user direction. Semantic web could potentially prove to be the underbelly of Web 2.0 applications, in its use of effective semantic tagging, ontology management and URL linking systems. However, the complexity of RDF and OWL are seen as a hindrance for many developers who ultimately choose to take the lightweight and flexible approach of Web 2.0. This in turn generates data-sets that is often poor and sloppy in breadth and proves to be difficult to apply to the pure nature of Semantic techniques. Current Semantic Web has no practical, scalable way for non-experts to create and maintain adequate mapping functions between large amounts of constantly changing ontology and instance information or to manage their periodic versioning and maintenance

How can Semantic Web technologies bring benefit to Web 2.0-style applications?

Although these two technologies are vastly different in their design, purpose and style, it is a common belief that they are actually complimenting rather than mutually-exclusive technologies. Many believe that the strengths of the one technology can be used to enhance or better the weaknesses of the other, making it a lucrative field of research as well as potential commercial revenue on the future web as we know it. The Semantic web can learn from Web 2.0’s focus on community and interactivity, while Web 2.0 can draw from the Semantic Web’s rich technical infrastructure for exchanging information across application boundaries. Here are some benefits that Semantic Web could potentially bring to already existing Web 2.0 applications:

  • Reusing data from the Web – With effective tools, semantics could be used to set up Web 2.0 applications to “fetch” data from different sources on the web. This data can either be static, in that it is updated once or dynamic, which will be updated as data from the source is updated.
  • Dynamic data sources – Plugins could be configured to be user-specific, hence enhancing the feel of Web 2.0 applications and personalizing them further. Since this is dynamic, the source of the content serves as a feeder for the Web 2.0 application. Technologies used in this include RDF or XML and OWL which enable a greater interoperability, control, correctness and consistency of the data allowing organizations to reach a larger group of users and propagate changes more efficiently.
  • Personalization of Web sites – using open web-standards like an HTTP GET command in order to send and receive a certain file, containing preset user location and personal information, enhancing the application immediately, by only presenting data relevant to that user in that particular location.
  • Giving Back to the Web – Inputs by users into the application plugins, serve as data that is pumped back into the semantic web system, effectively enhancing the taxonomies and ontologies. Websites can benefit by collecting a plethora of data from users and enhancing the data sent back to the users.

Thursday, November 1

Readings - Week 8

Studying cooperation and conflict between authors with history flow visualizations

What are the main problems of the Wikipedia as described by the authors, and how does the community deal with them?

Wikipedia is an online encyclopedia which detours from the normal “conventional” way of online encyclopedia’s. Unlike conventional ones, where the articles are written by a single author and then submitted for review and possible editing before being posted, Wikipedia followed a different route. This route allows for anyone to create, edit and post an article on the site, making it an open community with free access. This radical new view had a lot of pessimism at first, but it soon turned out to be a huge success and set the tone for other online community sites. The authors and community also use certain “tools” to their disposal to track their or other articles in which they have interest. These tools allow them to quickly respond to new articles, edits of their articles or general discussions concerning an article or new post.

  • Page history where a user can see the history of each article.
  • Recent changes where the list of recently updated or added articles can be found
  • Watch list which allows users to keep a watch list of a pages they wish to monitor closely.
  • Talk pages where the Wikipedia community discuss topics on “real” pages.

Due to the nature and design of Wikipedia, it is vulnerable to a few snags and problems, which will be described next:

Vandalism and Repair

Wiki’s are subject to malicious edits or vandalism which can take several forms:

  1. Mass deletion: deletion of all contents of a page
  2. Offensive copy: insertion of vulgarities or slurs
  3. Phony copy: insertion of text unrelated to the page topic
  4. Phony redirection: linking a page to unrelated or offensive terms
  5. Idiosyncratic copy: adding text that is related to the topic of the page but which is clearly one-sided, not of general interest, or inflammatory (biased)

Within the community, authors quickly ascertain when an act of vandalism has occurred using the tools described above. The vandalism is quickly repaired and the articles are again posted in the state it was before the act. Sometimes, authors cannot agree whether an edit constitutes an act of vandalism and therefore, a vandalism-tracking page has been set up where authors can discuss this in more depth and natural basis.

Edit Wars

A second pattern that often emerges in Wikipedia is that of “edit wars” where people or groups alternate between versions of a document. This is often found when two or more people are contrasting each other on certain information and/or content, since they both have different views. These issues are resolved in different ways. One such is where the authors leave comments on why they have edited a specific page. Often these comments are addressed to the previous editor and explains the reason for the edit directly to that author, making it a more personal form of communication. Another method is the use of “talk pages” which have been designed specifically for this situation. Here, authors and editors can discuss the article at length and come to a formal conclusion and solution, which is then incorporated into the wiki article.

Authorship

Another contentious subject is that of article authorship. Whilst many feel the need to make it visible that “they” were the ones to submit an article, the larger community feels that it violates the open policy of Wikipedia and also infringes on the “Neutral Point of View” (NPOV) which Wikipedia strives for. Therefore, whilst the authorship of a specific article is not present on the article page itself, the talk-pages, where authors leave comments or discuss the topic are often signed with the authors user name, and in the case of anonymous users, an IP address is appended. This creates a sense of personal community where people can get to know the authors of certain articles and build a personal preference towards some.

A Content-Driven reputation system for the Wikipedia

What different notions of reputation in Wikipedia do the authors discuss?

One of the most predominant reputation measuring systems used by online systems today is that of user-driven reputation. This is where user A rates user B on what they perceive to be good submitted content or information. This however is based on personal preference and often lacks the critical eye which distances itself from personal preference. Subjective, rather than objective…

In this paper, the authors propose a content-driven reputation system, which could be used by Wikipedia to rate authors based on the content where they gain reputation when the edits they perform to Wikipedia articles are preserved by subsequent authors, and they lose reputation when the edits are undone in short order. The lifespan of an edit to a Wikipedia article is inferred from an analysis of the subsequent versions of the article. We call such reputation content-driven, since it is computed on the basis of how content evolves, rather than on the basis of user comments or ratings. This form of reputation rating will basically portray three forms of reputation or value:

  • Prescriptive value: reputation systems specify the way in which users can gain reputation, and thus define, and prescribe, what constitutes “good behavior” on the users’ part. Users are strongly encouraged to follow the prescribed behavior, lest their reputation —and their ability to use the system — suffer.
  • Descriptive value: reputation systems can be used to classify users, and their contributions, on the basis of their reputation, making it easier to spot high-quality users or contributions, and flagging contributions or users with low reputation.
  • Predictive value: an author’s reputation should be statistically related to the quality of the author’s future contributions. This value could also lead to author-trust where articles by that author can be trusted to be accurate in the future by other users.

Readings - Week 7

Enterprise 2.0: The Dawn of Emergent Collaboration
Corporate Blogging: Building community through persistent digital talk.


What opportunities/benefit do the authors claim for introducing Enterprise 2.0/Blogging technologies into the enterprise?

Whilst many companies have a lot of corporate software available to enhance the daily work activities of their employees, it is often felt that these software are either underused, utilized incorrectly or even seem daunting to new or uninformed users. Many of the software used today are also a one-way avenue e.g. emails are great for communication, but are only read by a few people who are on the receivers list. Furthermore, company intranet sites, whilst a good idea, is bound by the logic and intuitive design of management, and they decide what content would need to be appropriate for the site. This is where Enterprise 2.0 applications or corporate blogging comes into play.

Whilst these tools have been around for some years, they have not been readily adopted into organizations, since they distract from the centralized information “control” initiative which many companies stand by. These tools, like wiki’s or blogs, allow all users to edit information, add knowledge or even comment on others posts. This is so to say, a platform that encourages a collective authoring of thoughts, ideas and information…quite a leap away from the company view. Yet, it is within this environment that some companies have come to realize that in order for them to collect the vast amount of knowledge circulating in the enterprise and to readily manage and make it available to the employees, they need to open up the gates of control and allow their employees to share and contribute to the Knowledge Management of the enterprise.

The benefits are staggering, since now employees, who are often the individuals with the expertise in their particular area can contribute to the overall process and enhance the everyone’s benefit that they receive by using these tools. As stated, previous intranets where bogged down by manager suggested content and limited to change or discussion since they were also structured in very formal ways. No more though, because the network effect that drives these tools (Enterprise 2.0) becomes apparent when more and more people use it. The system inadvertently becomes better, sexier and smarter when more employees choose to use and contribute to it, making it a growing and modern platform with the most recent and relative information right at the fingertips of the employee. Now more than ever, employees can see what other departments are focusing on, what the status of the project is (important information to them) and what Sally in accounting thinks about the new tax-law and how it should be applied to everyday working activities. Employees also gain informational, personal and social benefits by using these tools and often managers can receive the benefit that they can really find out how their employees see the company or project as a whole. These tools also serve the purpose of building a feeling of “community” within an organization, where people from different backgrounds and social standing come together in the same collaborative environment and communicate or discuss important aspects or ideas.

Thursday, October 18

Readings - Week 6

Building Collaboration into IDE's

What are the major collaborative features suggested by the authors?

Collaboration within the development environment is becoming increasingly sought after by technical team-members, allowing them to be aware of what is going on at all times and who is responsible for changes, additions or in general work throughout the lifetime of software program development. Some of the major examples used are:
  1. Configuration Management - Integration reduces friction in the software development process
  2. Screen Sharing - Integration promotes context in which the collaboration was done
  3. Email and IM - Integration strives for traceability, allowing the content to be referenced and searched later
When looking at some of the features necessary in a collaborative IDE, one has to be careful at defining these, since many groups that work within the project adhere to different guidelines, program differently, and even use different tools for a wide variety of tasks. It is therefore imperative that the features be a global representation of what the collaborative process needs, and not what each member "wants" to have. Some of these features include:
  • Provide peripheral awareness of other programmers and their activities (who is doing what around our code, especially code that you depend on).
  • Support a variety of communication mechanisms (text, voice, visual).
  • Integrate with the team's source-code control system and bug tracking system.
  • Support "in context" communication, both synchronous (chat, screen sharing) and asynchronous (code annotations, persistent chats, team documentation).
  • Support searching through saved team artifacts and the development history.

Assignment 2 - The Way of the Wiki - Part III

Last Post – 18 October 2007
On the 15th of October one of the users tagged my Afslaan article as copied content from the website. This was done by adding a tag into the text which automatically adds a content box into the page stating that it might be a copyright violation of the original website. After some further reading on how to negate this deletion, I deduced that you can delay deletion by adding the {{hangon}} tag to the top of the text. This inserts a template container, stating that the deletion should be delayed whilst further information and licensing is acquired. Furthermore, they request you to state why the page should not be deleted on the articles discussion (talk) page. I added the relevant request on the talk-page, stating that the information on the original Afslaan website is my work. When I was an active member in Afslaan, one of my portfolios was to create and manage a website, so all the content was originally created by myself.

Directly after these posting being made and delays put into place, I re-edited the entire article into my own words and made sure that there were no more copyright infringements. However, after visiting the article again today, I saw that it has been completely removed by a Wikipedia administrator.

I quickly reposted the article, but it was deleted again within 20 minutes of reposting. The administrator left me a message stating exactly why the page has been removed and what avenues are available to me to dispute the deletion or for possible reposts. This would involve getting the webpage administrator to grant me permission to use information on Wikipedia and also edit the original website to include for redistribution under GNU licensing v1.2 or higher. Due to time-constraints for this assignment, I unfortunately could not get the article up and running before the deadline.

My first article has also been visited and a minor change has been made. Basically a user has removed my User-tag which I added to the end of my article, as to make the article more general to Wikipedia and less personalized.

Overall, I find that Wikipedia is a good encyclopedia for posting articles, but users should KNOW the rules and understand – clearly – the licensing or respective guidelines that have to be adhered to when editing, creating and posting articles on this site. Wikipedia has a wide community which regularly keep tabs on recently created articles, false information or copyright infringements. Many of these users are just general users, who, out of their own accord, want to keep the site as relevant and truthful as possible. Many times, these users will tag articles and/or information and then administrators will be notified accordingly. The administrators then have the right to review the post and note and act according to the general rules and guidelines as set out by Wikipedia. This type of open-community editing greatly advances the overall Wikipedia standards and policies as described in my first post for this assignment.

As for the quality and value of my articles:
I have only posted two articles and an image. Both of these articles were non-existent before and my contributions were quite significant in size and quality, portraying relevant information on each topic. The articles contained truthful information from reliable sources and I personally feel that this could enlighten others who read these. I am quite disappointed that one of my articles (Afslaan) has been removed, as this was my most significant contribution, but after reading all of the guidelines, I fully understand why.Even after this assignment, I will keep a watchful eye on my articles to see how they might change and evolve in the near future.

Monday, October 15

Assignment 2 - The Way of the Wiki - Part II

Progress on First Article

After keeping a watchful eye on my first article – la BarrĂ© Family History – I saw that the article has automatically been updated by internet bots. These bots have automatically added a categorization button which states that the article has not yet been categorized and give the reader a chance to do so. Secondly, another bot has updated the page to include links to the disambiguation page. Other than those minor changes, nothing much has happened to the article in terms of extensions or major changes.

My Second Wikipedia Article

After long and arduous thought on the topic of my second article, I finally found a topic worth covering. In my first 4 years of studying, I lived in a Men’s Residence (U.S. Dormitory version) called Afslaan. I quickly searched Wikipedia for any articles related to Afslaan but found none, paving the way for a new article to be posted on the website.

I quickly started writing a article on the History of the residence and it soon transformed into a information page regarding general residence information, leadership groups, pictures and links. I used some new features from Wikipedia like organizing my article into sections. Wikipedia has a very intelligent feature which automatically adds an index to the article, should the number of sections exceed a normal page-view. This is also particularly helpful should another user wish to add information, one only needs to update the article with a new section and the index will automatically be updated to reflect the changes.

Another feature used in this article was that of a template standard. The templates are created by Wikipedia and easy to use, once you know what you are looking for. The templates provide the author a sure and secure way of adding data which should be in a standardized format.

Uploading images to the article was at first a bit confusing, but after realizing that the images work in the same way as an article, it was pretty straight-forward. Basically, if you upload a picture to an article and that image does not exist in the Wikipedia library, the link to the image turns red, just like an article which does not exist. After posting the article, I basically clicked on the red image link, set its license features and uploaded the image.

I hope to see some changes to the article in the coming days as that would mean that the article is drawing some attention from other readers.

Thursday, October 11

Readings - Week 5

R. Kraut, L. Streeter: Coordination in Software Development

What characteristics of software development do cause coordination problems?

There are several characteristics within Software Development, that make coordination harder than usual, listed below are the most significant ones.

Scale
Software Developments are often so large, that all the minor complexities and intricate details are never understood by one single person. Since it is often difficult to find such a person, companies have to look for alternate routes. The size of such a project, often lead to sub-groups forming rapidly, either through social preference, borders or organizational preferences. But this leads to the groups becoming distant from one-another which in turn leads to a wider rift between the notion of sharing and cooperative work. Compartmentalization can lead to errors, narrowness and insufficient opportunity for comparing knowledge and can reduce motivation in the future.

Uncertainty
Inherent uncertainty in software development, compounds the coordination problem. Since software development is not as structured and requirements often change throughout the lifecycle of the project, uncertainty becomes more and more prevelant. Users, analysts and domain usage also have a strong influence on the requirements and hence, uncertainty factor. It is often the case that designers and architects do not have the information required readily at hand, so the coordination effort between them and the analyst and users becomes tedious. It is also uncertain, since the different sub-groups working on the software all have different ideas on the functionality and aspects of the software.

Interdependence
Due to the nature of software modules, which in the end, need to mesh perfectly together to have a working program, interdependence becomes very important. Poor coordination in sub-groups developing integrating modules, could lead to failure in integrating the modules themselves.

Informal Communication
With the addition of the above-mentioned three problems, coordination becomes particularly difficult when you take the communication aspect into account. Coordination cannot become viable when there is no communication to convey the desired requirements of changes. Some of this communication is in the form of formal communication, often in the form of documents or technical specs...but these are found to be difficult for conveying a more personal approach. Informal comm is often better, making it easier to summarize, memorize and remember for future use, but could lead to the formal atmosphere being dropped altogether.

Ko et. al: Information needs in collocated software development teams

What information needs exist and how severe are they?

  1. Writing Code
    • C1 - What data structures or functions can be used to implement this behaviour
    • C2 - How do I use this data structure of function?
    • C3 - How can I coordinate this with this other data structure or function?
  2. Submitting a Change
    • S1 - Did I make any mistakes in my new code?
    • S2 - Did I follow my team's conventions?
    • S3 - Which changes are part of this submission?
  3. Triaging Bugs
    • B1 - Is this a legitimate problem?
    • B2 - How difficult will this problem be to fix?
    • B3 - Is it worth fixing?
  4. Reducing the Failuree
    • R1 - What does the failure look like?
    • R2 - In what situations does this failure occur?
  5. Understanding Behaviour
    • U1 - What code could have caused this behaviour?
    • U2 - What’s statically related to this code?
    • U3 - What code caused this program state?
  6. Reasoning about Design
    • D1 - What is the purpose of this code?
    • D2 - What is the program is supposed to do?
    • D3 - Why was this code implemented this way?
    • D4 - What are the implications of this change?
  7. Maintaining Awareness
    • A1 - How have resources I depend on changed?
    • A2 - What have my coworkers been doing?
    • A3 - What information was relevant to my task?
For the relevant severity of these cases, please refer to the diagram below: