Think Info

Exploring the information space

Category Archives: Functionality

On third-party transclusion

On 25 August 2014, Sorin Pintilie (@sorpeen, published an article on The Pastry Box Project, discussing a mechanism that would allow content to be transcluded into a web page, by applying an href="…" attribute to a <p> tag. This article is a response to that.

Transclusion is the inclusion of a small element of content from one source into other material, by reference. The transcluded content is presented as an integral part of the final material – at the point of reference – while remaining dependent on its primary source. It is included at presentation time. The principle of transclusion was part of the original description of hypertext, as published by Ted Nelson in 1965.

There are two variants to transclusion. The first, as envisaged by Nelson, is the easier: content reuse within a single publishing environment. Sorin’s article, and this one, deal with the second type: including a snippet of someone else’s content into your publishing. Read more of this post

KISS and the black box

I have been told, over and over, to keep the systems I design simple. The mantra is familiar; we all know it well: KISS – keep it simple, stupid.

Everyone and his half-brother is quoted saying something of the sort:

“That’s been one of my mantras – focus and simplicity. Simple can be harder than complex: You have to work hard to get your thinking clean to make it simple. But it’s worth it in the end because once you get there, you can move mountains.”

Steve Jobs

Now, I have a big problem with how many people choose to interpret this concept of simplicity. There are several ways in which KISS can be applied.

KISS and the black box

KISSing the system

This is the aspect of KISS that people like Jobs have referred to: it is about reducing the set of requirements; eliminating second-tier functionality.

KISSing the system is about identifying the tasks that really need to be supported, and eliminating the rest. If you can halve the number of tasks the system supports, thereby halving the overall complexity, while maintaining 90% of the user-task needs (i.e. the retained tasks are used more than the discarded), your return on effort will increase.

Of course, just because a task is not frequently performed does not mean it is not critical (e.g. a purchasing process involves putting items in a cart, and a check-out; just because the average shopper selects five items before checking out does not mean we can do without the less-used step). Read more of this post