Archive

Posts Tagged ‘change’

Say goodbye to collaboration

June 21st, 2009

Reading time: 20 - 32 minutes

“The more efficient a force is, the more silent and the more subtle it is.”

Mahatma Gandhi

Versión en español: http://www.corvalius.com/blog/?p=49

Introduction


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:

  1. 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).
  2. 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.
  3. 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.

    Collaborative Model

    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).
  • E-mail.
  • Chat.
  • 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 :-D 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.

Co-Operative Model

 

    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.

Expected Result

H O U E

Real Result

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.”

BW domains matrix

For those who are more familiar with the Microsoft world … this is our specific vision:

BW MS apps matrix

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 info@corvalius.com 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 info@corvalius.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.

Neal Stephenson

  • Share/Bookmark

Uncategorized , , , , , , , , , , , ,

Despídase de la Colaboración

June 20th, 2009

Reading time: 20 - 34 minutes

The more efficient a force is, the more silent and the more subtle it is.

Mahatma Gandhi

 

Introducción

 

No es fácil proponer un cambio. No es fácil seguir una propuesta de cambio. En fin, el cambio es difícil en sí mismo y esa es parte de la complejidad con la que lidiamos cada día. Y lidiamos con ella porque elegimos hacerlo. Lidiamos con ella porque al final de cuentas, resolver la complejidad nos beneficia.

Hasta aquí lo que es obvio y cliché. Lo que viene no es simple de explicar. Sobre todo porque no queremos sobreestimar ni subestimar el impacto de la nueva tendencia que desde hace unos años identificamos y cada día vemos más presente. Queremos difundirla en su impacto justo. Ni más, ni menos. Y eso también es complejo.

Nuestra mayor dificultad radica en poder explicar, tal como nosotros entendemos hoy, las sutilezas que diferencian dos paradigmas. Uno que está empezando a ceder su capacidad de influencia por sobre el otro. Colaboración vs. Co-Operación.

Lo que va a leer en este post lo va a ayudar a entender nuestra visión del cambio silencioso que estamos presenciando. No es gran cosa. Pero existe.Y sin dudas va a modificar la manera en la que interactuamos con nuestros pares y en nuestra comunidad. Los cambios son cada vez más comunes así que usted ya debe estar acostumbrado a ser anunciado de revoluciones y reinvenciones y redefiniciones. Ya sabe como lidiar con ellas ;-)

 

Era de la Información vs. Era del Conocimiento

 

Hay cosas que disfruto mucho y reconozco que es una deformación profesional, pero no puedo evitarlo. Disfruto rotular las cosas. No sólo me produce satisfacción hacerlo adecuadamente, sino que me permito defender mi actitud argumentando la utilidad de tal acción. Lo cierto es que, me resulta útil poder contextualizar el momento y llamar a las cosas por su nombre. Creo que puede ayudar a entender mejor el planteo que proponemos.

Para algún desprevenido, y aunque suene poco intuitivo, vale destacar que: “La difusión de Internet no inició la Era de la Información. La dio por terminada.” (a propósito, otra deformación profesional, me gusta ser directo). Sé que para aquel que no está familiarizado con el concepto, la premisa anterior puede resultar falsa. Les voy a pedir a aquellos que piensen de esa manera que sigan el siguiente razonamiento. Los que la consideren verdadera, pueden continuar en el siguiente apartado.

Hay dos factores esenciales con la información:

  • Obtenerla
  • Interpretarla

 

Esto, coloquialmente, puede ser entendido como: “Si no obtuve la información, en el mejor de los casos tengo un dato.” y (lo más importante) “Si interpreté la información y fui capaz de asimilarla, pues entonces ya es conocimiento.”

Hubo un tiempo en el cual la información era difícil de obtener. Las organizaciones y las personas dedicaban un gran esfuerzo en obtener datos, darle sentido, y transformarlas así en información. Es difícil (al menos para mi) contextualizar temporalmente de forma exacta esa etapa. Pero puedo asegurarles que desde hace mucho, mucho, mucho tiempo, el que tiene más información, tiene una ventaja.

Esto es perenne, y evoluciona. Así como el lenguaje nos permite abstraer conceptos y mentalmente estamos capacitados para manejar la complejidad con funcionalidad out-of-the-box (si me permiten lo geek del concepto). De la misma forma en la que somos capaces de ver una imagen con movimiento al mirar el televisor, y podemos abstraernos de analizar cada punto de luz de forma separada. De la misma manera en la que podemos vivir una situación y transformarla en anécdota quitando, agregando y enfatizando eventos. De esa misma manera, podemos abstraernos de la información cuando la asimilamos y transformarla en otra cosa, transformarla en conocimiento. Y eso es lo que nos libera de volvernos locos con la complejidad.

La sociedad, en su promedio, superó la Era de la Información. Y digo en su promedio porque todavía existen organizaciones y personas que consideran que la información debe ser restringida, lo cual retrasa (no impide) el avance del conocimiento. Lo que soñó Peter Drucker hace exactamente 40 años, comenzó a materializarse hace unos 15. La difusión de Internet democratizó y democratiza el acceso a la información.

Hoy por hoy, cualquier usuario con acceso a Internet tiene disponible gran parte de la información digitalizada de la humanidad. Cuánta de esa información puede convertir en conocimiento?

La respuesta a esa pregunta, intuitivamente, suele ser: “Depende de la cantidad de información que pueda interpretar/asimilar/conocer/aprehender.” Y es estrictamente cierto. Aunque también es cierto que a la sociedad entera le interesa que cada individuo incremente gradualmente su capacidad de asimilar información. Es por eso que hace miles de años creamos escuelas, desde hace cientos, creamos universidades.

    Y desde nuestro nuestro humilde lugar de trabajadores e investigadores de las Tecnologías de la Información, trabajamos desde hace años en la evolución de aplicaciones que hagan más simple el procesamiento de información. Hoy, ADEMAS, debemos trabajar en la creación de aplicaciones que faciliten el aprendizaje, que viabilicen el conocimiento. (Me pregunto si no debiéramos pensar seriamente en el concepto de Tecnología del Conocimiento junto con otras disciplinas.)

      Dos puntos concluyentes de este apartado:

       

  1. Internet comenzó a incrementar la importancia del conocimiento al commoditizar la información. En ese contexto, estamos en los comienzos de un ciclo que será bastante extenso y nos llevará a madurar las técnicas que permitan abstraer la información y poder manejar grandes cantidades de manera simple, dándole mayor importancia a las interpretaciones de los individuos. (Se entiende por qué la Web Semántica es tan importante? :-) Realmente no sé cual debiera ser el paso natural después de la Era del Conocimiento. Si alguien quiere teorizar un poco sobre eso, puede contactarme. Un último ejemplo para clarificar el concepto. Así como las actividades económicas primarias (ganadería, agricultura,pesca, etc.) son condición necesaria para las actividades económicas secundarias (producción) y terciarias (comercialización y servicios). De la misma manera, la información es requerida para el conocimiento. De la misma forma, toda la base instalada para generar información confiable, de manera esperada y previsible; hace viable la interpretación y el conocimiento.
  2. A las sutilezas no les importamos. Ellas están ahí, circulando por todos lados, les da lo mismo si las advertimos o no. De vez en cuando las sutilezas crecen y de repente no tienen espacio y nos pegan de frente y es ahí cuando elegimos llamarlas “sorpresas”. Y es fácil de ver hacia atrás, pero difícil de ver hacia adelante. Es fácil describir las diferencias entre los conceptos: DATO y SABIDURIA, es más, puede resultar obvio y absurdo compararlas. Pero cuántos de los que son capaces de describir las diferencias entre esos dos conceptos, pueden explicar la diferencia entre DATO e INFORMACION? Y entre INFORMACION y CONOCIMIENTO? Ahora… entre CONOCIMIENTO y SABIDURIA? Los extremos son obvios, pero los eslabones pueden confundirse. Eso es parte de lo que proponemos exponer en este artículo. El resumen general es: “Hay cambios sutiles que se están dando y cuanto antes los veamos, más podremos aprovecharlos”.

 

Hasta aquí, para muchos, nada nuevo.

 

Del Individuo a la Comunidad

 

A riesgo de ser reprendido por nuestro amigo Santiago Bustelo de Icograma. Voy a hacer un análisis simplificado, abstracto, lineal y arbitrario de la evolución de las tecnologías. Solo para clarificar el por qué de las herramientas que hoy utilizamos.

    Elegí comenzar con los Mainframes. De ellos, paso sin escalas a las workstations en una LAN, de ahí a las WAN y de ahí lo que hoy denominamos La Nube.

     

  • Los Mainframes permitían gran poder de cómputo. Confiables, eficientes, caros, grandes y pesados. Era necesario democratizarlos (o ampliar el mercado).
  • Las workstations eran más baratas, tenían menos poder de cómputo, pero la gente era capaz de resolver fácilmente el trade-off ya que ahora podía resolver muchas más cosas que antes.
  • No era bueno que las workstations estuviesen solas, así que se difundieron las LAN en oficinas y hogares. Lo cual permitió optimizar el uso de los recursos, pero más importante aún, compartir internamente la información generada.
  • La WAN por antonomasia, Internet, permitió focalizarse más aún en la información. Los límites de la propiedad intelectual son cada vez más difusos y la sabiduría popular asume que lo que está en Internet es de todo el mundo.
  • La Nube (cloud computing) promete hacer más difusos aún los límites. La información estará distribuida, el poder de cómputo también y no habrán mayores limitantes técnicas para quitarle relevancia al desktop y vivir eternamente conectados.
  •  

    Por qué la progresión obvia (y arbitraria, insisto)? Para poder fomentar la siguiente premisa: “El poder de cómputo, las aplicaciones y la información, mantienen una progresión que promueve el trabajo de muchos entre muchos”. O lo que es lo mismo: La tecnología, nos volvió promiscuos :-P.

    Más simple aún, la información antes era mía, después fue de mi grupo cercano, después de mis grupos conocidos, luego comencé a perder el control de la información que yo generaba. Finalmente, la información que produzca ya no la habré generado solo.

    Este modelo, que hoy suena obvio (ver apartado anterior), fue una evolución paulatina de tecnologías y relaciones sociales. Nos llevó desde el papel, la maquina de escribir y las estampillas postales a Facebook y Google Docs, pasando por Office, el Buscaminas y el Bloc de Notas. Pero quizás no evolucione mucho más. Quizás ya evolucionó demasiado.

    Ese modelo que me permite hoy Sábado a la mañana estar escribiendo en el sillón de mi casa para todo el mundo. Está cambiando hacia algo que va a permitir hacer más cosas y de modo más eficiente.

    El modelo que se va, es el modelo colaborativo. El que está surgiendo es el co-operativo.

     

    El modelo Colaborativo

     

    Siempre es útil conocer el contexto de cada uno. No porque siempre sea necesario, sino porque cuando es necesario, aporta gran valor. Es equivalente a la rueda de auxilio o a un seguro.

    Específicamente en el contexto de las aplicaciones de tecnología de software, a los usuarios les sirve conocer su contexto para saber buscar opciones. Probar una aplicación, probar otra, adoptar una de ellas o descartarlas todas. O simplemente, entender donde están parados. A los desarrolladores nos sirve para poder restringir el dominio de nuestras aplicaciones. Comprenderlo y poder enriquecer la resolución del proceso que se efectúe en cada caso.

    Por eso, entre otros motivos, es importante identificar el contexto de las aplicaciones que habitualmente utilizamos. Hoy por hoy, la mayoría de las aplicaciones que nos rodean, se basan en el modelo colaborativo y ese es su contexto. Ese es su paradigma y, eventualmente, su limitante, conceptual.

    El paradigma es: “El usuario genera información, la comparte y eventualmente alguien más evoluciona esa información.”.

    Ejemplos varios para reforzar el concepto:

     

  • Escribo mi Curriculum Vitae, lo envío por e-mail a un colega para que me haga recomendaciones.
  • Publico una foto con amigos en Facebook. Mis amigos pueden rotular a todos los que aparecen allí y hacer comentarios sobre la fotografía.
  • En mi trabajo utilizan un CMS como Sharepoint para generar un flujo de aprobaciones de documentos que residen en una biblioteca digital común. Yo genero mi primera versión que luego es modificada y eventualmente aprobada por mi jefe.
  • A través de Google Docs, invito a un amigo a escribir junto conmigo la lista de artículos que debemos comprar para mi fiesta de cumpleaños.
      1.  

        De forma más simple. Entre muchos, cumplimos un objetivo común. Algunos ejemplos que suelen pasar desapercibidos son:

         

      2. La metáfora del File System del sistema operativo.
      3. Las Document Libraries de Sharepoint (o cualquier CMS).
      4. El E-mail.
      5. El Chat.
      6. Escritorio Remoto.

         

        Uno de los limitantes que tienen las aplicaciones colaborativas es que el acceso a la información es excluyente. Esto significa que más de un usuario no puede modificar la misma instancia de información al mismo tiempo. Esta restricción no impidió a este modelo evolucionar hasta donde llegó hoy (que es MUY lejos). Pero no le permitirá llegar mucho más allá.

        Esta restricción parece sutil, pero puede resultar inhabilitante para el universo de cosas que vamos a querer hacer en conjunto en el futuro.

        En el medio y como exponente de esta transición se encuentra Google Docs y Microsoft Office OneNote, entre otras. Estas aplicaciones, la primera en la web y la segunda en plataforma desktop, simulan un acceso de tipo simultáneo pero no es real. Es claro cuando uno nota el delay que hay entre las actualizaciones de cada usuario. Siempre existe un token que se alterna entre los usuarios para poder hacer uso completo del archivo de información, sólo que estas aplicaciones reducen a la mínima expresión posible ese token.

        Pero el limitante más importante, mucho más que la exclusión, es la incapacidad de resolver la intención del usuario.

        Y todo lo que escribí hasta el momento, sirve como introducción para estos dos limitantes del Modelo Colaborativo de Aplicaciones:

         

      7. Exclusión en el acceso a la información.
      8. Incapacidad de resolución de intención.
      9.  

        Insisto en que esto hoy puede ser simulado. En consecuencia, el impacto actual de estos dos limitantes se ve disminuido. Pero a futuro no será así. Si algo nos demostró la historia es que el ser humano, individualmente y en conjunto, derribaron los límites teóricos una y otra vez. Y lo que parecía innecesario se convirtió en indispensable.

        Apelo a la capacidad de todos aquellos que tuvieron la paciencia de llegar a esta línea de este largo artículo de entender la sutileza expresada.

        NO SON MENORES ESTOS DOS LIMITANTES.

        La buena noticia es que esos limitantes no existen más :-D La buena noticia es que somos testigos de la transición entre el Modelo de Aplicaciones Colaborativas y el Modelo de Aplicaciones Co-Operativas.

         

        La diferencia, nuevamente sutil pero contundente es la siguiente:

      10. En el Modelo Colaborativo: Soy capaz de crear algo con alguien más.
      11. En el Modelo Co-Operativo: Soy capaz de operar algo con alguien más.

        Más específico: Soy capaz de operar, al mismo tiempo, con alguien más. Con cualquier propósito.

       

      El Modelo Co-Operativo

       

        Como ya saben si siguen nuestro, por ahora poco, material publicado. Hace un tiempo que estamos trabajando en tecnología que haga posible un modelo Co-Operativo de trabajo. No encontré, bibliografía que hable sobre este modelo como tal, al menos como lo concebimos nosotros. Es por eso que podemos atribuirnos la invención del concepto. Deberemos determinar después si eso es bueno o no :-S.

        Creemos que el cambio va a ser bastante grande. Confiamos que la comunidad de desarrolladores podrá generar aplicaciones mejor que las que imaginamos con la tecnología que hace posible la co-operación.

        Cuando Federico Lois, Manager del Area de Labs+Academics y Co-Fundador de Corvalius, nos propuso desarrollar una aplicación que hiciera uso de esta tecnología; debo confesar, subestimé el impacto. Realmente no es un concepto fácil de ver rápidamente. Pero está ahí (esperando a golpearnos de frente).

        Voy a intentar explicar, no tan bien cómo lo haría Federico, los limitantes que expresé en el apartado anterior:

         

        Exclusión en el Acceso a la Información

         

        Siempre tuvimos un token. Este token, nos permitía en un momento leer y escribir sobre un documento. Luego evolucionó y nos permitía escribir, para leer ya no lo necesitábamos. Luego volvió a evolucionar (en algunas aplicaciones) y se volvió casi imperceptible, pero todavía estaba ahí. Que estuviese ahí, implica tiempo que transcurre. Tiempo que pasa entre que, por ejemplo, someto mi documento a aprobación y obtengo una copia revisada y con correcciones.

        Esto hoy parece menor porque es algo que ya tenemos asimilado. Digo, “el workflow de espera” es parte nuestro. Pero usualmente los seres humanos adoptamos un modelo mental hasta que comprobamos que uno distinto nos funciona mejor y terminamos por adoptar este último. Y cuánto más natural e intuitivo es ese modelo, menos impedancia hay en la adopción del mismo.

        Cuando escribimos un texto, por ejemplo, suele ser fastidioso y hasta paralizante ser interrumpidos aunque sea unos segundos. Eso es lo que pasa con las aplicaciones que todavía se encuentran en el modelo colaborativo cuando pretendemos escribir un documento. Invitamos a amigos en la sesión, comenzamos a escribir y vemos sus contribuciones unos 10 o 15 segundos después que las escribieron.

        En definitiva, este tipo de aplicaciones nos ayudan mucho a la hora de evaluar versiones y pedir feedback a colaboradores. Pero no nos permite escribir desde cero un documento. No resulta práctico para ese propósito.

        Las aplicaciones Co-Operativas, permiten ingresar a cualquier documento, en cualquier momento. Independientemente si alguien está editándolo o no. (Dependiendo, claro está, de los privilegios de seguridad)

         

        Incapacidad de Resolución de la Intención

         

        Si resolviéramos el problema anterior, nos encontraríamos con que ahora es un problema en sí mismo la simultaneidad. ¿Cómo identificar lo que cada participante quiso, por ejemplo, escribir?

        Veamos un ejemplo de la problemática NO resuelta.

        Dos usuarios (Usuario 1 y Usuario 2). Ambos quieren borrar la letra “P” de la palabra CASPA.

      Borra el Usuario 1

      C A S P A

      Borra el Usuario 2

      C A S P A

      Al haber sido eliminada la P, sin resolución de intención, la aplicación interpreta que pretende eliminarse la S.

      Resultado Esperado

      C A S A

      Resultado Obtenido

      C A A

      Sin un algoritmo que interprete correctamente la intención de cada usuario, esta tarea común no sería posible de realizar. Las tecnologías en las que trabajamos para poder generar aplicaciones bajo el modelo Co-Operativo, resuelven este problema. De otra manera no podrían ser concebidas siquiera.

      Una característica de las aplicaciones Co-Operativas es que contienen un historial perpetuo de operaciones. Esto es. Las operaciones de deshacer son infinitas, y todo el documento puede ser reconstruido a cualquier operación que se desee. Esta característica abre muchas posibilidades, al permitir auditoría de todos los cambios de manera default, y mantener versionado exhaustivo y detallado.

      Es cierto que en la comunidad, está difundido el concepto Real-Time Collaboration como un subtipo de aplicaciones Colaborativas, y estas podrían ser confundidas con nuestra propuesta de Aplicaciones Co-Operativas. Este artículo de Wikipedia expone los casos de Editores en tiempo Real. Por favor, tómense el tiempo de leerlo y de probar los ejemplos de aplicaciones que enumera, muy pocas entran dentro del concepto Co-Operativo que proponemos.

      Creemos que Google Wave es uno de los exponentes de este paradigma de aplicaciones, de manera definida. Desde hace algunos años lo es SubEthaEdit y más recientemente Etherpad, entre algunos otros. Muy pocos. Menos que los necesarios.

      ¿Qué podemos esperar en el futuro?

       

      Creemos que podemos sintetizarlo así: “Muy pronto, todo lo que sólo se puede hacer de a uno, se podrá hacer de a varios.” Y estamos convencidos de que esto será así ya que no habrá limitante técnica. Nada justificará que así no sea.

      La Co-Operación se puede aplicar en todos los dominios en los que hoy existe la Colaboración. Y en algunos más. En concreto, el siguiente gráfico, es parte de la documentación de conceptualización que tenemos en Corvalius para nuestro aplicación de la tecnología que hace posible la Co-Operación.

      Queremos compartirla con ustedes para comenzar a hacerlos partícipes de lo que será en breve nuestro primer producto. En ella ordenamos de acuerdo a las dimensiones que a nosotros nos interesan, los tipos de aplicaciones más comunes. Con respecto a la magnitud que ordena la complejidad, lo que pretendemos representar es “Qué tan complejo puede ser aplicar a estos dominios la Co-Operación”.

      BW domains matrix

      Para aquellos que están más familiarizados con el mundo Microsoft… está es nuestra visión específica:

      BW MS apps matrix

      Este tipo de aplicaciones, requerirá de ciertas adaptaciones en lo social. Adaptaciones que permitirán que muchas personas operen como si fuesen una sola. Nuevas reglas de “etiqueta” deberán ser inventadas y perfeccionadas. Para aquellos que vengan del mundo de la programación, imaginen el siguiente concepto: "RXP – Remote eXtreme Programming”. ¿Pueden imaginarse normas para que sea exitoso?

      Ahora una especie de Trivia. Teniendo en cuenta lo que contamos en el apartado anterior y en este. Imaginen una aplicación como Visual Studio.NET. Cuál consideran qué es el impacto real de aplicar Co-Operación? Qué otra aplicación resultaría obsoleta? A los que les interese comentarnos sus ideas, pueden hacerlo a info@corvalius.com con el subject: [TRIVIA] - Impacto de la Co-Operación.

       

      ¿Qué hace Corvalius al Respecto?

       

      Como saben, entonces, desde Corvalius estamos trabajando en desarrollar una tecnología base que permita la aplicación de Co-Operación en todos los dominios expuestos. Suena ambicioso, y lo es :-P. Realmente tenemos las expectativas altas y creemos estar a la altura de las expectativas. Claramente no poseemos los recursos de Google, pero eso no es un impedimento significativo aún.

        Las siguientes son las acciones que pueden esperar de nosotros:

      • Semana del 22 al 26 de Junio: Vamos a liberar nuestra versión web de una aplicación co-operativa simple. No será una beta, tampoco una versión alfa. Será un technical preview que sentimos fuertemente que queremos compartir con todos ustedes. Esta demo está desarrollada sobre Silverlight 2.0.
      • Del 29 de Junio al 18 de Julio: Vamos a publicar algunos mockups de aplicaciones en dominios concretos. Nos interesa compartir nuestra visión sobre lo que va a estar sucediendo en los próximos años. También tendremos presencia en la Microsoft WPC 09 en New Orleans. La idea será mostrar esta tecnología a personas clave que estén interesadas en ella.
      • Tenemos pensado liberar una API que les permita probar el concepto, hacer sus propias aplicaciones y entender el potencial de la co-operación. Pueden comenzar a escribirnos a info@corvalius.com con el subject: TECHPREV contandonos, ¿Que opinan de la Co-Operación?, ¿En qué dominio y cómo se imaginan una aplicación Co-Operativa? y ¿Qué harían si les ponemos a disposición una API de la tecnología?

        Durante el Mes de Julio evaluaremos los requerimientos y adaptaremos la API a los propósitos que sugieran.

      • En Corvalius venimos trabajando sobre el concepto de RXP. Durante Agosto, estaremos liberando más ideas y lineamientos sobre como trabajar en ese marco. (Sugerencias bienvenidas).

      ¿Qué esperamos de la Comunidad al Respecto?

      Participación. Participación. Más Participación. Es importante que aquellos que se sienten afines a este concepto, compartan nuestra visión y quieran ser parte de ella, co-operen :) en el proceso de evangelización que desde muchos lugares se está realizando. Es importante que los desarrolladores de software seamos conscientes de que existe un paradigma distinto, que tiene un potencial muy grande y está todo por hacerse.

      Estén alerta a las novedades con respecto a la Co-Operación en software. Estén alerta a las sutilezas ;-)

      Esperamos haber dejado clara nuestra visión del futuro y de las tendencias que lo definen. Esperamos que no haya sido tedioso de leer. Desde Corvalius queremos sólo una cosa: “Queremos liberar y hacer liberar más endorfinas.” Sucede que hacemos software.

       

      The difference between stupid and intelligent people - and this is true whether or not they are well-educated - is that intelligent people can handle subtlety.

      Neal Stephenson

      • Share/Bookmark

      Academics, Business, Social, Technology , , , , , , , , ,