Nexus

Nexus is an experiment and a proof of concept.

If you are looking for an application that can be used immediately and productively, I am afraid you will not find one here. If, however, you are interested in research in the area of hypermedia, wikis, collaborative authoring, read on.

Web, or cage?

The spider's web is a fitting metaphor for what we see online. A web has structure, but not rigidity. Right now, while you're reading, thousands of links in the Web are being created, but just as importantly thousands are being deleted, modified, rearranged.

Such flexibility seems to be lacking on a narrower scale. Can you link from a slideshow to a comment someone left on a wiki? Can you post a graph as a graph (instead of as a large set of pixels only meaningful to the human eye) and modify it online as you do with text? Can you make it part of a home page, a program reference, and a blog post at the same time, like a web page can be virtually present in multiple contexts in the wider web through links?

Rather than a spider's web, it starts to look like a metal web, where information has to adapt to a rigid structure—a structure able to withstand winds but hardly capable of reconfiguring itself—a cage.

A few steps outside the cage

The purpose of Nexus was to try out ideas about how to make the “micro web” (the one within the boundaries of a wiki, a blog, a CMS) less rigid, more like the “macro web”. Below are some of those ideas.

One: smaller content units

Creating content is usually thought of in terms of “creating web pages”, but the “page” metaphor coming from printed paper is showing its age. Today, pages often host comments, smaller pieces created independently from the main content. Both the main content and comments are often “aggregated” elsewhere. The page, no longer the unit of content, by aggregating smaller content units becomes just a unit of presentation.

In this video, content units of several media types are edited independently.

Download/view in external player.

Two: various ways to visualize aggregations

When the page is no longer tied to a single content unit, it also no longer inherits its presentation style. Introducing the concept of aggregation also implies choosing a visual representation for it. Maybe the user does not just want content items to appear sequentially on the page. Maybe he wants them to appear laid out in a graph, with edges representing links between them. Or maybe he wants them arranged in a mind map.

In this video, aggregation of contents from the “Default” context is shown first as a sequence, then as a graph, and finally as a presentetion.

Download/view in external player.

Three: multiple contexts

Sets of links create different contexts. This has been expressed in part since the first wikis, when page names had prefixes that would describe their contexts: DocInstallation, DocConfiguration, PollWishlist, DiscussionCodingStyle, and so forth. This “context” can be made a first-class entity. Links can be added or removed to a context directly. A link going out from the home page might lead to a comment in a “discussion” context, or to the next slide in a “slideshow” context. A link is no longer defined by {source content, destination content} but by {context, source content, destination content}.

In this video, a link already exists between the “Home” content and a comment in the “Discussion” context. The two then get linked in the “Default” context as well, and the comment shows up as part of the larger visualization of the “Default” context.

Download/view in external player.

Status, limits

As a research project, hopefully Nexus fulfills the purpose of getting some points across. However, it comes nowhere near to being an end-user tool, since basic functionality is either not implemented or missing from the user interface—for example, in order to create or delete content one must access the Rails console (!).

(Nexus was also my first Rails application, so please keep young innocent eyes away from the source. Even if your eyes are neither young nor innocent, if you want to do something with the ideas presented here, you would probably be better off by starting fresh rather than trying to make sense of what is there. That said, the code is available.)

Source code

This software is released under the GPL2 license. Download source.

It includes the following third-party software:

And requires the following third-party software:

Syndicate content