Peer Pressure

Stuff to look at about looking at stuff. From Chris Dent. What?

Archive

Jul
8th
Thu
permalink

Granularity

Or Purple Will Rise Again!

I went to the London Wiki Wednesday yesterday. Jeremy gave an overview of TiddlySpace. Afterwards there was some discussion of how it is different from other so-called collaboration platforms (Sharepoint being one of the examples of things that do it wrong compared with TiddlySpace’s version of right). I suggested that the difference can be discovered by thinking about which nouns have a primary position when describing or thinking about the platform. I suggested that whereas Sharepoint gives primacy to groups and documents, TiddlySpace likes individuals and information.

On the train ride home I realized that this maps well with my views on the actions that are occurring when people augment their collaboration with tools. Obviously there is a group involved—or it wouldn’t be collaboration; but the interaction between tool and information pivots on individuals. Some one reads something, or writes something, or synthesizes something. Each individual member of the group accesses that something, that granule of information, and integrates it into their understanding.

Therefore the job of a collaboration tool is to assist in the creation of granules and augment their distribution and presentation to the individual members of the team so that they can then be used to a) integrate them into their own knowledge or understanding, b) use them to create more. If a system is architected at the level of a document, it is too high level: composition and decomposition of the granules of information which make up the document becomes a major task in the use of the system. Besides being a time waster this is an ineffective use of the computational and cognitive resources that are available.

Computers are really good at moving around and re-presenting information in arbitrary ways. They are not good at composing meaning out of disparate parts. People, on the other hand are really good at composing meaning out of parts; all day long that’s what the brain does. It seems likely that to a very large extent, spending time composing documents for transmittal is a waste of time. We (humans) can and will synthesize our own composition (effectively a virtual mental document) from the relevant parts, especially when able to use tools that allow us to move things around and play with re-presentations.

Comments (View)
May
12th
Wed
permalink

manifestopheles

In late March, early April, I was feeling like I needed to make something. My normal role is making things that are used to make things: backends for web-served stuff. I got into such things because I’m devoted to the idea that an open web that openly serves information open to interpretation opens doors to knowing, being and doing more. So there in late March, with those thoughts in mind I created a thing called manifestopheles which is a front end over a TiddlyWeb store of tiddlers.

Thinking about manifestopheles made me realize that I’ve been so focused on TiddlyWeb for last long time that I had rather lost sight of some of the reasons why I’ve been working on it. Once back in the mood of thinking about those things I allowed myself to be volunteered to present at the 8th Open Source Show and Tell. Here’s a video of me ad-libbing alongside some slides managed by the excellent TiddlySlidy.

Chris Dent presents…Manifestopheles from Phil Whitehouse on Vimeo.

Despite my dancing, ums and uhs, and bad posture, it seemed to go pretty well.

That presentation was centered around why I created manifestopheles: a demonstration of the importance of context (a social thing) in the acquisition of knowledge (a very individual thing).

The following week at TiddlyChat I said a few words about how I creatd manifestopheles. It’s an example of something that uses tiddlers and TiddlyWeb without using TiddlyWiki. It’s a simple HTML presentation with a smidgen of jQuery and CSS diddles on top to enable the interaction. The TiddlyWeb HTTP API does all the real work.

There’s another TiddlyChat coming up next week (Tuesday the 18th of May) at the Osmosoft offices.

Comments (View)
Apr
27th
Tue
permalink

XHR and Redirects

The XHMHttpRequest working draft includes this gem about handling redirects:

If the redirect does not violate security (it is same origin for instance), infinite loop precautions, and the scheme is supported, transparently follow the redirect while observing the same-origin request event rules.

Modern browsers appear to handle this correctly. Cheers to them for following the spec. However, this is quite the pain when you want granular control, from the client side, of whether to follow the redirect. If you want that control, you’re pretty much SOL without changing the server. The redirect gets followed and the response available is the response to the second (or subsequent if there are more than one redirects) request.

From the server side you could detect that the request is an XHR and send a different or special response code which the client could then interpret as needed, but that places complexity in the server that should be in the client.

In many cases, following the redirect may not matter. The client side can ignore the content and carry on as it needs but there’s something sort of fundamentally anti-web in this act of transparently and magically doing more than one request from a client-side programming environment. The fundamental granular piece of the web is the one request/response interaction.

Comments (View)
Mar
15th
Mon
permalink

TiddlyWeb: HTTP for Tiddlers

I wrote a paper about HTTP in TiddlyWeb for WS-REST 2010 and today learned that is was not accepted. Based on the comments in the reviews as well as the titles of those papers that were accepted I think this is an appropriate decision on the part of the program committee. While there is a general consensus that the paper is well written and interesting (3 of the 5 reviewers say the paper was the best they reviewed), there are concerns from some reviewers that it does not make a substantial contribution to the academic field. That’s probably true.

So while it is a bummer the paper did not get accepted, it is very nice to have the comments from the reviews. They were quite enlightening. I also now have a paper I can stick on my website. Please read it if you are inclined and if you do, I appreciate any comments you might have. The official title is TiddlyWeb: HTTP for Tiddlers. Here is the abstract:

TiddlyWeb was created as a web-based storage system for TiddlyWiki, a single-user all-in-one-HTML-file wiki. TiddlyWeb answers the question: Using what we know about the open web, and especially HTTP, how would a system that supports multiple users and sharing of TiddlyWiki content be designed and built? The answer leads to a resource oriented design. TiddlyWeb builds on learning from previous systems. Its design and implementation illuminates useful patterns in service development and highlights common wisdom in systems design. Though sometimes described as a RESTful store for tiddlers, it is perhaps more appropriate to call it an HTTP store. Rather than going into detail on the architecture of TiddlyWeb, this paper reflects on the lessons learned during development.

My apologies for it being a PDF. Despite being a web oriented conference, the normal ACM rules apply: follow the template, submit as PDF. This results in an inaccessible document fraught with problems that others have explained in more detail.

Overall the process has been very positive. I enjoyed writing the paper, it crystallized many thoughts that were laying about latent in my brain, and it’s always nice to get some well thought out feedback.

Comments (View)
Nov
22nd
Sun
permalink

The Synthetic Web

In a recent thread on the TiddlyWeb Google group, I stated:

My opinion is that stuff, i.e. information, should be addressable and reusable. That’s my fundamental number one design goal with TiddlyWeb.

This was while making the assertion that the URIs used for entities in TiddlyWeb should have names and structure that is most meaningful and most useful to the general user who stumbles across the entities while browsing the web, not names and structure that is most meaningful to the developers of the system. Furthermore the names and addresses and reusability are for humans.

Ideally the names should be useful to both sets but when there is a conflict I think the unknown user should get the benefit or assist from the system, not the developer. This is my personal opinion, but because I’ve written most of TiddlyWeb, it shows throughout its design.

The opinion has been active throughout what might be called the second half of my career. The first half could be described as managing information systems, the second half could be described as creating them. The opinion goes something like this:

  • Information exists. However it is represented, it is in a system and can be used.
  • Some information systems exist to confirm what we think we already know or for which we can phrase a fairly concrete question (e.g. “Where is London?” or “What is the definition of ‘information’?”). In these cases, searching or similar interaction models are excellent tools: our inquiry is algorithmically transformed into a query against an index (note an index can take many forms). Think dictionary. Or google.
  • Other information systems are storehouses (real or otherwise) which provide affordances for navigation, browsing and discovery. These allow for that extraordinary thing: learning new stuff. We’re wandering along, soaking up new information or new ways of stating old information and BAM, we make a connection, disparate paths are linked and now we know something. We have made a synthesis of A and B et voila new thesis C. Think narrative book. Or the web at large.
  • These systems that enable synthesis are fundamentally more important than others because synthesis is the source of learning, innovation and change. They drive intuition, inspiration and insight.
  • While data is fundamentally useful to provide authority to new insights, human narrative, human summarization (nee synthesis) is the part that makes you go “hmmm”. In an academic paper the part that thrusts us into the future is the frame: the introduction and conclusion, the setting of the stage and the synthesis. The parts in the middle make the rest believable.
  • Some data can representable with rich syntax that encodes semantics that make it automatically reusable. That is, you can package up data in a structured way such that computation can be performed on it. This is the fundamental premise of the semantic web. Such computation can deduce (deduction: conclusion drawn from examination of facts) true statements such as “Chris Dent is a male living in England working on TiddlyWeb”.
  • Narrative is not so clean cut. It is full of connotation and contextual dependence. What it means must be inferred and that inference is inescapably done in the personal headspace of the reader/listener/participant.
  • Opportunities for innovative synthesis from narrative are augmented by arraying (representing) the narrative within the context which created it in the first place and things which are similar or can be identified as being related in time, place, group.
  • Computers have achieved a special place in the history of information systems because they are the most capable tool (thus far) for easing the task of navigating these multi-dimensional representations of narrative.
  • Critically, thus far only humans are able to perform the synthesis that results in new knowledge and from which new narrative might be created.
  • Often it is but a small piece (microcontent) of a larger whole which strikes the chord that plays eureka.
  • Therefore:
    • Information, especially narrative, should be published in a way that humans can easily make reference to it and use of it as they do the re-representing that is required to engender synthesis. It should have good names and addresses.
    • Tools which enable this publishing should make as few assumptions about the people and tools accessing them as possible, so as to enable as yet unknown ways of (re-)representing the information.
    • Ideally the tools should allow addressing down to small pieces, for clear reference and reuse.

There’s nothing particularly new about any of this. You can distill versions of the same reasoning out of Vannevar Bush, Doug Engelbart and Ted Nelson. Hypertext does a pretty good job of implementing a lot (but not all) of this stuff. The HTTP web does a pretty good (but not perfect) job of implementing hypertext. Wikis pick up some (but not all) of the gaps.

What I’ve been exploring for the last ten years or so are tools which help enable the multi-dimensional contextualizing of information, so that people can blink a bit, think a bit and then nod knowingly. Granular addressability and transclusion with Purplewiki and Purple Numbers. Various tools in Socialtext to get information into or out of the wikis or get some sense of how things fit together (feeds, backlinks, page or resource inclusion, the REST API).

Which leads to TiddlyWeb. Because TiddlyWeb started out as a server-side for TiddlyWiki, and TiddlyWiki is a) already a wiki, b) already oriented towards microcontent, c) a curious hybridization of narrative, code and data, TiddlyWeb starts out naturally in tune with my inclinations. Where my opinions have impacted it are in the efforts to insure diverse storage and representation types, sensible granularity, and strong adherence to being webby, in the open web sense.

Thankfully, many people seem to have the same idea. The open web has always been about people doing the stuff that people want to do with information, with as few restrictions as possible.

Things should have a name, so in contrast to the semantic web, this thing for human learning could maybe be called the synthetic web. Not because it is fake, but because it has been made and is making all the time.

Comments (View)