Four years ago, I started a new project called Yon Intelligent URL shortening service which was aimed to target Internet users in Persian language. After a few months, it was successful engaging many users and without any more efforts, it became more and more popular over time. Some of the key features of Yon which caused these success are:
Although Yon didn’t limit itself to Persian Internet users and nowadays people from all around the world are using it, but they constitute the minority of users. And that’s while the website user interface even does not support English language yet. Therefore, making the website bilingual would be a good start to make more internationalized which is one the top priories of the features to be added to this online service in near future.
As it goes, I will write more about newer aspects of this service in next blog posts.
“Fortunately”, there are various conflicting definitions available for the word “ontology” – which its role is clarifying and explicitly defining entities in a specific domain – so it approves the fact that defining and categorizing entities into specified boundaries is a difficult job even when it comes to the word ontology itself. Therefore, in many cases it’s better that this job be done by or benefited from collective intelligence, rather than a limited number of people even if they are professionals to do so, however they could provide us instructions and recommendations according to the knowledge and experience they have.
Anyway, lets provide some definitions which are more relevant to what we are going to talk about. In philosophy, it deals with subject of existence. In context of AI and knowledge sharing, it could be defined as “a specification of a conceptualization”. It is involved with clarifying entities in a specific domain and their relations to each other. Unsurprisingly, we have different types of relations including, but not limited to, being a super/sub-concept of another. Therefore we could divide these entities into groups which are interconnected and each of these groups could belong to one or more higher-level concepts/entities as well having their own subentities. Now the question is that how the overall scheme of this network of entities in a specified domain look like? Is it a hierarchical tree or a graph? And if it doesn’t have an exact tree structure, does it sufficiently look like a tree, so that we could represent it in a hierarchical form with some kind of makeup, say by providing shortcuts of some entities to the actual location they belong to? It depends. Maybe if we are supposed to sort books of a physical library, we could use tree-like hierarchies, but how about representing relationships between products of an online shopping cart? Or categorizing posts in an online forum or questions in an Q&A website? And even more crucial, how about categorizing web pages to provide them to users based on their search queries, as a search engine?
Human beings are always involved with categorizing and classification problems in their daily lives and it’s not just limited to sharing information on the web or in a library. They need to classify their stuff, their own knowledge and their plans and schedules, otherwise they will have an inefficient life. They might also agree on some rules together to be more organized and make things work better by these enforcing fixed rules – called standards – which are absolutely different from classification which makes separated categories by specified principals, so that the result of classification might be changed when the entities are altered.
To more elaborate the concept of ontology and its pros and cons, lets talk about the concept of “community of practice”.
Communities of practice are groups of people who share a concern or a passion for something they do and learn how to do it better as they interact regularly. However, learning is not necessarily what makes the community come together and it could be an incidental result of the community members’ interactions. There could be many properties assumed for a community to be a COP, but we can say that at least three of these features and characteristics are crucial:
The concept of community of practice is not an anomaly and such communities have been around as long as human beings have been learning together. There have been some assertions about properties of a COP based on early theoretical writing about them which might be partially or totally wrong today. For instance, a traditional claim says that COPs are self-organized, but we know that they mostly need some kind of articulation to be effective. Or one other assertion says that COPs are informal which is again in many cases false and we have many formal COPs.
As we see, the properties proposed for COPs have been agreed or disagreed over time and we could say that more characteristics were agreed as number of available communities grew and their similarities were more studied. Now we have a kind of ontology in domain of communities which specifies COP boundaries with three crucial and widely agreed characteristics which was an outcome of increasing participation of users of this domain to describe its entities.
Finally, back to the question proposed and the brief answer provided in the title, we should know what we want out of ontology to make judgments about it. Do we want to do it on our own and as the only solution to any knowledge sharing problem in any cases? Then it sucks. But aren’t there hybrid solutions available? Couldn’t we benefit from both what we – the professional ontologists – think and what others think, say producing some general high-level categories based on human-generated labels and experiences with a “bottom-up” concept hierarchy generation basis, or even providing a worldview, made of human-generated experience combined with a “symbolic-link-aided approximated conceptual hierarchy”?
Doing research simply means the systematic use of some set of theoretical and empirical tools to try to increase our understanding of some set of phenomena or events.
Joseph E.Mcgrath, the author of article “Methodology matters:doing research in the behavioral and social sciences” says.
In fact both of the two first articles are addressing the fact that what you are going to get out of a study totally depends on the method you are using and your philosophical stance. However the first article “Selecting Empirical Methods for Software Engineering Research” concentrates on software engineering research which makes it more sensible for me, while the second reading talks about research in social sciences.
The first reading mentions that we can not certainly say which research method is suitable for which research problems and various local factors should be considered when selecting a method, including available resources, access to subjects, opportunity to control the variables of interest and skills of the researcher. Furthermore, it precisely mentions that because each method has its own flaws, comprehensive research strategies which benefits from multiple research methods are more viable, so that weaknesses of each used method could be addressed and compensated by use of other methods.
First we must see what kind of research question we are asking. Potential questions include:
one important factor is your philosophical stance, which dramatically affects how evidences and responses to your research question(s) satisfies you. Here are four important philosophical stances:
To classify possible research methods, we could introduce 5 major classes for software engineering research, however not all researchers in this area will necessarily have consensus on the names and domains of these classes:
Furthermore, the second reading says that a research process always involve with a content of interest, some ideas that give meaning to it and some techniques that enable the researcher(s) to study them. The author depicts three domains of research in behavioral and social science including:
Then the author mentions 8 research strategies and groups them into 4 quadrants as following:
The author of this paper try to highlight the fact that results of our experiment always depend on methods, and like first reading, it verifies that a combination of multiple methods should be used. It also mentions the important fact that the results of a study should not be interpreted in isolation. Researcher should always consider other evidences and studies on the same research question.
In the 3rd reading, the author mentions some conceptual models of CSCW which are largely descriptive and then talks about her framework, which is currently descriptive as well, but supposed to be more developed by further investigation. She defends her model of “coordinated action” by claiming that it frees us from having to decide on only one common field of work and one “clear-cut goal”. She also mentions that they chose the word “action” to emphasize the importance of goal-directedness implied by the word “work”. MoCA has 7 dimensions as following:
You can watch her presentation about this work in Stanford seminar:
As a new researcher in software engineering areas, I found the first reading surprisingly useful. It drew a comprehensive picture of the art of doing empirical research in software engineering, however many key points of this reading is not just limited to this area. It elegantly shows us how to propose a valid and valuable research question as the key starting point of doing research. Then describes what to consider when looking for an answer to this question and emphasizes that the way we think and our philosophical expectations and stances will have a considerable impact on potential answers. Then highlights the importance of having a theory which is like a lens through which the world is observed. Then provide nice information about various empirical methods in software engineering and how they could be combined together to compensate each other’s shortfalls. And finally provides information about how to collect data and how to validate results based on the stance and method we have used. The second reading also does same effort and in some cases provide more details on methods which the first reading didn’t discuss in-depth. It also reminisces me how closely interconnected social sciences and collaborative software engineering topics are. Finally, the final reading represents a framework of coordinated action which tries to add more value to related works and models around CSCW studies by discussing some aspects (dimensions in the author’s words) that were less focused by other works while addressing many useful works that have been done in the past.
Many years have passed after the advent of web 2.0, there have been lots of conferences, journals and articles around it and many individuals on the web and in their handwriting have written a lot about it, and we have experienced many web 2.0 websites specially after virtual social media became popular, but still many don’t have a consensus on what it exactly mean and cast doubt on claims of many websites which have used to count themselves as members of this wild.
In fact, web 2.0, just like many other areas, doesn’t have a specified boundary, but it has some common principals which constitute the core of this wild and we could say that the more of these principals a particular web-app follows, the more similarity to a web 2.0 app it will have. Let’s take a look at some of the most important principles and provide some details and examples of them:
The Web 2.0 lesson: leverage customer-self service and algorithmic data management to reach out to the entire web, to the edges and not just the center, to the long tail and not just the head
We can categorize web 2.0 artifacts into several major groups, so we are going to introduce 3 of these groups:
Collaboration has been mentioned as one of the biggest challenges for visualization and visual analytics because the problems that analysts face in the real
world are becoming increasingly large and complex and involving a broader scope.
Additionally, interaction with digital information is increasingly becoming a social activity and social media could be good example for this.
We should also mention that traditional visualization techniques and tools are typically designed for a single user interacting with a visualization application on a typical computing device, not to be used in-groups and on novel technological artifacts. For all these reasons, collaborative visualization seems to be a growing area of research end even with more speed in future.
While collaborative visualization benefits from work in other disciplines, there are many challenges, aspects, and issues that are unique to the intersection of collaborative work and visualization which are supposed to be handled in this research area. There are several definitions for collaborative visualization:
There’s an old definition for it which emphasizes the goal of researching in this area:
“Collaborative visualization enhances the traditional visualization by bringing together many experts so that each can contribute toward the common goal of the understanding of the object, phenomenon, or data under investigation.”
But recently, the term social data analysis has been noticed to talk about the social interaction that is a central part of collaborative visualization:
“[Social data analysis is] a version of exploratory data analysis that relies on social interaction as source of inspiration and motivation.”
The authors of the article define collaborative visualization as this:
Collaborative visualization is the shared use of computer-supported, (interactive,) visual representations of data by more than one person with the common goal of contribution to joint information processing activities.
which is derived from a general definition for visualization as:
The use of computer- supported, interactive, visual representations of data to amplify cognition.
Then it provides some important application scenarios of collaborative visualization such as its usage on the web to provide visualization for large amount of data for many users and its applications in scientific research, command and control, environmental planning and mission planning.
In future, we will have more data collected from more variety of sources. We will have more people willing to view and analyze this data simultaneously and they will want to access it through more novel devices. We need to present this data in a manner which is more summarized and more understandable to them.
If you need more information about collaborative visualization, reading this web page could be useful:
It’s been a long time human beings have found group-work to be more effective compared to working in person and obviously teamwork predates computer technology. But the ways things are being done are always changing over time due to demand to achieve more from limited resources like human resource, time, etc. and sometimes to compensate weaknesses of these resources, like limitations on computational and memorization capabilities of humans. Computers and computer networks have supported collaborative work to a large extent lately, because they could enable humans to work remotely and supply computational power and speed they need and also ensure their information could be unforgettably saved while be shared and accessed by any of members from anywhere.
Now let’s get to the question: what is CSCW? Although researchers might not have a consensus on what is its definition exactly and which topics constitute this research area, but we could simply define it like this: “It’s a community of application/system designers/builders and behavioral researchers that work on how collaborative behavior affects technology and vice-versa”. So, could we simply say group-work equals to collaborative work and CSCW and groupware are identical? Well, the answer depends on how we define groups and groupware. we define groupware as “software that support groups” and believe its considerably technology-oriented unlike CSCW. People working on groupware usually do narrow examinations, if any, on various kinds of social forms of collaborative work and have a focus on solving technical issues of providing multi-user software programs, say designing user-friendly interfaces for software to be used by multiple users.
As a result of what CSCW is supposed to be involved with, there become some core issues mainly concerning researchers on this area. “articulating cooperative work” which is more behavior-oriented, “sharing information” which is mainly technology-oriented and “adaptation of technology and social behaviors” which is involved with both concerns. To elaborate these three problems, I want to use an example of my own experiences, when in my undergrad studies some of my colleagues and I decided to work together on a freelance web-based project we got. It was a large project and needed considerable time and effort to be completed. Because we wanted to collaborate and work on this project mostly from home, I will talk about it after writing a few paragraphs about distance work.
One of the most important problems which CSCW is concerned with is distance work. Distance work may refer to team members distributed in different cities of a province or even those who are spread in all around the world. The larger a company or an organization is, the more it is likely to have team members in far distances and that’s because they usually need various branches in different areas of the world and in many cases, specially when it comes to tech companies, it is more affordable for an American or European companies to hire employees from eastern countries due to lower rates of payments. However, there are some downsides with distance work which their severity is likely to be reduced over time, but they will always remain as concerns including:
According to the diagram above, we could say as the distance increases, timezone and cultural differences grow and matter more.
Team members also don’t have identical social, organizational and technical backgrounds. When they are gathered together to collaborate in work, they all have to follow certain regulations – usually predefined, but are always subject to change – to cooperate better. these regulations are usually determined at organizational level, so although every individual might find the style they have used to more convenient, but they understand in collaborative work following organizational regulations will help the team work better, therefore they easily accept them and adapt themselves to these standards.
To provide an example, in my own experience mentioned in the third paragraph of this post, after deciding to create a team, we had several meetings and discussions, and as a result decided to agree on these regulations for our communication, coordination and standards in various layers and aspects, although we had different backgrounds and preferences almost in all of these at the beginning:
We said that an important part of CSCW research is working on behavioral aspects of collaborative work. Because people involved in collaborative work have close interaction with each other as well as their environment which is to a large extent made of technological tools and we want to study them altogether, a collective and interconnected processes of cognition is required which we call it distributed cognition.
In the article “Distributed Cognition: Toward a New Foundation for Human-Computer Interaction Research”, authors try to make use of distributed cognition as foundation for HCI research. They propose an integrated framework that combines ethnographic observation and controlled experimentation for their research. They believe the traditional view of cognition does not address what actually occurs between humans and computers collectively together, because this view assumes a kind of isolation for individuals from their computational environment in the process of cognition and puts a boundary between them in its examinations, so it only brings computer interfaces into the boundaries of cognition symbolically, not interconnectedly.
In reality, things are happening altogether. There are not separate ‘inside’ and ‘outside’ areas that might come together, every thing is happening at the same moment and what impact computer systems have to people, affects those people’s impact on other people and vice-versa.