Technology And Practices
This page covers the intersection of a number of seemingly desperate topics, that I think initially represented a huge part of what I was interested in when I started working on the Cyborg Institute project: looking at technology, particularly the kinds of technology that hackers and "power" users used. Not in terms of the "nifty new technical capabilities," but rather in terms of how these kinds of technologies allows people to do awesome things. And then I played with the idea further. We see a lot of discussion bout what technology can do, about capabilities and features, but the connection between these features and "making amazing things happen," is often a bit fuzzy and either left to users imaginations or assumed to be a self evident property of the software itself.
Which I don't think represents a safe or reasonable assumption. I don't say this as a criticism--exactly--of the traditional ways of explaining technology, but rather as call for the emergence of an additional dimension of understanding. To get the most out of technology, to be able to make the things we really want to make, we need to understand how we use technology better. The topics here cover a number of topics and some writing and discussion I've done around this project. I'd like to see it grow and expand as necessary, and please be in contact with me if you want to expand and explore these issues further.
Technologies
In many ways, this page is a long stub, and a gateway for the development of more content. Please contribute!
Potential areas for expansion include:
?TextEditors
?VersionControlSystems
?Wikis
?MobileComputing
?OperatingSystems
?DatabaseSoftware
?CommunicationsSoftware
X11 Desktop Software
(and more)
Practices
Crufty, more background on practices
Whereas our discussion of technologies (tools) covers hardware and software that we use to "do things" (write, learn, organize, communicate, etc.) this practices section covers the other the rest of "doing things." Work habits, processes, general work-flows, and so forth. In many ways, I might summarize the entire cyborg "moment" as being the product of the interaction between "technologies" (tools) and practices.
Practices are, of course, very dependent upon the tasks at hand. Computer programmers have a very different set of practices from writers (but not that different!), who have a very different set of practices academics in the humanities, in contrast to academics in the bench sciences, in contrast to journalists, in contrast to media producers, and so forth. Nevertheless, we all use very similar sorts of tools.
This section of the wiki addresses different approaches to using computers, (examples below) via case studies, real life and/or hypothetical questions, and task specie profiles. Again this is just a stub, and you are invited to revise and shape it as much as possible.
?Writing: As a writer myself I'm interested in not simply what software people use to write, but also how they organize their time to write, how we use technology to optimize the research and planning phases of writing projects. What kind of workflows do we use to manage drafts? To create output of our work for publication (even on a small scale.)
?Software Development: ?AgileMethodologies and ?ExtremePrograming are a couple of touchstones for thinking about programing techniques, but there are a host of different practice-related to software development that are worthy of discussion: ?VersonControlPractices? ?BugTrackingPractices? ?DistributedDevelopmentPractices? Particularly in context of open source development communities and the free software movement, but other relevant contexts are also helpful.
?Research For scholars of all disciplines and inter-disciplines the process of research involves a lot of computer and technological interaction. Although there are a great many differences between the practices of ?HumanitiesResearch, ?SocialScienceResearch, and ?NaturalScienceResearch that merit separate consideration the questions are connected and inter-related. Relevant questions include: How do you track information and sources for use later? How do you
?Email: We all use email, but it is an increasingly frustrating method of communication, and it has a way of piling up. Nevertheless, some practices can lead us to be more or less successful at email. ?FilteringEmail, ?SortingEmail, ?UnifyingEmailAccounts and ?DividingEmailAccounts can all provide cyborgs with a better hand up on email.
?Mobile Connectivity: With ubiquitous wireless data connections and powerful mobile devices, from netbooks to smart phones, the cyborg experience is even more immersive than it once was. This presents new opportunities and challenges that must be addressed (in kind) with new practices and approaches to interacting with technology. What works? What doesn't? Discuss.
?Multiple Contexts: In previous eras we could basically assume that people were going to be interacting with a single computer--sometimes two computers for work and home--but that computing tasks were fairly well defined. In discussing "multiple contexts," we're discussing a newer phenomena where many people--myself included--spread their computing around between multiple machines: desktops, laptops, remote machines, netbooks, smartphones and so forth. What practices support context switching? Do any tools help manage context seamlessly? Can the problem of multiple contexts be leveraged productively.
Customized Keyboard mappings: This practice is something that I do a fair bit, and I'm interested if other people attempt to drive their computers with the keyboard to the same or similar extent as myself. There are also a great deal of different approaches one can take to keyboard mappings, which can (and should!) be discussed. Do your mappings follow the conventions of your favorite text editor? Do you consider ergonomics or mnemonics when creating keybindings? What are your thoughts on key-chording? How do you keep bindings in sync between ?multiple machines? (KeyBindings)
(Media) ?Data Collections: With books, music, and videos--conventionally managed in physical collections--becoming more and more prevalent in their digital form, managing these collections becomes a rather significant challenge, and an exercise in developing ?InformalSystems to organize information. How do you organize your media collections? Backups? Synchronizing with mobile devices? How do you discover media? How do avoid being overwhelmed? How do you avoid missing content that you enjoy?
Regardless of "what we do," cyborgs of all stripes and creeds can, I think benefit from learning about the practices of humans, of cyborgs who "do" different things. While I look forward to adding notes on my own usage, I more look forward to learning about your practices and the kinds of questiosn that you would ask about practices in general.
Desktop
Desktop computing is of primal importance to the cyborg encounter, at least in the contemporary sense as the desktop is the primary way we interact with technology. There are many flavors of operating systems, of course (eg. ?OSX, ?Windows, ?Linux, ?BSD, ?OpenSolaris) which all have a subtle effect on cyborg experience, though there may be other conceptual divisions between various specific operating systems: ?UnixLike vs. ?NonUnixLike; ?FreeSoftwareOS vs. ProprietaryOS. While an understanding of operating system and ?operating system choice underlies the cyborg encounter, it's an incredibly low level element.
There are other aspects of the desktop environment and desktop experience which have more demonstrable effect on our understanding of the cyborg encounter. Key software like ?web browsers and ?email clients (and others) which are important insofar as these applications (as a class) are, potentially, becoming platforms in and of themselves.
?InteractionModalities, including ?CommandLine and ?MousePointer are important areas for discussion and work. A key personal interest of mine in these areas, are the (re)integration of command lines into graphical environments: ?quicksilver, ?gnome-do, and ?launchy. Even ?AwesomeBar (address bar in firefox), and other search fields often have ?CommandLine-like functionality.
Given the power and ability of ?OpenSource to develop experimental technology that isn't market driven (in the same sense), it strikes me that looking toward trends such as ?TilingWindowMangers (e.g. ?Awesome and ?Xmonad) and ?object oriented-based systems like ?Squeak and ?Etoile provide the opportunity to investigate alternate methods of desktop interaction.
Thoughts on the direction of this article/section:
(This'll probably get moved to the ?discuss page in time, but for now it seems right to put it here.)
There are obviously a lot of pages related to desktop experience that have yet to be created, and what's here are mostly stubs and in need of some more work.
One thing that strikes me, as being strikingly missing thus far is some sort of history or context. While a lot of the big political/economic struggles in the desktop arena (eg. the Liscencing of Qt, for example, the failure of adoption for Smaltalk-80 based systems in the 80s,) might be a bit pedantic, some background could very productively inform contemporary conversations.
Also, research in desktop computing environments and technology might be the area of this wiki most thoroughly researched in formal-HCI communities. This should, by no means, feel like a limiting factor, but rather an additional resource. Or it would if we had some sort of collection and guide to this literature. So that's a goal as well.
Wikis
At the time of the initial writing of this document "The Wiki" has just turned 14 years old. Several years ago I argued that in some ways the first, most unique, and arguably the most successful hypertext format. While there were others that proceeded it, from which we can learn a great deal, there are few other formats for presenting and editing information in a digital context, that are so integrated into the way the culture of the internet works and the workflow of network-connected collaboration. People know how to begin at the root page of a wiki and look for the material that interests and edifies them. Wikis have also become a centerpiece of many collaborative networked projects including free software and open source and they are an effective tool, providing for good leadership and dedication.
The current status of the wiki, is due largely to the great success of the Wikipedia, which gives us familiarity with a flexible--if heavy weight--wiki engine and a mode for editing and interacting with these sprawling text. Though it is not often apparent from the tone of the "forward facing" parts of the wiki, Wikipedia's community and collection of internal documents is also quite impressive in it's scope and spread. While wikipedia is one example of a ?SocialWiki, others like this one and the c2wiki are perhaps better examples of the ?SocialWiki phenomena.
The key features of a wiki are: automatic link generation, content editable by "all," easy text input, and backlinks.
There are also have ?PersonalWiki engines which allow individuals and small groups to construct wikis inside of desktop software without the need for a web server, though it's possible to limit read and/or write access to a particular wiki if you like the way that the more general-purpose wiki engines work.
The wiki form is a blank slate, and is fundamentally without structure of any kind, though there are tools in many engine which promote structure (eg. tags, categories, back-links). While this makes the wiki an exciting and powerful form for a diverse set of users, it also presents a challenge for the leaders and instigators of wiki-based communities. The basic problem is that while the wiki form and the wiki engines themselves are without structure (StructureAgnostic), wiki communities nonetheless require structure of some sort.
In the context of the ?ciwiki itself, and our conversation of computer usage methods, there are a lot of topics surrounding how we use wikis that would be interesting and relevant for discussions and the presentation of anecdotes, including ?WikiImplementations and ?OrganizationalStrategiesForWikis.
Markdown
I've talked a lot about markdown in the context of editing this wiki, as we're using markdown for our syntax. It's the markup that I use for my day to day work. I use PHP Markdown (Extra) and Maruku as my preferred implementations, but I've read great things about the Python implementation, though I've not had experience using it directly. CyBlog uses Maruku via ?jekyll.
?MarkdownExtra Syntax
Mostly I just use the footnote function, which I quite like, though there are other improvements that aren't "standard." It seems that while the output standard hasn't been established the syntax is stable, and there are implementations of the extended syntax in most languages. --ty
Comparison to other Lightweight Markup
I hear a lot about formats like Restructured Text, Textile, and others, as other similar sorts of tools. From a functional perspective, I'm not sure that it really matters what kind of light weight mark up you use for your own personal text files doesn't matter, but I think light weight systems are preferable to either a) editing XHTML code yourself, or b)relying on a program/WYSIWYG to construct the right kind of code. --ty
The Effect of Markdown
Markdown makes it possible to write nearly everything in plain text files, and for me obviated the need for word processing. Though much of this is probably attributable to: markdown modes in editors like ?TextMate and ?emacs. and the ubiquity of html as a Lingua Fraca for rich text. --ty
Last edited Sun Apr 4 17:18:51 2010