Cognitive Objects
Monday May 28th 2011 – Cognitive Objects
It’s a rare quiet Monday afternoon in Potrero Hill San Francisco. I decided to set aside an Anselm day to look at projects and notes and play with ideas.
Joshua Schachter points out on his site some of his frustrations with blogware. I’m going to bounce off of his main points with my own opining:
Authoring – I don’t care for rich authoring. I want a persistent durable ascii version of my posts that I can read, write and edit from a UNIX shell – therefore I deliberately am avoiding overly fancy rich text editing. For me being able to use fast tools like VI and being able to search and manage text is more important than having it pretty. I also MUST have my data coupled to the filesystem – not in a database.
Storage – I actually don’t want to use a database – I want to use the filesystem so that I can put things under revision control, so that I can manipulate things using the rich set of tools that UNIX provides. If I really need full text search or something I’ll index the data separately.
Templating – I agree that this is annoying – especially as blog templating is so different from “stuff” templating where stuff may include projects, photo-collections, music – any kind of rich collection of tightly related data objects.
Hosting – I have my own so I don’t really care – but I do want static views that don’t need to dive into a database just to produce a display. This requires a balancing act because several constraints come into play. There are issues of privacy, issues of not having duplicate state, issues of trying to create rich navigation with what is effectively a statically composed set of html documents.
Feeds – I don’t really care about feeds – do people still use them?
Comments – I was thinking of using facebook like for comments. I do think a modern text presentation system for the web has to allow some kind of integration to the social network – and perhaps this can be outsourced rather than hosted locally.
For me I want to surface not just blog posts but I want a rigorous model of my own data, something useful as a browsing and research tool, and something connected to the real data itself. The kinds of features I want from a personal and or public data viewer include,
Scan my actual files and archives to extract information that can be presented to the viewer. Files can be marked up with metadata such as tags to help with this process.
Allow different kinds of visualizations such as a list view of my activity over time, a map view of mappable subjects, a calendar view and a topic sorted view per tag.
Merge in third party data such as weather and economic climate so that I can see how my activities were affected by change around me.
I see this as a problem of organizing discrete “cognitive objects”. And it is worth asking what is a discrete unit of data – what is a discrete boundary for what we call a cognitive object or essay or concept? I see three kind of basic rules that a good data citizens have to play on the Internet for them to have utility and value:
Digestible. A subject, article, post, project or whatever has to be reasonable clear and understandable – simply well written, organize its parts well. Clearly it has to have a simple static URL and the like.
Connected. It should connect broadly to other relevant projects or ideas that inform it. Ideally those connections should be both ways.
Trusted. An idea should be connected to people who themselves are trustworthy. We extend a network of trust from ourselves through people we trust to the ideas that we trust. This also means that critiques or comments on an idea should be possible and those should be easy to find.
Thinking abstractly for a moment. When you dig down to the atoms of thought there are convenient bundles of ideas that make sense when expressed as a single unit. Personally I’ve always wanted a set of simple recipe cards – a deck of recipes – for simple foods that I could make. But I could also imagine exercise decks, or party idea decks. One could even imagine a social website similar to Delicious or Flickr where you can publish, share and organize simple activities/ideas or patterns into bundles. In that light what would be fun is to allow many people to share small atomic subject matter descriptions – but I think that is a distinct project.
What I’ve done for this more limited scope project is that I rewrote the page generator for my own site to do a deep scan of my projects, journals and the like and to produce a view. I try to have a single knowledge repository – decorating the file-system with hidden files that are web presentable. This is written as a small ruby script and it seems to work quite well – hopefully you are viewing it right now. Clearly it misses all of the other kinds of affordances that one is used to such as being able to leave comments and other social concerns. I could add a facebook like button I suppose to get some of that.
Now what I can do (with where the current implementation is at) is I can project all of my travels onto a globe, or create a timeline of when I made posts, or make a pretty photo page – by lifting my recorded history into a structured format I can start to look at other kinds of views beyond just tag sorted lists and the like.
Next is to add a more formal concept of a “project” so that I can surface full projects that are collections of source code, art, thoughts and the like – rather than just individual thoughts jotted down in say a journal. Strong links between these subjects would let me effectively turn my own thoughts and projects into a kind of wiki.
Like every project one can imagine all kinds of big picture goals – heh in fact a good way to destroy an idea is to featurize it. Nevertheless, for posterity it is worth capturing a few of the things I can imagine having:
A truly collaborative system would be multi-user – kind of like Yammer in a way.
It would allow the organization of data more like a wiki, or a tree graph, with subjects connected better
It would overlay weather and stock market and other externalities on timeline views to provide insight into acts
It might even support a rich text editor like tinymce – although then it is no longer purely presentational
It might have sharded views – so certain permissions or groups only see certain clumps of data
It could even tie into the kinect so I could visually brush through my data
It would be fun to present my data as a redwood forest or other radical views
Tracking upcoming events, life goals, projects, gigs, people and the like – a future planner / vision tool
Tracking of quantified self data; health goals, spending and the like – overlaid against activity
Showing goal dependencies
It would be fun to show a timeline spiral of activity per year – where time is like an ascending coil
In any case – that was the use of a quiet Monday for me.