Epistemology of Software?

While in the middle of a UW HCDE committee review of Drew Paine‘s dissertation research proposal, I was fascinated by the first sentence of his project goal:

“The driving philosophical goal of my dissertation is to critically examine the
epistemology of software and its interaction with data in the unfolding of scientific research work.”

Clawing through my memory fog of what epistemology means, I dove for Google. From Wikipedia, I found:

“Epistemology is the branch of philosophy concerned with the nature and scope of knowledge and is also referred to as the ‘theory of knowledge.'”

OK, that put me back on more familiar ground as I’ve spent most of my professional life searching for the elusive path to automated knowledge management systems.

It was late in the day and I needed an image to go with all this text. Up came a link to philosophy for a child (Philosophy with Selvi) that had this image:


Even better, the link had a cartoon to explain it. I thought there might be a chance of understanding until I read:

“Each and every observation that is claimed as evidence requires justification and belief. This brings us to another aspect of justification, called the structure of justification. How do all the beliefs that we hold relate to each other? And how do those relationships between beliefs create knowledge? These are just some of the questions that are asked and answered within the discipline of philosophy called ‘Epistemology’”

Oh, right, this is philosophy so of course we have this unending stream of more questions. Back to what started this information foraging.

What is the epistemology of software? Software is certainly my foundation for thinking about knowledge management, but what is the knowledge embedded in this software development practice? What is this thing or artifact or concept of software?

Careful Skip, you are about to enter the danger zone of recursion and circular reasoning and Theory of Logical Types (which I’d just crashed into with trying to reconcile Actor Network Theory and Activity Theory – it has been a very strange week). I could hear the opening theme from the Twilight Zone getting louder in my head.

Then, Drew reminded me that Lev Manovich’s recent book Software Takes Command ended with a discourse on software epistemology. So I reached for my iPad to bring up my Kindle reader to open Manovich’s book and make some sense of software epistemology.

“One of the key ideas developed in this book is that the computer metamedium is characterized by “permanent extendibility.” New algorithms and techniques that work with common media data types and file formats can be invented at any time by anyone with the right skills. These inventions can be distributed instantly over the web, without a need for the large resources that were required in the twentieth century to introduce a new commercial media device with new functions or a new media format. Use of open source and free software licenses and web-based hosting services repositories such as GitHub encourages people to collectively expand existing software tools, which often leads to their rapid evolution.

“Turning everything into data, and using algorithms to analyze it changes what it means to know something. It creates new strategies that together make up software epistemology. Epistemology is a branch of philosophy that asks questions such as what is knowledge, how it can be acquired, and to what extent a subject can be known. Digital code, data visualization, GIS, information retrieval, machine learning techniques, constantly increasing speed of processors and decreasing cost of storage, big data analytics technologies, social media, and other parts of the modern techno-social universe introduce new ways of acquiring knowledge, and in the process redefine what knowledge is.

“Another important type of software epistemology is data fusion— using data from different sources to create new knowledge that is not explicitly contained in any of them. For example, using the web sources, it is possible to create a comprehensive description of an individual by combining pieces of information from his/ her various social media profiles and making deductions from them. Combining separate media sources can also give additional meanings to each of the sources. Consider the technique of the automatic stitching of a number of separate photos into a single panorama, available in most digital cameras. Strictly speaking, the underlying algorithms do not add any new information to each of the images (i.e., their pixels are not modified). But since each image now is a part of the larger panorama, its meaning for a human observer changes. The abilities to generate new information from the old data, fuse separate information sources together, and create new knowledge from old analog sources are just some techniques of software epistemology.”

Manovich, Lev (2013-07-04). Software Takes Command (Kindle Locations 5925-5935). Bloomsbury Publishing.

What I thought was going to be an intellectual diversion landed right in the middle of my current customer discovery research I’m doing with GroupTie on what data fusion could be most helpful for a new venture. Can reflecting on this opportunity from Manovich’s point of view help me better understand what I’m gathering?

Thanks again, Drew, for making me think and guaranteeing that I will be lost in the world of the epistemology of software for the next week.

As Russ Ackoff would laugh and share “I am still confused. However, I am now confused at a higher level.” Who could ask for more on a gray foggy fall day on Bainbridge Island.

For a humorous look at the wonderful world of innovation and new ventures, checkout Fl!p and the gang at Fl!p Comics.

This entry was posted in Content with Context, Human Centered Design, Software Development. Bookmark the permalink.

2 Responses to Epistemology of Software?

  1. Pingback: Lifelet: He made me think! | On the Way to Somewhere Else

  2. Joe McCarthy says:

    Interesting, on several levels (including potentially higher levels of confusion).

    I find the idea that software is a tool to represent and extend our knowledge appealing (it is a “truth” that I “believe”)

    However, if we accept the axiom that knowledge is the intersection of truths and beliefs, I think we should be very careful about ascribing “knowledge” to the results of data fusion. I believe our skepticism (withholding of belief) should grow at a pace commensurate with the growth of data and ways to combine data. Useful new truths can be discovered, but so can spurious correlations that appear to be truths.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s