I've decided to learn better design practices the old fashioned way: by stealing them. I'm playing around with a fixed-width design, which seems to be somewhat standard practice among pretty sites. In doing so, I ran into the problem of the page titles being too long for the width. So I replaced "randomchaos" with a pseudo-logo - ®¤© - created with glyphs. Not sure I like it yet, but I'm going to give it a while to grow on me.


Sam Ruby writes My theory is that most of the interesting metadata is in the content. Interestingly, he put <b> tags around the word "in," apparently to emphasize it. There are, as Sam no doubt knows, <em> tags for that specific purpose. But the meaning is clearly not lost without those tags. And this is a good illustration of what I think follows from Sam's theory.

There is no firm difference between metadata and content. Both are meaningless, and are only given meaning by the reader. We tend to give more specific meaning to metadata, because metadata tends to be read mostly by computers, and computers are intolerant of ambiguity. But as we use metadata more and more, we increasingly have multiple computers reading the same metadata and deriving different meaning from it. For example, see how Kevin Marks and Stowe Boyd interpret the meaning of rel="tag" metadata. They aren't discussing differences in how humans should and do read these tags; they're discussing ambiguity in how computers read metadata. With such ambiguity, suddenly metadata doesn't look so different from what we generally consider content.

I think this phenomenon extends beyond markup language to natural language. Jessica is studying high vs. low context communication, which I had previously studied when I was learning Japanese. She asked me if Japanese is high or low context. There was a time when I knew the answer immediately. Japanese is generally considered a high-context culture. But it's been so long since I had learned this that I found I had to think about it, probably for the first time. And I found I wasn't at all sure about the answer.

There is certainly a lot of communication in Japan that foreigners would not catch from words alone, but how much of this is due to the fact that there is more meaning in words than most foreigners realize? A Marin College business communication web page on the subject includes a quote from "a Japanese manager": We are a homogeneous people and don't have to speak as much as you do here. When we say one word, we understand ten, but here you have to say ten to understand one. This would seem to indicate that Japanese text holds more meaning than English text. If Japanese is both high-context and the text itself means more, is everything much more meaningful in Japan? Perhaps, but it seems to me that "high-context" is very relative to what the text itself means.

I haven't thought this all through very far yet, but it's already clear to me that I need to learn more about out how meaning works. If meaning is anything approaching zero-sum economy, then all of this metadata we are adding is taking meaning away from the words. I think there's a real risk that while we are making things easier for computers to read, we are in some ways making them more difficult for people to read. At what point do the tags become the content? Some would say we're already past that point (Links are part of language). If so, is this desirable or should we maybe start reconsidering the value of metadata everywhere? Food for thought.

Update: coincidentally, the next day on Metafilter is a link to Semiotics for Beginners. Semiotics appears to be exactly the topic I was stumbling into. Hopefully I'll have some more firm thoughts on the subject after reading it.


Here's my plan for a useful Google maps tool: take the FCC's database of radio station information (e.g. stations in Des Moines), and figure the span of each station (like so) to provide a tool that allows people to click a location on a Google map, and get a list of radio stations and signal strengths for that location. Bonus points: 1) Search Google for each station's website, 2) Search each website for an online version of the station's audio, 3) Provide an interface for listening to each station.

Now, who wants to make it?


Way back before Google maps existed, I had this plan to mix tags, a la del.icio.us, with a map of a city. When .info domain names were being given away for free, I registered bloomington-normal.info with the intent of some day creating a site where users could create maps socially. I thought it would be neat to be able to pull up a map of all the poorly designed intersections, or all the bomb shelters in Bloomington-Normal. I also thought such a site could be used by door-to-door canvassing groups to mark houses as visited or unvisited. And more.

Then Google maps came along, and people immediately started playing with ways to interact with the maps. I figured it was only a matter of time before someone created something similar to my vague idea, only on a national or global scale. So I waited. But to my surprise, nothing came. Until now.

Tagzania is pretty much what I had in mind - del.icio.us meets Google maps. But I think there are a few things still missing. First, locations often have associated websites, and users should be able to pull these websites from Google, or (better yet) add these websites themselves. Second, photos of locations would be incredibly useful. Third, there should be some mechanism for aggregating a group of locations under a single name (e.g. by country, state, city, park, etc. Users are already trying to get this functionality with tags, e.g. spain, berlin, etc. But this is location data that rightly belongs on the map, not in the tags.

Ideally, I'd like to be able to draw a box around my house and name that box with my address. Then I'd like to place a pin at the front of my house, give that pin tags like "porch music," and assign a picture of myself playing music on my porch. Then I'd add a pin to the back of my house with tags "dog" and a picture of my neighbor's dog. Then maybe I'd tag the building as a whole with "rent."

This would allow people to find places where people play music on their porch (which I don't do, but might if I thought random people might come by looking for it.) It would allow people to find places to rent, check if they have dogs nearby, and if so, look at the dogs to see if they look friendly enough to consider renting. And these are just the possibilities with my house. A location where things are actually happening has much more potential. Throw in a standardized system for adding dates to locations, and a tagged event map is possible.

For yet another example, Ian is today participating in part of RAGBRAI, an annual bike ride across the state of Iowa, and he's posting photos to his Flickr account with the tag "ragbrai", which makes these photos join a group of ragbrai-tagged photos. This is neat, but it would be much cooler to be able to place those photos on a map and see where RAGBRAI is going.

I look forward to seeing Tagzania or something like it explore the possibilities of tagged mapping. Meanwhile, I'll be thoroughly tagging Des Moines.


Over the last couple weeks I've been working on a Dashboard Widget, which I hope to release some time in the next month. I've come up against a few snags that could have been solved more quickly by better documentation, so I want to document those issues here both to publicly complain about them, and in hopes that doing so will hasten the release of some wonderful Dashboard widget.

Lesson one: Widget JavaScript alert statements go to the console. I didn't discover this in Technical Note TN2139 on Apple's websiteuntil after I had already built an overly complex system to display feedback for debugging purposes. I assumed if such a useful development tool existed, it would be found in Apple's Guide to Developing Dashboard Widgets, which contains a code sample with an alert statement, but no mention of where that alert is going. This could be improved by Apple.

Lesson two: There is a developer mode for Dashboard. This is also mentioned in TN2139, a handy document that is currently (according to Google) mentioned on twelve different sites, none of them Apple. But I already complained about Apple not referencing their own documentation in Lesson One. What I want to complain about in Lesson Two is that within that documentation, there are instructions for how to pull a widget off of the Dashboard in developer mode, but no mention of how to return the widget to the Dashboard.

I suspect this was assumed to be obvious, that Apple didn't anticipate someone as foolish as me would kill the entire Dashboard process, and then restart my computer, only to discover the Widget still floating over everything else on my screen. If anyone else missed the obvious, the process of getting widgets back into the Dashboard is roughly the opposite of the process for taking them out: click and hold the widget, turn the Dashboard on, and let the widget drop back into the Dashboard. A simple mention of this on any of Apple's Dashboard development pages would have saved me a lot of time.

Lesson Three: JavaScript's parseInt function parses any string with leading zeros as zero. So, for example, when I was parsing the string "08" and expecting it to parse to an integer value of eight, it was actually parsing to an integer value of zero. This seems less than ideal to me (I prefer how PHP's intval function works), but no doubt it's too late to change it now, as JavaScript applications have likely been built around this odd behavior. So just beware.

Other than these minor complaints, my widget is coming along nicely, and it's fun to develop a pseudo-desktop application using web technologies. It's less complicated than standard desktop development for the same reasons web applications are easier to develop. But it's also simpler than standard web development, as there is really only one platform to consider.


A post today on BoingBoing does a nice job of summarizing nearly everything that annoys me about the site. The topic is tabloid material. There are no comments, so the post itself is updated whenever anyone manages to slip a comment through either the "suggest a site" form or the email of one of the contributors. And rather than taking the least bit of time to verify the factual information involved, completely false material is simply posted to the site and then later retracted. The only thing missing is the an ad for a product representing values BoingBoing's staff claim to oppose and completely unrelated to the topic at hand.

Yet BoingBoing continues to be the most popular blog of all, according to Technorati. If this is the new media, I might just stick with the old.


I have an old titanium powerbook that I picked up by the screen too many times. The hinges on the screen snapped, and the screen could no longer support its own weight. I could rest the screen against something, and use it as a desktop, but it was no longer easily portable. I continued using it as a desktop for the last two years, and made up for the missing portability by buying an iBook, and then another.

framed laptop

Last month I saw a tutorial for making a "walltop" computer from a laptop. In the tutorial, the laptop is actually taken apart and jammed inside a frame not much bigger than its screen. That looks nice, but I'm not especially good at taking things apart (without destroying them), so I just put the whole laptop in the frame. It turned out much nicer than I was expecting.

The laptop has a wireless card, so for most things, I can control it from another machine using OSX VNC (server) and Chicken of the VNC (client), both free applications. And in the few cases where I'll need to take it out, I just need to take it off the wall and turn a single piece of wood holding it in the frame. It's pretty ugly in the back, as my woodworking skills leave much to be desired. But I'm happy with my new digital picture frame.