Buddycloud Proposal

From IKS Project
Jump to: navigation, search

1. Use-Case

buddycloud (https://buddycloud.org/) is a set of Open Source software components implementing a distributed Social Media platform based on open standards, especially XMPP (Extensible Messaging and Presence Protocol), a standard controlled by the IETF (the same institution controlling the HTTP standard).

XMPP is currently gaining new popularity. A chat application using XMPP is now even supported by Mozilla Thunderbird since version 15.

buddycloud is one of the main Open Source projects active in creating the Federated Social Web.

Social Media platforms manage and distribute user generated content. Most of this content in buddycloud currently is simple text, maybe including URLs which are automatically converted to links and/or images when shown to users.

This content is to be semantically enhanced in a way which improves the user experience for the majority of users and not just those who are geeks.

One particular and demanding task is to make these features available for users of mobile devices. A rapidly increasing amount of Internet users is using mobile devices as the preferred device to access the Internet. This is especially true for Social Media applications.

It is hotly debated which technologies are to be preferred to implement mobile applications. There are web applications, native applications and hybrid applications (using web technologies within a native application). This proposal is about a web and an hybrid application.

There are two types of users in the use case considered in this proposal: authors of postings or comments and readers of those postings or comments.

Readers will see more content enhanced by links to relevant web pages which improves their user experience. Relevant pages might for example be about more or less well-known people, cities etc.

Authors will be able to attract more readers of their content by enhancing the text content they create. Such enhanced content is more attractive for readers. It is expected that the semi-automatic processes used to create the enhancements will not pose a significant hurdle for authors. In any case authors can choose not to enhance their text at all.

It is important to note that (almost) all users of buddycloud often change their roles between author and reader.

2. Validation

This Early Adopter proposal is the first proposing using software created by the IKS project in mobile applications.

A main technical problem to be solved to ensure interoperability is about the transmission of RDFa over XMPP.

The mobile web client will be offered to all users of Buddycloud. Most of the content currently is accessible for all buddycloud users. It will therefore be easy to watch how users use this feature and communicate with them to be able to improve the feature.

3 Performance

Using mobile applications poses additional performance requirements both regarding amount of data transmitted and transmission delays. A lot of data transmitted can be expensive for some users depending on their contracts with mobile operators. And in addition to that mobile applications have to deal with the fact that such wireless connections sometimes break down. Both of these issues will be evaluated.

The terms of the contract are :

  • Start of the contract, October 2012
  • IKS components for validation is the VIE integration and the Apache Stanbol
  • Demo system available 20 November 2012
  • Validation interview in 30 November 2012
  • End of contract 30 November
  • Total remuneration of this contract is 6500 Euro

4. Planned Tasks

a. the library annotate.js (http://szabyg.github.com/annotate.js/) which is using VIE (http://viejs.org/) and Apache Stanbol on a server will be modified so that it can be used on mobile devices. For example the disambiguation process should not display a popup but a user interface which is appropriate for the mobile device. To do that a library such as jQuery Mobile will be used.

b. the modified annotate.js library and VIE will be used to create a web client so that a user can request semantic enhancements and then disambiguate when several choices are presented. The code will also be used to create a hybrid Android app, that is, a native Android application which is implemented by using web technologies (HTML, CSS, JavaScript).

c. the enhancements will be added to the text as RDFa attributes. To transmit RDFa enhanced text it will be necessary to define how to do that using XMPP. Currently an XEP (XMPP Extension Protocol) exists, which can be extended. That XEP is XEP-0071: XHTML-IM (http://xmpp.org/extensions/xep-0071.html). It "defines an XHTML 1.0 Integration Set for use in exchanging instant messages that contain lightweight text markup". It currently does not include RDFa. The project will attempt to both define and submit either a revised version of XEP-0071 or a new XEP enabling the use of RDFa to the XMPP Standards Foundation.

On October 3, 2012, there has been some feedback from the XMPP community suggesting to use RDF/XML instead of RDFa in the XMPP messages transmitting the enhanced content: http://mail.jabber.org/pipermail/standards/2012-October/026850.html

d. when the text to be enhanced includes URLs these URLs will be visited and enhancements requested from an installation of Stanbol. Disambiguation using VIE will be done by the creators of postings using the same kind of mechanisms as are used to disambiguate semantic enhancements for the core text of the posting.

5. Online Demo

Both, a mobile web client usable by modern smartphones and an Android application as described in 4. will be made available on the Internet. While the Android application needs to be installed on an Android device the web client can be used by user with a modern mobile browser.

The source code will be released as Open Source.

6. Visibility

The software will be promoted to users of the buddycloud software and in other sections of the Open Source community. This includes the Apache Stanbol community and the W3C Federated Social Web Community Group. One of the developers who will develop the software is one of the chairmen of that Community Group and the CEO of buddycloud Ltd. is member of it.

7. Future / Other aspects

A cool aspect of buddycloud is that a small number of different clients already exists with somewhat different features and designs but with the same set of users ("roster"). The idea here is to add another client installation which can be used by the same users but with semantic enhancements as an additional feature.

So far in the proposal it is only planned that enhancements are to be created by the author of the content. It might also be considered to add an enhancement feature for existing content for readers (including the author). This is more complex for several reasons when the enhancements are to be stored and it is currently not certain how much sense this makes from a user perspective.

It is more important that the authors can improve their own content while they create it. It does make sense that authors can also improve their own content which they already created but so far buddycloud does not allow that.

An XMPP Extension is currently being discussed in the XMPP community which will make changes to existing chat postings possible. Something similar might be used in buddycloud in the future. But that does not yet exist and is not implemented. Such a feature could then be used to semantically enhance existing content.