“The more efficient a force is, the more silent and the more subtle it is.”
Versión en español: http://corvalius.com/blog/?p=49
It is not easy to propose a change. It is not easy to follow a change proposal. In short, change is difficult in itself and that is part of the complexity which we deal every day. And we deal with it because we chose to do so. We deal with it, ultimately, because we benefit from solving it.
So, up to here what it is obvious and cliché. What’s next? Well it is not simple to explain. Especially since we do not want to overestimate or underestimate the impact of this new trend that we identified some years ago and every day that pass we see more and more examples of. We want to just broadcast it in its fair impact. No more, no less. And that is also complex.
Our greatest difficulty is to explain, as we understand today, the subtleties that distinguish two paradigms. One which is beginning to cede its influence over the other. Collaboration vs. Co-Operation.
What you’ll read in this post will help you to understand our vision of the subtle changes that happening arround us. Not a big deal. But they exists. And, undoubtedly, they will change the way we interact with our peers and our community. The changes are becoming more common so you should already be accustomed to be advertised about revolutions, reinventions and things that redefines something else. You know how to deal with them
Information Age vs. Knowledge Age
There are things that I enjoy a lot, but I also recognize them as a professional bias. I can not help it, I enjoy labeling things. Not only satisfies me to do it well, but I defend my attitude arguing the usefulness of such action. The truth is that I find useful to contextualize the moment and call a spade a spade. I think it may help to better understand the approach we propose.
For some unprepared, and although it sounds somewhat clever, it is worth mentioning that“The spread of the Internet did not start the Information Age. It finished it.” (BTW, another professional bias, I like being direct). I know that for those who are not familiar with the concept, the previous assumption may be false. I will ask those who think that way to follow me in the next reasoning. Those who consider it true, can look forward fot the next section.
Two factors are essential when dealing with information:
- To Get It
- To Interpret It
This colloquially, can be understood as: “If I didn’t get the information, in the best case, I have only data.” And (most importantly) “If I did interpretate the information and I was able to assimilate it, then it is knowledge. ”
There was a time in which the information was difficult to obtain. Organizations and individuals engaged in a great effort to obtain data, give it sense, and transform it into information. It is difficult (at least for me) temporarily contextualize that stage accurately. But I can assure you that for a long, long, long time, the more information you had, the more advantage you could get. It’s almost common sense by now.
This is perennial, and it is evolving. Just as the language allows us to abstract concepts and mentally we are able to handle lots of complex functionality out-of-the-box (if I may so, a very geek’s concept). In the same way that we can see a moving image while watching TV, and we can abstract from analyzing each dot light separately. In the same way that we can live a situation and transform it into an storytelling experience by removing, adding and emphasizing events. In the same way, we can abstract from the information when we assimilate and transform it into something else, turn it into knowledge. This is what frees us to become insane with complexity.
The average society is over the Information Age. I say average because there are some societies where are still people who believe information should be restricted, which slows (not prevent) the advancement of knowledge. What Peter Drucker dreamed exactly 40 years ago, began to take shape about 15 years or so. Internet penetration democratized and, still, democratize access to information.
Nowadays, anyone with Internet access has available much of the digitized information of mankind. How much of this information can become knowledge?
The answer to that question, intuitively, is often “It depends on the amount of information that can be interpreted / absorbed / learned / grasped.” This is strictly true. It is true that the entire society’s interest that the individual gradually increase its capacity to assimilate information. That’s why thousands of years ago we established schools and universities.
Two thoughts on this section:
- From our humble place of workers and researchers in Information Technology, we keep working for years in the development of applications that do simple information processing. Today, in addition, we must work on creating applications that facilitate learning, that makes knowledge more viable. (I wonder if we should think seriously about the concept of Knowledge Technology and approach it with other disciplines).
- Internet began to increase the importance of knowledge by making more information more available. In this context, we are at the beginning of a cycle that will be quite extensive and will lead to mature technology to abstract information and be able to handle large quantities on a simple way, giving even more importance to individuals interpretations. (It is understood why the Semantic Web is so important? ) I really do not know which should be the natural step after the Age of Knowledge. If someone wants to theorize about it a little, you can contact me. A final example to clarify the concept. Just as the primary economic activities (livestock, agriculture, fisheries, etc.). Are necessary for secondary economic activities (manufacturing) and tertiary (retail, services). In the same way, the information is required for knowledge. In the same way, the entire installed base to generate reliable, predictable and as expected, makes the interpretation and understanding.
- Subtleties don’t care about us. They are there, running arround everywhere, they dont care whether we notice them or not. Occasionally those subtleties grow and suddenly they have no space and the event hit us in what we choose to call “surprises” or “aha” moments. And it’s easy to look backwards and understand the chain of events, but hard to see forward. It is easy to describe the differences between the concepts: DATA and WISDOM, moreover, may seem obvious and absurd to compare it. But, how many of those who are able to describe the differences between these two concepts can explain the difference between DATA and INFORMATION? And between INFORMATION and KNOWLEDGE? Now… between KNOWLEDGE and WISDOM? The extremes are obvious, but the links could be confusing. That’s part of what we propose in this article. The summary is: “There are subtle changes that are taking place and the sooner we will see them, the sooner the more we can exploit.”
So far, this is familiar to many.
From the individual to the community
At the risk of being reprimanded by our friend Santiago Bustelo from Icograma. I’ll make a simplified, abstract, linear and arbitrary timeline of the evolution of some technologies. Just to clarify why we use today those tools.
I chose to start with Mainframes. From these, non-stop to workstations on a LAN, then to the WAN and then to what we call now the cloud.
- Mainframes allowed a lot of computational power. Reliable, efficient, expensive, big and heavy. It was necessary to democratize technologies (or expand the market).
- The workstations were cheaper, had less computing power, but the people were easily able to resolve the trade-off because it could solve a lot more than before.
- It was not good that the workstations were alone, so they spread the LAN in offices and homes. This allowed the optimum use of resources, but more importantly, to share information privately.
- THE WAN, Internet, allowied more focus on information. The limits of intellectual property became more diffuse and common people assumes that what is on the Internet is public property.
- The Cloud (cloud computing) promises to make even more diffuse boundaries. Information will be distributed, as well as computing power and also will not exist major technical constraints to take away the significance of the desktop and live forever connected.
Why the obvious (and arbitrary, insist) progression? To promote the following premise: “The computational power, applications and information distribution, maintains a progression that promotes the work of many among many.” Or what is the same: technology, made us promiscuous :-P.
Much more simpler, some time ago the information was mine, then belong to my closest group, after that to my well-known bands, then I just began to lose control of the data I have generated. Finally, the information I produce, will no longer been generated alone.
This model, which sounds obvious today (see above), was a gradual evolution of technology and social relations. It took us from the paper and the typewriter and postage stamps to Google Docs and Facebook, via Office, Minesweeper and Notepad. It may not evolve much more or perhaps it will evolve too.
This model that allows me, now, being Saturday morning writing on the couch in my house to a public in the whole world. This model is changing to something that will allow to do more and more efficient.
The model that is going from us, is the collaborative model. The one which is emerging is the co-operative.
- It is always useful to know the context in which everyone is. Not because it is always necessary, but because when necessary, provides great value. Is equivalent to an insurance.Specifically in the context of software applications, users may benefit from knowing their context in order to find options and know how to look for them. To try an application, to try another, adopt one of them or discard them all. Or simply, to understand where they stand. To developers helps us to restrict the domain of our applications. It could help us also to understand and to improve the resolution of the process involved in each case.
Therefore, among other reasons, it is important to identify the context of the applications you normally use. Today, most applications that surround us, are based on the collaborative model and that is its context. That is its paradigm, and possibly its conceptual limitation.
The paradigm is: “The user generated information and share it, and eventually someone changes that information”.
Several examples to reinforce the concept:
- I write my resume, send it by e-mail to a colleague hoping to get some recommendations.
- Published a photo with your friends on Facebook. My friends can label all those who are there and comment on the photograph.
- In my work using a CMS such as Sharepoint to generate a workflow of documents residing in a common digital library. I create the first version that is later modified and eventually it get approved by my boss.
- Through Google Docs, a friend invited me along to write the list of items that whe should buy for my birthday party.
On a simpler manner. Among many, we fulfill a common goal. Some examples that are often overlooked:
- The metaphor of the operating system’s File System. (including shared ones)
- The Sharepoint Document Libraries (or any CMS).
- Remote Desktop.
One of the limitations that collaborative applications have is that access to the information is exclusive. This means that more than one user can not modify the same instance of information at the same time. This restriction did not prevent this model evolve to where it is today (which is VERY far away). But it may not get much further.
This restriction seems subtle, but may prove disabling for the universe of things that we’ll want to do together in the future.
In the middle and as an exponent of this transition is, among others, Google Docs and Microsoft Office OneNote. These applications, one on the web and the other on the desktop platform, simulate a kind of simultaneous access to data, but it’s not real (or at least we cannot sense it like it is real). It is clear when one perceives the delay between each user updates. There is always a token that rotates among users to make full use of the information file, but these applications reduce to the minimum the duration of that token.
But the most important limiting factor, much more than exclusion, is the inability to resolve the intention of each user.
And everything I wrote so far serves as an introduction to these two limitations of the Collaborative Model:
- Exclusion in access to the information.
- Failure to solve intention.
I insist that this can now be simulated. Consequently, the actual impact of these two constraints is diminished. But that will not happen in the future. If anything history has shown to us is that human beings, individually and together, knocked down the theoretical limits again and again. And what seemed unnecessary became indispensable.
I appeal to the ability of all those who had the patience to get to this line in this long article to understand the subtlety expressed.
THESE TWO LIMITATIONS ARE NOT TRIVIAL.
The good news is that those limitations no longer exists The good news is that we are witnessing the transition between the Collaborative and Co-Operative Models.
The difference, again subtle but strong is the following:
- In the Collaborative Model: I can create something with someone else.
- In the Co-Operative Model: I’m able to operate something with someone else. More specific: I can operate at the same time with someone else. For any purpose.
- As you may know. We are working on a technology that enables Co-Operative Work. I didn’t find any literature talking about this model, at least as we conceive them (with this name). That’s why we attach the invention of the concept. We must then determine whether this is good or not :S (claiming “ownership” always put you in front to be hit when things dont work as expected :D).
We believe that the involved change is going to be quite large. We trust that the community of developers can build applications better than we imagine with the technology that makes possible the co-operation.
When Federico Lois, Labs+Academics Manager and Corvalius’ Co-Founder, told us to develop an application making use of this technology, I confess that I have underestimated the impact. It really is not a concept easy to see quickly. But is there (expecting to hit us from the front).
I will try to explain, surelly not as well as Federico would do, the constraints expressed in the previous paragraph:
Exclusion in Access to the Information
We always had a token. This token, allows us to read and write on a document. Then it evolved and only allowed to write, to read it was no longer needed. Then returned to evolve (in some applications) and became almost unawareable, but it still was there. Being there implied a time lag. Time that passes between, for example, I submit my paper to get approval and get a revised copy with corrections.
This now seems a minor issue because we already have it under the skin. I mean, “the waiting workflow” is part of ours mental model. But usually people dont challenge a mental model until they find another one that works better than the older one and end up adopting it. And the more natural and intuitive the model is, the less the impedance in the adoption is.
When writing a text, for example, is often tedious and even paralyzing be interrupted even if a few seconds. That’s what happens with applications that are still in the Collaborative Model if we want to write a document. We invite some friends in the session, we began to write and see their contributions around 10 or 15 seconds after they wrote them.
Ultimately, this application will help us to evaluate versiones and to seek feedback from collaborators. But we can’t write a document from scratch. It is not practical for this purpose.
Co-Operative Applications, allow entry to any document at any time. Regardless if someone is editing it or not. (Depending, of course, the security privileges)
Failure to Solve Intention
- If you are able to solve the problem described above, we find that now simultaneity is a problem in itself. How to identify what each participant wished, for example, write or delete?
An example of the unsolved problem.
Two users (User 1 and User 2). Both want to delete the letter “S” from the word HOUSE.
User 1 deletes
H O U S E
User 2 deletes
H O U S E
Deleting S, without a resolution of intent, the application interprets that the users seeks to remove the U.
H O U E
H O E
Without an algorithm to interpret correctly the intention of each user, this common task would not be possible to achieve. The technologies we are working on in order to build applications on the Co-Operative model, solve this problem. Otherwise it can’t even be conceived.
A feature of the Co-Operative applications is that they contains a permanent record of transactions. Ie. Undo operations are infinite, and the whole document can be reconstructed at any desired operation. This feature opens up many possibilities, to enable auditing of all changes by default, and maintaining a comprehensive and detailed versioning.
It is true that in the community, the concept Real-Time Collaboration is widespread as a subtype of collaborative applications, and these could be confused with our Co-Operative Applications. This Wikipedia article describes the cases of real-time editors. Please, take the time to read and test the application examples listed, very few fall within the concept proposed here as Co-Operation.
We believe that Google Wave is one of the exponents of this paradigm of applications, so defined. For some years it has been SubEthaEdit and more recently Etherpad, among others. Very few. Certainly less than needed.
What can we expect in the near future?
We believe we can summarized as: “Very soon, everything that only one person can do, will be possible to do between many.” And we are convinced that this will happen because there is no technical limitation. Nothing may justify this doesn’t happen.
Co-operation can be applied in all the areas where today there is Collaboration. And some more. Specifically, the chart below, is part of the envisioning documentation we have in Corvalius for our technology that makes Co-Operation possible.
We want to share it with you to begin to engage in what will be our first product soon. In it the most common types of applications are ordered according to the dimensions of interest to us.With regard to the extent that it orders the complexity, what we seek to represent is “How complex can be to apply Co-Operation to those domains.”
For those who are more familiar with the Microsoft world … this is our specific vision:
Such applications will require adaptations in the social sphere. Adaptations that allow many people operate as if they were one. New rules or “social protocols” must be invented and perfected. For those who come from the world of programming, imagine the following concept: “RXP – Remote eXtreme Programming.” Can you imagine rules to be successful with RXP?
Now a kind of Trivia. Taking into account what we have told in the previous and in this paragraph.Imagine an application like Visual Studio.NET. Which would be the impact of undertaking Co-Operation? What other common application would be obsolete? Those interested in bringing their ideas, they can do to firstname.lastname@example.org with the subject: [TRIVIA] – Impact of Co-Operation.
We believe that change is going to be quite large. We trust that the community of developers can build applications better than we imagine with the technology that makes possible the co-operation.
What makes Corvalius about it?
As you know, from Corvalius we’re working on developing a base technology that allows the application of Co-Operation in all exposed areas. Sounds ambitious, and it is :-P. We really have high expectations. Clearly we do not have the resources of Google, but that is not still a significant impediment.
- The following are the actions that you can expect from us:
- Week from 22 to June 26: We will release our version of a very simple web Co-Operative application. It’ll not be a beta, not even an alpha version. It will be a technical preview that we strongly feel that we want to share with you all. This demo is built on Silverlight 2.0. 😉
- Week from June 29 to July 18: We’ll post some mockups of applications in specific domains. We are interested in sharing our vision of what will be happening in the coming years. We will also have presence at the Microsoft WPC 09 in New Orleans. The idea is to show this technology to key people who could be interested in it.
- We plan to release an API (yes, you will be able to play!) that allow you to test the concept, make your own applications and understand the potential of Co-Operation. You can, from this moment, to write to email@example.com with the subject: TECHPREV telling us:
- What do you think about Co-Operation?
- In which domain you imagine a Co-Operative application?
- What would you make with our API?
- During the month of July will assess the requirements and adapt the API to the suggested purposes.
- In Corvalius we’ve been working on the concept of RXP. During August, we will be releasing more ideas and guidelines on how to work within that framework. (Suggestions welcome).
What we expect from the Community on this?
Participation. Participation. More Participation. It is important that those who are related to this concept, share our vision and want to be part of it, co-operate in the process of evangelization of methods, APIs, tools and anything that you can feel will make an impact.
It is important that software developers be aware that this is a different paradigm with different rules and challenges (we will post more about it in the future). It certainly has a very large potential and is all waiting to be done, but we can be certain that when we will screw up, the impact will be bigger.
Be alert to developments with respect to the Co-Operation in software. Be alert to the subtleties 😉
We hope we have made clear our vision of the future and the trends that define it. Hope that was not tedious to read. Since Corvalius only want one thing: “We want to secrete and help to secrete more endorphins.” We just happen to make software.
The difference between stupid and intelligent people – and thi s is true whether or not they are well-educated – is that intelligent people can handle subtlety.