What interests me in educational software
I've had versions of this post rattling around in my head for a while because I couldn't come up with the perfect situation to articulate them. I can't keep doing that-- perfect times for things are too rare, and too dependent upon multitudes of imperfect attempts that let you see the right time to move. Cats become good hunters and pouncers by pouncing off the edges of tables when they are kittens. Anyway.
I think that a lot of "educational software" as it stands now is pedagogically moribund, intellectually misguided, or worse. This state of the field means that schools often don't see using software in school as worth it-- they'll have to invest significant time in learning the software, adapting their curricula to it, and arranging the class schedule to accomodate it, only to have it do what the teacher is already doing. Most software out there is supplemental, good for reinforcing what the school is doing or, on occasion, creating interest in something the student could learn more about. More often, it earns the (often derogatory) term edutainment.
Despite the very sound reasons that this state has developed, I don't think that this has to be the case, at all. Much of the software out there that is considered educational is delivering what someone has deemed sufficiently educational content. It's teaching the student phonics, or greek history, or what it is like to live in Sri Lanka today. While those are good things in the right time and place, they're not what computers are best at, according to Steven Johnson (and many, many others).
What computers are good at is process. Computers take input, do things to it, and produce output. As the user varies the input and runs it through the computer, the user learns a lot about the process the computer is putting the data through. As a spreadsheet user gets frustrated with Microsoft Excel and tries different things to get their spreadsheet to turn out as intended, they learn how Excel is manipulating their input. As a gamer tries to ride a horse over hills in Shadow of the Colossus or get from city to city in World of Warcraft, they're learning how SotC or WoW restricts their movement, allows some inputs (actions) and not others. They're learning how to use the rules of the world to accomplish what they want.
Truly educational software, whether or not it's intended or labeled as educational, teaches its user about its processes. Learning those processes and analyzing them looks a lot like what educators call "critical thinking" and laud as a primary goal of enlightened curricula. Kids learn unasked from games, but then are bored by what they're asked to learn in school. Software could be bridging the gap, by giving students rich situations to playfully practice what they're told in school. It's rare to use software in schools in that way, though, and this is one thing that interests me about educational software.
Examples of how that might happen form the core of my interests in educational software. I'm interested in:
- games that communicate concepts rather than facts or situations
- games that are sandboxes, space for simulations and safe practice of challenging processes to learn
- tools that facilitate better writing, reading, thinking, and presentation
- tools that facilitate or augment what teachers are already doing
I'm going to be writing about many topics related to this in textuality.org since it's the core of my passion. Sorry if I didn't explain and defend each of the assertions in this post, as many clauses here clamor for comment. I think this will be one of those posts that I end up using to spin off many future posts, a clause-as-link at a time.
Metamorphosis
Good bloggers write their lives, from the daily details to the deeper ruminations. They share with their readers as their interests change and their blogs follow. I tend to do the opposite: I disappear and emerge new. Hence, as I realized that freelancing wasn't working for me and shifted interests over this last year, I retreated. I locked up-- textuality.org is about hypertext, information architecture, and maybe education; if I wasn't reading and writing about that, perhaps it shouldn't go on t.org.
I think that was the easy, but wrong, route. I'm still interested in hypertext, and how people use linked and dynamic text to discover and forge meaning in their lives. I'm still interested in how technology can turn people from readers to writers and how it can help them see the 'meta' side of their lives, not just the details and how they fit together but the systems that make the details fit together.
That retreat was also largely due to a shift in career. As I began t.org, I moved from Boston to New York and began freelancing on databases. A year in, I shifted away from databases. I wasn't sure where to go, but several opportunities to work in Game Design and educational software came up. I followed them, and here I am now, with things to think and say again but in a new field.
I'm still interested in hypertext, information architecture, and education. Now, though, I've got a specific set of fields to apply that interest to. Hypertext and my interest in it has taken root in educational software, writing software; my interest in dynamic and linked narrative has taken root in game design and digital games. It's my life equivalent of a chapter break, I suppose. For textuality.org is the link to Page 2 or the Next Section. I hope that if you're still reading, you'll follow that link with me.
Tinderbox Technique: drop-stamp adornments
I've been revamping the architecture for t.org behind the scenes, and some nifty features are coming out of my explorations. I'm used to working in the Outline View, which is strange because I'm a very spatial thinker. After watching Mark Bernstein take notes in Map View at eNarrative 6, though, I decided to give Map View another shot. I soon came up with one technique that you could easily adapt to your own files: adornments that act like stamps. This and the pen have made the Map View just as useful to me as Outline View.
As of Tinderbox 3, adornments can have actions. This is huge! Since adornments cover an area of the map view (without taking up space in other views), this means that you can make a section of a Map View a functional 'drop box'. Make a note; drag it so that it touches the adornment; the action is applied to the note. Now drag it wherever you really want it.
Read on for the hows and whys and examples.
An example: canvassing the web
Here's an example. I made a Tinderbox file to organize my ongoing search for freelance work. I do this in stages: I search for postings and leads, drop them into Tinderbox, and then after a round of that I go back into Tinderbox to work on the promising ones. I want to drag URLs into a Tinderbox window, quickly assign a bunch of attributes like how interesting they are and what my next action should be for each, and then I want to move on to the next lead. I can't do all that easily with prototypes because I'd need a multitude of them: "should apply, really hot", "should apply, mildly interesting", "contact for information, really hot" and so on.
Instead, I put a bunch of adornments onto my drop-box Map View, and each assigns a couple of attributes-- some metadata and a visual attribute to accompany it. Here's a picture of the setup, arranged in their own window. I can drag notes to that window so that it functions like a custom OS X palette.
In this window, I'll take a new lead and drag it onto the first column to assign a step in the process, basically a "next action". That assigns it a "to-do" attribute and a border color so that I can quickly, in Map View, see all my next steps. Then I'll drag it over to the second column to assign how interesting it is; that turns the main face of the Map View note into a gradient, with the second color correspondingly bright. I can then quickly look at my Map View to see where my most interesting leads are. Here's a piece of the map view, where you can see the border colors and gradients assigned above.
This has unlocked the Map View for me because it finally lets me use the visual attributes easily without a lot of time assigning and typing.
The quick how to: assigning actions to adornments
This is easy to do if you're comfortable with actions and attributes.
Open the adornment Rename Adornment dialog by choosing "rename" on it or selecting it and hitting 'enter' (not 'return'). In the "Action" field, put the attributes you wish to assign, like this:
AppStatus=ShouldApply;Border=3;BorderBevel=plain;BorderColor=red
That's for my "Apply Stamp" adornment shown in the example above. It flattens out the border, makes it wide so that it's visible, turns it red, and sets another user attribute (AppStatus) so that I can gather it up with an agent later. I could have the agent look for BorderColor=red, but I find it easier to keep track of what means what with a separate attribute.
In order to do the funky gradient (I was so smug about making 'hotness' look like a flame!), use an Action like this:
Hotness=3;Pattern=gradient;Color2=bright red
When you assign a Pattern other than the default, Tinderbox uses the Color and Color2 attributes as the two colors, in this case shading from the default down into Color 2 which I've made the visual for 'hotness'.
Other tips:
- You probably want to make the adornment locked but not sticky. That way you won't accidentally move the adornment, and even if you do you won't start the 'katamari effect' where sticky adornments start gathering other sticky adornments.
- Make the adornments big so that they're easy targets.
- If you have a suite of 'drop-stamps' like this, you may want to make one more that clears all the attributes in case you make a mistake. In my example, those are grey.
- This would be really snazzy for GTD.
CFL: RPG and Hypertext Design
This is a quick Call For Links. I'm currently designing a role playing game setting, and all the reading on RPG design has me thinking. Similar challenges arise in writing interactive fiction, writing 'literary' hypertexts, planning a session/story/adventure for a role playing group, and designing digital games with interesting plots. If you have a link, please write (and say whether you're comfortable being credited by link and how).
- How do you give the reader/player authentic agency while still propelling the narrative in a meaningful direction? (Can you?)
- What RPG devices, especially game mechanics, facilitate or restrict narrative agency?
- What are useful techniques for adapting an existing story or setting written around a single protagonist to make it interesting for a group of collaborative players?
- What are useful techniques for making a hypertext or interactive fiction appealing to a multitude of reader/players with a variety of goals and modes of play?
I'm looking for good readings specifically about the parallels between hypertext and RPGs. There seems to be a lot of thinking about one side or the other (especially about digital games), but I've found little on the interaction of the two pursuits. If you have a link, please write me. I'll make a follow-up post soon about what I've found.
MMORPG research help?
I've got a friend working on a new site who has some questions about social finance in MMORPGs. If you play Everquest, WoW, or really any of the online worlds and would be willing to share an email, IM chat, or a phone conversation with him, please contact me. He's a nice guy with a cool product and I'd like to help him out, but am not in any of the games myself.
(Edited: They've implemented mmorpg currencies already. It'll be interesting to see how their social service translates into the digital realm)
Remix culture
Weblogg-ed News posted about a recent Lawrence Lessig essay about the "Read-Write Web" in the Financial Times. The article caught my eye because it disusses Anime Music Videos, and I like AMVs. But I stayed, and read the article to friends, because the article is really good. It uses AMVs as a case study for looking at trends in copyright on the web. As technology increasingly enables people to not only consume media but to remix, retell, and share it, the potential is vast --as is the loss we face if we successfully prevent such creativity.
Lessig also makes a few points I haven't seen others making so directly, including the fact that we do this anyway. We retell stories to each other, we recreate movies to our friends as we complain or rave about them, and we fuse media constantly in our daily life in an effort to refine (or communicate) the effect that consumed art has upon us. Have you ever put on somemusic at a party with your friends because it created the mood you wanted? Have you put stickers on a notebook because they made you laugh, smile, or made some comment about what you were sticking them on? These are retellings, and the only real difference between them and an AMV is that technology has allowed the AMV to be more polished and more widely available.
Lessig ends the article with a great question to Wind Up Records, which recently forced an AMV community to remove all videos with Wind Up Records music: Now that you’ve succeeded in stopping thousands of kids from spending hundreds of thousands of hours to make fantastically creative content that promotes your work for free, do you really expect to sell more records next year?
I can cite personal example after example where his point applies to me. I found the Faithless song Mass Destruction in an AMV and almost immediately went to the iTunes Music Store to get it. I've bought several albums because friends put them on mixes and I wanted the rest of the album.
This is in my hypertext blog because I think the problem is a hypertextual one... how do you give credit (in any sense) for transclusion? What sorts of currency navigate the links formed by transclusion, and how do we formalize that exchange? For years it has been a clear sign that someone Doesn't Get It about the web if they demand that you get permission to link to their site... and yet that's what cracking down on AMVs is. Heck, in a larger sense, by linking to those posts I am adding them to my own narrative in a (very diluted) form of transclusion, just as I was remixing Lessig's article as I read bits of it to my friends. I don't think these acts --discussing, linking, remixing-- differ in form but rather in scope... and I don't think the difference in scope changes the message.
Physical Pleasures
A few weeks ago my cute travel mouse broke enough that I stopped using it. Then the left (primary) button on my 2-year-old Wacom tablet mouse went on the fritz. Left mouseless as a FileMaker developer and Tinderbox addict on the Macintosh, I moved quickly to find a replacement, and decided to give the Wacom pen another go. I'd tried it for a day or two back when I got the tablet and couldn't get the hang of it. I use two monitors most of the time and the tablet couldn't map the proportions, the pen-side buttons were ungainly, etc.
But they've really improved the drivers, and this time I was forced to use it long enough to get used to it. And I won't go back soon because I'm really enjoying the physical sensation of using a pen for my text-work. It's thrilling to drag windows around with the pen like I'm drawing, and it feels so right to make a highlighter motion over text, then drag a link-arrow (in Tinderbox) from the text to another note to make a link. I made the main button on the pen into ctrl-click and it feels like I am really grabbing links and icons and pulling the contextual menu out of them.
All this time I've preferred to do initial hypertext sketching on paper because of the freedom to whip links to and fro with abandon, to turn notes on their sides or squeeze some more text in. There are still advantages to doing that, but I'm surprised at how much of my preference seems to have been the thoughtlessly intuitive motion and the physical pleasure of drawing with a pen on paper. Using the tablet in Tinderbox and FileMaker has brought some of that pleasure back into the digital side of that work.
Changes on the horizon
t.org is over a year old and it has been the better part of that year since I made any architectural changes to the site. With Tinderbox's inclination toward exposing emergent structure, the site has been feeling a bit long in the tooth of late. Debugging The Elephant on Main Street has also given me a few tricks and techniques for working in and exporting from Tinderbox, too. Tricks like making sections of the templates depend on if/then statements, and how to get agents to export intelligent indices of your site.
Which is a long-winded way of saying: This site is under construction. Pardon our mess. We apoligize for any inconvenience while we work to serve you better. I'll spare you the construction-sign animated gif, at least.
Tinderbox Worklog Template
This blog has been quiet for quite some time while some big things have been afoot: I moved to a new city, changed jobs to start freelancing, and those are just the beginning.
The freelance work has forced me to get more organized on a number of fronts, and one of those fronts is how I track and report my time and my work. Tinderbox was a natural place to start gathering my work because I knew the shape of my notes was going to change, and because I knew that, pretty soon, I'd want to share my notes over the web and make invoices for my clients and partners. I set up a Tinderbox file that would:
- export part of itself to the web, but could ...
- ... contain notes that were not shared
- automatically report on my hours and generate text file invoices
- track what I've been paid for and what I am owed
- include notes with web links relevant to my work and all the 'scratchpaper' I could ask for
- be modular enough that I could copy and adapt it to a new client in a few minutes
That last feature also makes it worth sharing with others. It's easy to have Tinderbox files that become a part of your mind, that reflect the way you think, and therefore are difficult to pass on to others. I put in a few extra hours to make my file modular enough for my various projects, and it's therefore modular enough (I think) to share.
They're here as a Stuffit file: www.textuality.org/templates/sprice_worklog.sit
Enjoy!
Sir Vey has really filled out
Ten minutes and:
Via Doug Miller (but only because Alwin is lower on my feed aggregator list). I've been trying to keep the posts in this blog more topically relevant and less bloggy/personal, but what could be more an exploration of hypertext than a survey of webloggers in the superset-hypertext of the web?
While I'm at it, though: the setup for the summer programs is going well, and today's first day of classes seems well. I got my first strike in the NYC school job market. I taught a sample class for fifth-graders and had them build a simple wiki about a recent unit. It went well enough to write up here, but not well enough for the position. Perhaps next time!
Mapper 2.0
The Tinderbox community comes through once again! Not long after I posted a quick exploration of exporting the Tinderbox map view to the web I began getting suggestions and further thoughts. Mark Anderson stepped up and did what I couldn't because of time and expertise-- he figured out how to get Javascript to wrangle Tinderbox's attributes into a proper display. And as this is a debugging process, he found a couple of challenges that I hadn't tested for.
from Mark
Since Mark Anderson doesn't have a blog, I'm posting a bit about the process as he described it to me in email. Basically, rather than have Javascript somehow find and then be able to change the CSS attributes once they're in the page, he used Javascript to build the page.
Clever! That results in code that is much cleaner and a bit less flexible than what I'd contemplated. I'd figured that if the page was exported directly (in its nice-but-miniature form) and javascript was used to *fix* it, then JS could be used to scale it flexibly by changing the multiplier. I suggested that and he then built another version which is ready to 'zoom'.
There were a few other challenges he overcame. For one, it's possible to get negative values for map position... shame on me for not flinging notes to the far reaches of the map view to find that. While it's okay to have negative positioning values in CSS, you don't get to see them-- Mark's code shifts all the values to positive so that notes don't start off the web page. Also, my guesstimation of "3 em" per TB map unit is just that-- an estimate.
I'm so glad he took this on, and that Mark Bernstein apparently chipped in a few suggestions ... as the next t.org post shows, there's no way I could do this coding now.
Here are some other 'gotchas' he described. Did you find them in my code? <grin>
1. You need to set the Map <div> to sit 'absolutely' below the title. I've hard wired this in both the TB (user attributes) and the templates (fixed values) but the latter could be automated.
2. You must have declared the <style> and <div> tags *before* the JS addresses them . This explains the order of some of the tags.
3. CSS 'outset' for buttons doesn't use TB or CSS colours - though you can supply the latter if you could figure how to work shades of the 'chip' colour (too much fiddling IMO). The result is flat colour button 'sides' - not the nice TB emboss shapes.
4. CSS buttons are added outwards (button gets bigger). In TB, the border is applied inwards.
5. The strange check for colour #6f0000 is a trap for TB's undefined colour value. Why #6f0000 I've no idea.
Some Assembly Required
One of the challenges I saw in my initial experiment was to make the solution drag-and-drop, plug-and-play, or what have you. I wanted someone to be able to take it and use it with their existing file and then forget about it. Mark's solution almost (but not quite) does that.
MapMyChildrenJS uses a couple of User Attributes that don't come in a new Tinderbox file, and that means that you have to add them. It's near enough that you can define them once, give them some defaults, and be ready to go, but if your file doesn't have those attributes, the result will be functional but not pretty. In my case the result was too big, and some text wrapped strangely. Not a fatal flaw by any means.
The new attribute is: MapNameFontSize , a number attribute spelled and capitalized exactly so, and with a default of "12". Without this the resulting map seems to be large.
Look at Mark's test file to see some other attributes. Most of them seem to be for testing, but there are a couple more that deserve a look, like TitleFontSize.
MapMe files
There's still no way to get link lines going, which is sad since finding patterns in link lines is a major source of serendipity when using Tinderbox. Since adornments aren't exported at all, there's also no way to display them. Even with those limitations, these templates could work well for the occasional export of a cool map view or for Tinderbox hypertexts which rely on the basic diagramming that the Map View allows.
Note that the file names are different, so if you would like to use the old (flawed) templates I came up with, they're still around. The new files are:
Tinderbox Map View for the Web ... almost
The other night on my bus ride home a stray thought about CSSimplicity touched off an idea for exporting the Tinderbox Map View onto the web. I've wanted this for a good while, but the only method I could think of for getting a working map view to the web was a screen shot doctored in the HTML to be an imagemap... not exactly a scalable solution.
However, with CSS you can specify everything about an element, from visual styling to screen positioning. Since Tinderbox gives ready access to all of the variables that make it work, a bit of poking around gave me a fair approximation of the map view with only two fairly simple export templates. There's one hurdle left that I think will require some non-trivial javascript, so before I muddy my pretty templates with javascript code, it's worth writing up the TBox and CSS bits-- along the way I learned a bit about the way that Tinderbox works and the what CSS can and can't do.
The Big Picture
The big picture is fairly simple: figure out which Tinderbox attributes correspond to which CSS properties. This meant a set of test notes:
... arranged in a rich map view where I can tweak things and see (through "Get Info" on the notes) which attributes change:
With that setup, I can have "Get Info" open and watch all the map-related attributes change as I move a note or change its color or play with fonts:
Table of Equivalents
I got the following as rough equivalencies. The ones in italics didn't fully work in my experiment.
For the Map View note (rather than the child-notes in the map view):
- title's background-color: TitleBackgroundColor
- title's font-family: TitleFont
- title's text color: TitleForegroundColor
- map area's background-color: MapBackgroundColor
For the child-notes in the map view:
- CSS: Tinderbox
- top: Ypos - didn't work because of units, see below
- left: Xpos - units again
- width: Width
- border-width: Border
- border-color: BorderColor - Tinderbox gives white text if the color is dark, black text if the color is light. There's no way to automate that cleanly in export or CSS
- background-color: Color
- font-family: NameFont
- color: NameColor
Take Car(e,at)
Once I figured out what made what, I built the styles but put in export codes where the values should be. Word to the wise: don't forget that Tinderbox export codes can be listed with or without a trailing carat. These two are equivalent:
<p>^get(FunnyNumber) the number comes out</p>
<p>^get(FunnyNumber)^ in both of these cases</p>
However, if you want something to immediately follow the export code, you must use the trailing carat. Otherwise Tinderbox doesn't know where the export code ends:
<p>^get(FunnyNumber)no number</p>
<p>^get(FunnyNumber)^number</p>
And ... not quite.
So far I have two export templates. One, "mapMyChildren.html" which is called for each note, and which generates the html page and the 'map view'. Inside of that is this code:
^justChildren(mapMe.html)^
... which calls another template ("mapMe.html") to make the <div> for each note. (Right-click or control-click and choose "save link as" or "download link as" to get those files, btw.)
However, as you'll note from this browser window screenshot, all is not well:
The problem is that Tinderbox's X and Y coordinates aren't in pixels, inches, or ems-- the units that CSS understands. Trial and error showed that Tinderbox's units are about 3em. But you can't do math in an export, so there's no way to say:
^get(Xpos * 3)^em;
I think there's a way around it with Javascript, and if it works it'll be nifty: you'll be able to zoom in and out with the Javascript multiplying the dimensions as you go. However, as is always the case with Javascript, I anticpate this a) taking forever and a day to code, b) taking another half-forever to make cross-browser, and c) making a Jackson Pollack painting out of my currently Mondrian code.
In other words, don't hold your breath until it's done. I'm going back to CSSimplicity later this week.
There are some other things that this could use: CSS properties to make the text wrap at a fixed note width and not to extend the div if the text is too long for a fixed height. Borders, which Tinderbox handles in a tricky way.
But, for now? I'm elated that I got this much to work in about 45 minutes. It's a testament to the transparency of Tinderbox.
CSSimplicity p.2: Now With Style
Last week I wrote the first in a series of entries about adapting the Tinderbox Simplicity template to CSS. The first step was to analyze the existing template to glean its structure, and I marked up the stylesheet and the html of a sample page to do so.
This next step, then, is to move it over to CSS. I'm going to take it slowly and with lots of explanation, because figuring out exactly where CSS ends and HTML begins was tricky for me.
Two disclaimers: First, I'll walk things through, but I'm assuming that you have a very, very basic level of CSS. I'm assuming knowledge of CSS Syntax. If you're not sure, scan that link-- that one page is what I'm assuming you know.
Secondly, I'm being "thorough", by which I mean that the end result will be a bit more complex than the Simplicity template. The HTML will be simpler (without the tables), and the templates will be simple and easier to edit, but the stylesheet is going to be rather longer than the old one so that more of the page is stylable. That extra complexity will hit in this post, so if it seems confusing, shake it off and go to the next post.
I'm being thorough for two reasons: First, I want to be able to do CSSZenGarden-like styling, and that means having the CSS mirror the semantic structure of the Tinderbox notes. Secondly, being this thorough means that the CSS can mirror the semantic structure, and that in turn means that your visual style can more clearly indicate the semantics. I.E. You can make your blog easier to read and navigate.
The whole thing is turning out to be a bit more of a process than I thought, so it might take two steps. Here goes.
Templates Wanted: Inquire Within
Looking at the marked-up sample page from the last step, there are several things going on. The table breaks the page into four main parts: a header, a sidebar, a body, and (outside the table) a footer. Inside of those sections, we know by the structure of the Tinderbox file that we have several 'sidebar' notes (About this site and blogroll) and several 'body' notes (Each note is timestamped and Design by Derek Powazek) and several 'footer' notes (Navigation, Copyright).
An export template turns a Tinderbox note into a chunk of HTML, so to produce that page we'll need templates that produce the HTML for the sections of the page that come from notes. We'll need
- a template that produces the page (bwPageTemplate.html)
- a template for the body notes (i.e. the blog entries, item.html, which we'll make "post.html")
- a template that produces the stuff in the sidebar (sidebar.html)
- and a template that produces the footer.
We don't need any other templates yet because the other stuff --title, 'made with tinderbox' logo, dividing lines on the page-- don't correspond to Tinderbox notes. They're just HTML.
Here's a quick picture made in the Map View out of adornments which shows the structure of the page and its html templates. I'm not sure why the names are of different brightnesses.
And, in fact, we have those templates. We just need to adapt them to use CSS.
Templates, Level 2
A quick note before moving on to styles: We're fine right now if we want to create a site just like Simplicity. It has pages with a bunch of entries on them, and the entries are one TB note each. That's all. If you want to do more, your templates get more sophisticated accordingly:
If you want your entries to have child notes, you'll need a template to make them appear on the pages.
If you want your entries to be pages unto themselves so that you can do "crazy things" like link between them (I've heard the term "Fagerjordian" applied for Anders Fagerjord's Surftrail) then you'll need a template that is ready to put a post on a page rather than a bunch of posts.
If you want to combine these ...say, *blush* have entries appear one way on the front page of the site and a different way on their own unique post-pages, plus have child notes in both cases... well, I'll get to that. Someday.
Styles Wanted: Inquire Within
CSS is very flexible. Styles can be any combination of attributes you might change about text. Styles can "cascade", meaning that if you tell a paragraph to be green, and then have a style that's bold but doesn't have a color applied, the 'green' cascades down into the bold section so that it's green and bold. When you take a bunch of styles and group them to apply to text, that's a class, a class of text. So we need to figure out what classes we need in our stylesheet.
We need classes(s) for all the situations where we want to affect the appearance of the text. If we want the ability to have our posts outlined or in a color or spaced a certain way, then we'll need a style for them. If we want the sidebar to appear in a certain place on the page (or have the flexibility to appear on the left or the right without changing our HTML templates) then we'll need a class for the sidebar. If titles are bold, we'll need a class for them. If links are colored and get an underline when you put the mouse over them, as is the case in Simplicity, then we'll need a class for links.
So, brainstorming, we might want styles for:
- the header section (to position it)
- the title of the blog
- the tagline of the blog
- the sidebar (to position it)
- the individual notes in the sidebar
- the title of a sidebar note
- the body of a sidebar note
- the body (to position where the blog entries appear)
- the title of a post
- the body of a post
- the footer (to position where the footer goes)
- the text of a footer note
In the case of Simplicity, we've got a few exceptions to the style of the sections:
- links
- dates of posts
- list items that appear in the sidebar
Note that I'm being (overly?) thorough with that list. The original Simplicity gets away with styles for just: text, heading, tagline, date, sidebar-head, sidebar-list, link.
IDs, Divs, and Spans
To replace the tables in Simplicity, we'll want two different kinds of classes: classes which determine the appearance of text wherever it is on the page, and classes which determine where on the page the sections are (basically, which replace the table cells). We can't conflate the two because then we'd have all of our ... oh, blog entry titles appearing in the same place on the page, or we'd have our sidebars all over the place (but pretty!).
The final html page will have style classes applied in this structure, then:
Notice how this mirrors the structure of the html export templates on the page. This means that the html export templates are going to be pretty simple (in the next CSSimplicity post).
Building the new stylesheet
In CSS, if you want a class to apply to only one <div> then it gets an ID Selector, and appears in your stylesheet like so:
- classname{stuff}
So all those styles which place things on the page are going to go in our stylesheet as IDs.
- headerFrame{ /* the frame around the entire header */ }
- sidebarFrame{ /* puts the sidebar in place */ }
- bodyFrame{ /* the frame around the whole body, probably for positioning */ }
- footerFrame{ /* puts the footer in place */ }
Then we can put in the classes that will get applied one to each note. There will be many of these, so they're a regular class. On the other hand, we supposedly don't know what sort of html thing these might be applied to, so we'll include them as classes independent of the html element. It's almost always going to be a <div>, but we need to be open-minded so we'll leave out the selector.
.blogtitle{ }
.blogtagline{ }
.sidebar{ /* an individual sidebar */ }
.sidebarHead{ /* the head of a sidebar piece */ }
.sidebarBody{ /* the body... */ }
.postHead{ /* the headings or titles of the blog entries */ }
.postBody{ /* the text of the blog entries */ }
.footer( /* in case we want to surround multiple footers like sidebars */ )
.footerBody{ /* the text of the footer */ }
We can't forget the basic HTML selectors, which we can bring right over from the old Simplicity stylesheet. These should appear at the top of the stylesheet, but we'll get to that:
a:link { /* each of these from before */ }
a:visited { }
a:visited { }
a:visited { }
p { /* all paragraphs will get this unless the others override it */ }
body { /* will define the way the body appears, unless overridden by bodyframe */
We Made Progress, right?
Now that we know what the styles should be, we can plug in the old styles. Add some comment headings for readability and we have a stylesheet framework.
Next up: Ridiculously simple template making.
ETA: Added pictures
I realized that the diagrams I've made of the html page re: exports and re: classes might help, so I've added them and moved the text around a bit.
Buttons!
I've gotten in on the badge-sharing that has been going around. There's now a "BBEdited" button in the sidebar, made from Vlad Spears' photoshop files. and you're welcome to it.
If you want to make a suite of your own "80x15" badges, there are some nifty tools out there for doing it: one that seems to have started the trend (and generated some controversy) and one that lets you put in small images. I didn't use either because I liked the 'pop-out' graphics of the 2Second(Fuse) badges, but it's a place to start.
ETA: BBEdited
Vlad Spears posted the photoshop files for the 'badges' on his site. I adopted several and made one to pass the love to BBEdit. I've done all my HTML editing (and a fair bit besides HTML) in BBEdit since 1997. Feel free to grab and/or cannibalize my badge for your own site.
Syndication!
I've come up with a title for this post that makes it sound like a musical, but the fact remains: I've put up a simplistic rss feed for textuality.org. I'm still playing with it --trying to include html and links rather than just plain text broke it for LiveJournal and NetNewsWire-- but it is up and working. Thanks to Doug Miller for suggesting the feed and for advice.
ETA: Full Text
As this edit indicates, I've changed my RSS feed so that it does full text on the entries and doesn't break. I'd been holding off on full-text because I couldn't get html to work, would have to add children and build a template for them, etc. Alwin pleaded to the world at large, Doug Miller sent advice, and now it's working.
It still doesn't validate, so I've got some work to do. Once it does, I'll post some advice. The (several-year-old) Simplicity export templates have a few problems out-of-the-box and it can take a while to figure out the fixes if you're new to syndication. In the meantime, here are some sites that explain how to set up your own RSS feed. Tinderbox (and the Simplicity template) does a lot of the work for you, but if you're having trouble, these might help you diagnose the problem.
CSSimplicity Step 1: Analysis
I'm making some new templates for Tinderbox. I'm doing this because I think that Tinderbox could use some well-structured, simple, elegant templates that really use CSS. I'm doing this because I think that CSSZenGarden is one of the coolest sites I've ever seen. I'm doing this because it's hacking in one of the nicer meanings of the term. While I'm at it, I'm going to log the process so that you might follow along if you're learning Tinderbox, CSS, or both.
Overview
Overall, the editing process is simple:
- vivisect the current design - tweak it and see how it works
- edit its structure by editing the templates - so that you get a page that looks like it has but works the way you want to
- edit its stylesheet - until it looks the way you want
In practice, I have found it useful to take a sample file of output (you do have that "index.html" from the old site handy, right?) and make its html look great with the new stylesheet, then chop it up to make the templates behave accordingly. That's mostly a difference in the way you do step 2, though. You might have more success, especially if you're just experimenting with stylesheets, if you follow the process summarized above and detailed below.
Make the old elements visible
First I had to vivisect the existing stylesheet, which to me means exposing the innards by making the elements visible. I went in and gave borders to all the named styles in the stylesheet. To each style I added:
border-color: #000;
border-width: 1px;
border-style: solid;
... I left html entity styles alone, so this stayed:
a:link { color: #06f; text-decoration: none; }
The resulting page got ugly, but I could see where styles were (and even more usefully, weren't) used:
I left some of these borders in until I was done. I also then made the table borders visible:
<table border="q" width="85%" cellspacing="20" cellpadding="0"><tr>
Now I have this, and I can see where everything is. If I really wanted to, I could start adding colors to the styles or to table cells in order to pinpoint specific elements.
I think I've got it down now, though. The next step (and the next entry) will be to make a new html file, and from it new templates, that are ready to give that same layout but with CSS rather than tables. It's worth asking-- why? There are two reasons. First, by making your html use CSS you're separating the content from the presentation. The html that results is *much* easier to read because it pulls the html junk out of your beautiful entry. Secondly, if you are using CSS to change the layout, you can do crazy things like CSS Zen Garden does. If I have my way, the end of this process will be one set of templates, three stylesheets, and three completely different looks.
ETA: Actually, Styles
I was going to to tables ->CSS next, but that will have to wait. I need to get the stylesheet ready first.
Hypertext Among the Blogs
One of the wonderful things about personal weblogs is how they cross categories. I may for this site start reading a blog because it mentions hypertext on a regular basis, but then I get to read about good food, or electronic music, or real estate... and maybe how they relate to hypertext. And if I'm really lucky, the blogger has properly categorized their entries into a nifty index.
I don't want to add all of these blogs to textuality.org because this site has a sharp focus which I want to maintain; nevertheless, I think t.org needs a collection of the relevant categorical focii from them. So in this entry, the subtopics should end up in the Categories list rather than this entry itself, and each is the 'hypertext index' from a spiffy blog.
And yes, for the record, I hate the term 'blogosphere'. I want a term for 'the set of weblogs' that doesn't sound like a 1st Edition D&D monster.
The Great Lettuce Head on Hypertext
Steve Ersinghaus' Great Lettuce Head touches (as advertised) on: fiction, English Literature, New Media, Writing, and technology in education. And it has a hypertext category.
Something Different on Tinderbox and Blogging
Doug Miller doesn't have a hypertext category in his blog per se, but his Tinderbox, blogging, and education categories are all relevant to t.org's interests.
NoCategories on Hypertext
Dylan Kinnet's NoCategories' largest or second largest ... category ... is on hypertext.
Kottke on Web technology
Kottke.org doesn't have a category on hypertext exactly, but does have a section on web technology, and that seems to be where the hypertext issues that I'm interested in fall. I need to write about "hypertext" vs. "the web" since that's such an FAQ whenever I mention the term.
URLGREYHOT on Information work and Education
Michael Angeles confusingly lists URLGREYHOT's categories as separate blogs. Regardless, the content is interesting and the topics closest to the heart of t.org are the information work blog, Education, and the Education blog. Even if he is into homeschooling.
It looks like "Education" is separate from the "Education Blog" in that, like t.org, the site contains things which are outside the blog and exist in a broader hypertext.
Tinderbox is taking me over
I haven't been posting much here on t.org because my "hypertext time" has been spent on tasks other than readings... and t.org is supposed to be a log of my readings. However, Tinderbox has been making those distinctions --between reading and working, between working and hypertext study-- a bit fuzzier. This has happened in several ways.
Montage is a part of my work now
Montage is a part of my work, now. While I've been using palettes for some time in sophisticated applications like Photoshop, palettes serve a central window. It's a montage of a central text with auxiliary, modifier windows. Since Tinderbox Weekend, I don't tend to have a central window.
I've been using simultaneously open windows much more consistently. I keep an outline of my categories for this site open so that I can cross-reference new writing easily with links; definitions are open in another window all the time so that I can write a new one quickly when I realize I'm not being clear; since the references to further readings have been growing nearly geometrically, I've generally got a window open to my "pending readings" where I'm dropping URLs from the web.
None of these windows is particularly central. There used to be one privileged window in the center with an explorer view on the whole document, but since I've wanted to have more than one text window open at a time, that has fallen out of my routine. Now there are windows all over the place, and the connections between them are central.
This behavior has bounced back into the other applications I use now. I frequently have my mailboxes window open in Eudora now, and several different OmniOutliner documents visible at once for different areas of my work. This would have seemed crazy to me not long ago.
More like an organ than a piano
I've been using Tinderbox more like an organ than a piano. I've usually got several windows open, sometimes several documents, and I'm working in all of them. These URLs go over here, until I decide what to do with them, I've got a thought about that, which really deserves to be in map view over there, and so on. Sitting back and looking at it, I feel like I did watching my great-grandmother play an organ-- there are keys everywhere, buttons here, stops there, rows of keys where the hand most needs them, and then the pedals!
A major benefit for students working with hypertext (more on this in another post) is that it often forces you to self-consciousness about the structure of your thinking. It's been interesting to watch the structures that emerge as I work in Tinderbox. Which windows stay open? Where do I tend to put windows on the screen so that I can use them (or what's under them)? I've had several map views coalesce when I realized that I was starting to group some text windows near each other so that I could show them all at once and in a montage.
I've been using pianos, and now I'm making my own organ.
A rich if boxy sketchpad
Everything is going into Tinderbox, especially if I don't know what I'm going to do with it. Since I can write content and meta-content, put them side-by-side, and then have the meta-content never get exported, everything can go into Tinderbox. And it has.
In the last few weeks, I've started or used Tinderbox files for:
- a revision of my old gaming site
- this site
- the beginnings of a job search
- notes on an RPG that I'm in
- random thoughts on fairy tale retellings, which have been on my mind
- tutorials and templates I'm making for Tinderbox
Some of these will never leave Tinderbox, and others are for the sole purpose of making another (web-based) hypertext. The line between work and hypertext work is not so clear as it was.
New archiving system!
Inspired by Mark Bernstein's site, J. Nathan Mathias' Notebook of Sand, and others, I considered my archive system and realized that it wasn't going to scale.
Scalability Problems
- The "archive" note in Tinderbox was going to keep growing, leading to an archive.html that was both broken in its template usage and expanding with each entry
- I would have no easy way to make a calendar with month-by-month summary pages like those on the two blogs mentioned
- As the archive grew in my Tinderbox file, any time I opened it in outline view I would get the whole thing. To work with notes after the archive, I'd have to scroll past a list that is already longer than a screen.
Solution
So I set up a system like J. Nathan's, with year and month notes, and entries are children of the months. I'll just keep the latest month open, and since the years are children of the archive note (thus keeping descendedFrom(archive)=true), my agents still work. The challenges were twofold.
Legacy Links
Problem: Others have linked to existing entries. While Tinderbox easily accomodates this dramatic architectural shift, the static links of the web don't. I have to leave pointers from the old system.
Fixed: I made aliases of all the existing notes (not that many, really) and left them in the archive note. I exported the whole kit and kaboodle one more time. That created proper pages like I used to have. Then I tossed all the aliases in an unexported note. That keeps them around, their exported html is still hanging out in the export folder for the site, and if I ever forget and delete the legacy files I can pull the aliases back out again and re-export.
Cascading Actions
Problem: The old archive note had an action: publicationDate=today;hot=false; where publicationDate kept the note organized by blog publication date and hot marked entries which needed attention. But now I had a system which would expand with new year and month notes, and the months needed to have that action. Obviously I can't be bothered to remember to type that every month.
Fixed: I set up a few new prototypes. The prototype *year* has the action Prototype=*month*, and the prototype *month* has the action publicationDate=today;hot=false;. Now whenever I make a new month and drag it into a year, it becomes a *month* and gets the action. In point of fact I also gave the old archive note the action Prototype=*year* in case I forget to assign that, too. It took me a while at Tinderbox Weekend Boston to get my head around how to use cascading actions to enforce a data structurein that manner.
The Main Page
Problem: The main page is an agent that draws the first 7 children from the archive. After the change the children of the archive note are the years and months.
Fixed: This took a bit of kludge. I set up an agent called "pseudo-archive" with the following agent query:
- descendedFrom(archive)&!(Prototype=*year*|Prototype=*month*|Prototype=*note*)
... got that? It's in the archive but it's not a year, month, or subtopic. None of those should be listed by themselves.
Then I changed the main page agent query from #first(archive,7) to #first(pseudo-archive,7). Naturally I left pseudo-archive not exporting its children and using textOnly.html as its template so that its presence on the site is masked.
Promiscuous Linking
As I've been getting further into textuality.org and writing more for the web (rather than for a journal, web-presented or no), I've developed a taste for 'promiscuous linking'. Linking thoroughly, linking anything that might be ambiguous and linking it to a page or site that is a good source of more information.
Doing this more often makes the web (and your writing) much richer and much more hypertextual. More words yield. More of what you write is in a context. Your thoughts are integrated more fully into a web of information.
Frequent and skilled bloggers seem to be good at this. There was some flak a while back about limiting the number of links you provide out of your site so that you don't lose a reader prematurely; I think that the problem was unsubtle linking rather than linking at all, and that advice of that sort was aimed at inflexible business sites anyway.
Ironically, this post was inspired by one particular entry from among my blogroll, but it's the only link I have time to put in this entry right now as I start in on a busy day at work.
ETA, 3/15/05: I guess 'promiscuous' is inextricable from its negative connotations outside the field of biology. I've heard it used value-neutrally in biology to indicate extensive interconnection even outside a sexual context. That use seems appropriate here, but I think I may need to find a less loaded term. Suggestions?
Visual Link Typing in Tinderbox
I'm back from the hiatus after Tinderbox Weekend Boston. I told a few folks that I'd send them this trick that I'm starting to spread across t.org. I found a neat way to visually display the type of a link when it is exported to html. I got it from wikipedia, where they use it for external links. An example is at the bottom of almost every wikipedia page.
The idea is to use css to define classes of the tag. You'll give it some extra space to the right of the content (say, 10 pixels) and then set a graphic as the background of the tag. Meanwhile in Tinderbox you're setting a class for each link so that Tinderbox exports the links with the right class from your stylesheet.
That's the idea. The practicalities aren't much more than that. Take or make a graphic for each kind of link. This wikipedia example is for an external link, and indicates that the link is leaving (your) site:
(external.png)
Then, in your stylesheet, set up a class for the link. Use the style to get extra space after the content on the right and the image as background:
a.external { background: url(external.png) center right no-repeat; padding-right: 13px; }
Then, in each link, specify the class:
You're set. When your link is exported, it will come out in the html as:
<a href="http://www.wikipedia.org" class=external>link</a>
and it will look like:
link
Note that this will only work for links where you have specified the class. If you've already made a lot of links without a class, you will have to go back and specify the class (or make separate styles for each class you've specified). And, somewhat frustratingly, there is no way in Tinderbox to act on links en masse with stamps or like you can with notes.
Hiatus
As you may have noticed, t.org is on a hiatus. I'm on vacation and won't be reading much hypertext for a while. I expect to be updating on a semi-regular basis by the end of January. And I definitely want to be back in the groove for Tinderbox Weekend Boston!
In the meantime, I just figured out that the "class" field at the bottom of Tinderbox's link-construction window means that I could be putting CSS classes in for my links and making them display where they're going, like wikipedia does. Now, how do I go back and fix all my existing links without a bunch of grep-based find/replaces in BBEdit?
Is Usability really opposed to productive confusability?
There is a fine line to walk between the seemingly opposed philosophies of usability and narrative-oriented freedom. Usability urges simplicity and clarity of design and structure; explorers of the web's new narrative possibilities point to the power and effect of intentional misdirection, ambiguity, and freedom. I think that the line is there, but is far wider and fuzzier than either camp tends to describe.
Different audiences
Both are presenting absolutes in hopes that their readers will understand the extreme statements and at least work toward them. I also think that the two camps are also simply arguing against what they fear the other side is saying:
- The usability folks are largely speaking to people designing commercial websites for inexperienced users. They are seeking to bring new readers into the medium by making the web less frightening and confusing. For their designer audience, user confusion means lost sales.
- The narrative folks are speaking to writers creating new fiction and narratives. Their readers' audience is more likely to be seeking unknown territory, and has more patience for diversion, exploration, and novelty. They may even be seeking to be lost or frightened.
Patron saints of different tasks
The two camps do speak to each other occaisionally, but by and large, they are patron saints of different tasks. And despite their different roles, the two are also integral to each other: narrative is in everything we do, whether we intend it or no; and if a site is utterly random or confusing, no matter how beautiful it is, you cannot get to anything of interest without learning a new language.
Another way to look at this line is as the border between:
- making it so easy for readers to find what they're looking for on your site that they see *nothng* but what they are looking for, and
-
- helping your readers to see things that they didn't know they were looking for, but might want, including surprising story elements.
I've got more to say about this, I think.
Tinderbox isn't yet groupware
Tinderbox is designed as a single-user application, and the awkwardness of trying to make it work as groupware is extremely frustrating considering the potential of the completely imaginary Tinderbox Server (which I will call Tinderboxen). I am amazed at many aspects of Tinderbox (and will be posting on them), but this frustrated me-- because I want it to be better still, not because it is broken.
Tinderbox would need a lot of work to facilitate sharing and groupwork. There's no client/server architecture available for it such as you find with FileMaker. There's no way to work with Tinderbox data except through Tinderbox, such as the clients-and-webform model of LiveJournal that makes groupwork across networks or platforms possible. There would need to be more integrated wizards that would help get users to where they wanted to go in the UI or data
There's also the more abstract issue of how to provide users other than the creator with easy entries into a Tinderbox file. With data that can be seen geographically, in outline form, as html, as text, or as a hierarchical chart, how do you communicate to a new user the structure of your particular file? There are rudimentary techniques for this such as "readme" notes and adornments, but these are cumbersome for trying to communicate an entire way of thinking-- and Tinderbox is flexible enough to accomodate extremely divergent tasks and ways of thinking.
At the same time, Tinderbox is almost there, and that proximity is agonizing. It stores data as xml, so the data structures are clean and accessible without proprietary closed-source markup. Other applications could work with the data. Tinderbox is great for seamlessly accomodating both live and static (archived) work, and has features built for workflow management. Recent versions of Tinderbox accomodate interactive wizards that could be the solution to the issue of paradigm-introduction. If I could share it, it would rock! (harder, that is)
An example of why it's so frustrating comes from a conversation with my girlfriend the other day. Her company is considering a production site for the show she's working on. Tinderbox could be great for this-- it would be part production blog, part static site, with FAQs and write-ins and enough other stuff that the organization and simplicity of Tinderbox would be an asset. The various staff members that might contribute wouldn't have to learn HTML or the structure of the site to provide content. The content would be abstracted and separated from the visual style (which the studio would likely want to have a say in) so that the design and copywriting for the project could proceed in parallel. It would accomodate funky HTML for those who want to use it, but would make the coding transparent to those who don't.
But to do this, they would have to get copies of Tinderbox for everyone who might contribute, or tie the project down to a single editing station. Tinderbox isn't very expensive as software goes, but it's really expensive if you might not use it. And then even if they got 15 copies they'd still have to pull a time-share on the data. If they could serve Tinderbox and have keyed licenses or the like, it would be the perfect tool. But, for now, sharing is a dealbreaker.
HCI and the hypertext community: style only?
I had a neat discussion with friend!Josh tonight about his "outsider" observations on the field of hypertext and where the work is in it right now. Some of the discussion circled things that surprised us by how they are not being addressed by the community. I jotted down some notes about things that caught my interest.
HC and hypertext communities aren't talking ... ?
It seems like there should be a lot more communication between the Human-Computer Interaction community and the hypertext community. Right now, most of the work between those two areas seems to be largely aesthetic: how do you design a web page so that people can navigate it, and what features do you put into your site to allow readers to do what they're trying to (or, perhaps, find things they weren't expecting)?
But there's so much more that could be going on! People don't only Interact with computers, they think with computers. One reason that hypertext is such a powerful tool is because it offers the potential for people to work with their information in ways that are more loyal to the way they think. Good hypertext tools usually solicit pages of raves by new users who are amazed to finally find a tool that facilitates they way they really work.
So who is:
- applying the research on hypertext to the ways that people actually read it?
- taking the research on how people browse websites (probably the largest dataset on how people read hypertext)
- applying that to the ways that we design hypertexts to be readable?
- taking the knowledge of the way that people work with computers and applying it to hypertext tools?
This stuff must be out there, but it's hard to find examples of people combining the study of how people interact with computers with the study of how people work with hypertext. "Hypertext" ought to be smack in the middle of people-and-computers. I think that Eastgate Systems has hit #4 with Tinderbox, but the prohibitive learning curve indicates that they've got a ways to go in terms of UI. I think that Dynamic Diagrams is a good example of some of the other points.
no one is looking at their hypertexts in terms of projections
Many companies right now not only have external websites but have internal websites, or documentation libraries, or both. And these libraries are typically organized and accessed around some sort of hierarchical index that you burrow down into or expand into lexia. They might allow plain-text or keyword searches. Or maybe both.
Looked at broadly, those libraries are hypertexts, and the readers of those hypertexts are very often coming in from some specialized angle that has nothing to do with the "official" hierarchy the index imposes. What is needed is specialized projections of that hypertext: indexes arranged along more of an FAQ model, or searches that give hierarchies and paths (structures) as a result. Multiple simultaneous hierarchies or paths. There's no reason not to except that the site designers aren't used to thinking of documentation as a hypertext like that, or not thinking about their site as a hypertext in the aggregate.
There's been some interesting thought about the role of narrative in business sites, and many good sites research the paths that visitors take through their sites, but few seem to be thinking (or talking) about giving readers structures for their personalized visits like customized site maps or multiple simultaneous indices.
The example we discussed was the documentation site for MySQL. What about a page that shows the site in terms of "how MySQL is SQL", or "trying to get MySQL to work with other platforms". These topics are worth more than a page, more than a lexia-- they've got their own hierarchies and paths of relevant information from sources all over the existing documentation.
napkin-sketch business model: Hypertext Projection consulting
So maybe there's a professional opportunity for a consultant or consulting company to come to a company and do just that: "We'll come in, take your site or your documentation, and organize it. In sixteen ways simultaneously. We'll talk to people about how you need to use it, how to set the new system up to grow with you, etc. And you'll have the site back at the end, plus some."
Afterward, the company will be aware of their sites or libraries as a text that readers interact with, build paths through and into. They'll have tools to continue applying that awareness to new material. Readers will have features that acknowledge and facilitate the process of building a productive or interesting narrative out of using the site.
This does depend on companies embracing that as a philosophy (internal documentation is worth the investment, or documentation will help people be productive), and that might be a tough sell. It might also require specific software or substantial redesigns of existing content, both of which might be frightening to clients.
related sites
Without getting too far into the various related fields of information-visualization or information architecture, here are some sites that seem particularly relevant. Maybe I should see if they have job openings. ^ _
Ben Fry went through MIT doing information visualization. The anemone tool shows realtime visualization of site structure, traffic, and exploration.
Dynamic Diagrams is a group I've had my eye on for some time as the work they do seems really interesting and impressive. I wonder how they work, and how their clients see them. Their case studies are fascinating and to my inexperienced eye seem to be a survey of practice in information architecture.
Document Strategies does some work in this field, billing it as "providing systems and services for converting paper documents to computer-based information and then accessing and managing that information."
It all comes back to LJs
The best English teacher that I had in high school used to assign Literary Journals, journals where we would write brief (two-page) responses to many things we read. She'd assign LJ entries for chapters in books we were reading, on sections of The New Yorker magazine, on poems, and on articles that other students had clipped out of the newspaper that related to our class topics. What I got from LJs: everything is readable, and sometimes it's worth writing out your thoughts to everyday readings.
I feel like textuality.org (t.org) is a direct descendant of Ms. Hepburn's LJs. It doesn't matter that every entry is a great work of art; it doesn't even matter that they all cohere as a greater work; what matters is that I'm forcing myself to organize and articulate my thoughts (and to have thoughts) on what goes past my eyes on a regular basis.
Hypertext structure and annotation
As I've been working on textuality.org I've come across a productive reason to work in hypertext. Annotation and citation is less ambiguous when there are anchors within the text to use for point-by-point discussion, and it is easier to discuss the structure of the work when that structure is made more explicit.
Annotating marked up vs. monolithic work
For example, when discussing a printed paper, or one which is monolithic in its marked-up structure, I must work to explain to my reader what part of the work I am referring to. I can do this by quoting, which then requires the reader to find the source of my quotation in the original work. I can paraphrase, or point to a section, as with "when the author says x, y, and z, I say: For shame!"; that then requires a clear reference on my part and a familiarity with the work on the reader's part.
An example is my review of the Eastgate article Lindsay's Story: Hypertext and Liberation in High School. The article is monolithic, so I need to paraphrase to connect my thoughts to the author's. A counterexample is my discussion of the hypertext Chasing Our Tails. That work's short lexia make for small thought-grains to point to. Each page is an idea, so when I discuss the work, I can point very closely to the idea that I'm referring to.
A print analogy would be a paper written in response to another (monolithic work) vs. notes written in the margins of a page (hypertext annotation). When you can write in the margins, you can show where in the work you're pointing so that your comments are in the right context.
Anchors make for good annotation
This isn't strictly an issue for the hypertext tools that we know now-- html, Tinderbox, etc. It's really more a matter of markup and structure. Even in a linear printed document, if you have headings for chapters, topics or subtopics, or even page numbers, then an annotator writing even in a separate work can point more accurately to the location in your work that they are discussing. It's better to have a meta-structure (something which reveals the structure of your thought) like chapter headings than an arbitrary markup like page numbers, but either way you have anchors for annotation.
That structure is almost built into hypertext. Unless the author is working hard not to make their lexia correspond to discrete thoughts, then a hypertext has some sort of anchor structure to hook into for annotation. The granularity is smaller than "the entire work" if you break the work down into lexia or if you use anchors or headings to give the work some sort of structure. I say almost because it's easy to build a web page that doesn't have anchors, or headings in proper HTML. Many works on the web divide works depending on the length of the text, or how many advertisements they need to fit into the reading. This isn't entirely the fault of the authors-- most web tools make it far too easy to produce pretty documents with no meta-structure. They focus on presentation to the extent of making it possible to make a document look marked up ( for headings) without being marked up in a hypertextual way ( or even ).
Still, if the tools are built well, and are used moderately correctly, then the lexia, pages, sections, or chapters will not only correspond to thoughts, but those thoughts will be more easily referenced... and visible.
Why Swarthmore?
I'm really curious about the preponderance of Swarthmore people in the field of hypertext. There's Ted Nelson '59, who coined the term and helped invent the field. Andries van Dam '60. Mark Bernstein '77. Justin Hall '98, who probably invented the weblog as we know it, did so in Willets dorm in 1994. And that's not to mention more recent alumni who are as yet small fish in the pond. Is it, as one of the biographies of Ted Nelson suggests, because people who go to Swarthmore (and end up in computing) are too scattered for anything more linear or structured to contain their daydreamings?
Textuality is officially adolescent
T.org is officially adolescent. I say this because:
- It is going through growth spurts (new categories, issues)
- Its voice keeps changing
- It's about to look very different
- While it's going through all this, it hasn't been doing much but changing (few actual posts)
- I've been arguing with its code a lot (specifically cross-browser css).
T.org is in the process of finding itself. It's not quite a normal blog, and it's not just an archive of resources and reviews. Mark Bernstein calls blogs like this Fagerjordian (Tinderbox News 21 Oct 2003), after Anders Fagerjord's surftrail. Fagerjordian blogs are more deeply hypertextual... the blog is clearly one projection, one path, of a richer hypertext and the blog uses that richer structure to enrich the reading experience. I bought into that scheme for t.org before I'd heard the term, so I hope it's a positive development.
So, yes... for another week or so my t.org worktime is going into css and Tinderbox rather than reviews. Hope I don't lose all three of you that are reading this!