Differences between Lorea/Elgg/N-1 and Kune/Apache Wave

Lorea is a social network based on Elgg. Its main node, n-1.cc, was very popular in the 15M protests within the Spanish territory.

Technology
Technically, Lorea is PHP-based static multi-page (each time you change page, you make a new petition to the server).

On the other hand, Kune is GWT-developed, AJAX-powered, a single-page “rich internet application“. For example, if you move here and there in Kune and click backwards in your browser, you will see the chat doesn’t move or disconnect, and you can do simultaneous things with minimal interaction with the server. Being single-page, the server and client only exchange the bits of additional info needed.

Twitter used to be a static multi-page web application, but nowadays it has evolved, being more similar (technologically-wise) to Kune (or Google Docs, Gmail…). Such “rich internet applications” behave as if the user interacts with a desktop application.

Real-time collaboration
In Lorea you can write real-time docs using pads (as in etherpad/piratepad). However, pads don’t behave like waves: they are just plain text, that is, you cannot integrate a map, a video, a gadget, or anything there. They also require lots of effort to bridge the different functionalities (user permissions, groups, embedding, federation…) with the rest of the software/modules.

Kune focuses not just on social network communication but on real-time collaboration. Thus, all contents within Kune are waves that allow multiple users to collaborate in real-time (simultaneously) writing a document, tagging a map, building a video gallery, filling a calendar of events, or whatever. In waves you can do anything, not just deal with text. Waves are part of the Kune structure, so they are already integrated in everything, at the protocol level.

Extensions
Lorea can be extended through modules, written in PHP and extending Lorea’s code. Those modules can be integrated and run as part as the Lorea software, the same way as a Drupal module. Thus, different “distributions” could contain different Lorea modules.

Kune can be extended through new tools, written in GWT and extending Kune’s code. The same way as Lorea modules, they can become part of Kune software. And the same way, several distributions of Kune could contain different default tools. However, in Kune you can also build “apps” that run on top of Kune, the same way you can build “apps” to run on top of Facebook, iGoogle or Google+. Those Kune apps are called gadgets (running on waves) and bots (robot-participants in a wave that can perform actions). These are much easier to program, as they don’t require to know the GWT code of Kune, and they can be programmed in Java, JavaScript or Python. Any Kune can have its default set of tools and default set of gadgets… but any Kune user can use the gadgets he/she desires in any of the Kune documents/blogs/galleries/events/etc (the same way a Facebook user can use any apps). These gadgets/bots are the same ones that run on top of waves (from Apache Wave), so there are already many free/libre gadgets developed by third-parties. This app-capability boosts extensibility (as the learning curve for developers to develop gadget is very low) and customization (as users can use any set of gadgets, regardless of the default ones available in their Kune server).

Federation
Lorea implements OpenID to allow inhabitants from several lorea-seeds (servers) move from one to other. Content is also federated by OStatus to replicate it in several networks (descentralizating it), and this allows to have several points to view, edit and comment the content.

Kune does not use OpenID, OAuth or OStatus for the federation, but the Wave Federation Protocol (an extension for the XMPP protocol). The idea is that you would have one account in one Kune, and collaborate with anyone in any Kune server (or wave-powered server)… from your Kune inbox. Any group can have users from several “Kunes”, but also any user can share a personal document with any user with a Kune account. Besides, in the user inbox, she can see all the waves (documents, galleries, events, etc) in which she is participant, in any Kune. Think of it as in email: you have your email account in one particular server, and you can send emails to anyone, regardless of where do they have their accounts. And from your inbox you can interact with them, in an easy and transparent way.

Note that the protocol XMPP is only used for server-to-server communication in the federation of waves, not in usual server-client communication. Kune has also a XMPP-chat but this is independent from the wave protocol. Thus, a username in Kune such as [email protected] can be invited to a wave in Kune.cc, in other Kunes (different from kune.cc) and be invited to a chat conversation from a XMPP chat (such as Jabber or Gmail).

2 Responses to Differences between Lorea/Elgg/N-1 and Kune/Apache Wave

  1. Muy interesante la comparación con Lorea. Que hay con respecto a Diaspora? Están federadas mutuamente? Gracias

  2. vjrj says:

    Este comentario había quedado perdido entre el spam, respondo ahora.

    No, no lo están. La federación de diaspora, es bastante … simple, vamos, por lo que parece se puede explicar en un página.

Leave a Reply