Buddy list begone

Ah, the buddy list. Remember when we actually liked advertising to our friends that we were online, and maybe even wanted to chat? That was high-tech — in 1995. The buddy list (also known as presence) is a kind of social transparency, and while we still need social transparency mechanisms built in to our communications media, presence is no longer the appropriate mechanism. Presence comes from a time when the normal state of affairs was that you were unavailable, usually because in order to be available, you had to be at a desktop computer with a modem, and had to dial in to your ISP. Available meant connected, and connected meant available. When always-on connections were still novel, the away message became all the rage. (Remember when, in undergrad, we would regularly leave our computers on all night as an answering machine?) And presence became more sophisticated, using not just away messages, but idle states and times. But in many cases, just being visible on a buddy list is too much presence.

At the other end of the spectrum, historically speaking, was SMS. Being mobile, it was assumed that one was always connected (and therefore available) via SMS; therefore, presence was unnecessary. Yet people aren’t (or at least don’t want to be) always available.

Now that the nominal assumption is one of connectedness, connectedness and availability can no longer be assumed to be the same. And because connectedness is the assumed state, it doesn’t need to be advertised.

This, it seems to me, sets the historical context for a new (except for BBM) trend displacing presence: notifications of engagement. Rather than explicitly articulated status, action (or inaction) by the receiver signal availability to the sender. They do away with status, but provide the social transparency needed to manage sender expectations. Or, more simply, the sender can see whether their message has been received and read.

While right now this is almost exclusively used in mobile-to-mobile systems (BBM, Kik, Whatsapp, etc.), it has always bothered me that there is no desktop client for any of these systems. Finally, Apple — who pioneered FaceTime’s always-available-no-presence-like-a-telephone availability — is poised to bring such a system to the desktop (as well as iOS) with iMessage [1]. It’s instant messaging, without presence, with delivery, read, and typing notifications, that works on the desktop and mobile devices.

Personally, I can’t wait.

  1. Fanboy alert []

On atoms and bits: the dying metaphor of the filesystem

Last week on Twitter (during Steve Jobs’s WWDC keynote) I lamented the death of the filesystem. I want to flesh out a few of my thoughts on the subject.

I think one of the reasons I like the filesystem so much is that I’ve actually come to believe the metaphor. When I think about tags, saved searches, even searching in general, I find it uncomfortable because I want to know where the file is actually located. I’m just much more comfortable with knowing where it resides “on disk”. That’s why, to me, one of the great things about having a jailbroken iPhone is that I can actually browse the file system: I just like knowing it’s there. Even MySQL databases make me uneasy because it’s really challenging to interact with it from the relatively low level of the file system. It all feels too abstract.

But now that I think about it, really, it’s a false sense of concreteness and of security. No, in fact, the file system doesn’t really exist either. But the metaphor is so powerful because it gives the impression that each file is located somewhere, like a bunch of atoms — and that feels good.

Is that important? And is losing that such a bad thing? The main problems I see with most systems that don’t rely on the hierarchical filesystem is that they don’t offer any way to share files between applications. Making certain documents accessible only from within the applications they were created in is pretty standard in iOS. I commented a while back that Mac OS X Lion represents a shift on the desktop away from a document-centric model toward an app-centric model, but that must not come at the cost of losing the ability to easily open and operate on documents from within any application. What will that look like if it’s not the HFS?

Instant Hijack and Digi CoreAudio driver are not friends

Just in case anyone else runs into the same issue…

digi-instant-hijack-compatibility-fail

I just spent about half an hour trying to figure out why I couldn't get the Digi CoreAudio driver to work. It knew that in order to grab the audio from a given application, one needs to launch that application after the CoreAudio Manager is connected to the hardware.

This whole "re-launch the application to grab the audio" thing reminded me of Audio Hijack/Airfoil without Instant Hijack installed, so it occurred to me that maybe Instant Hijack inserting itself between my applications and the Digi driver.

Turns out I was right: I uninstalled Instant Hijack (a quick and easy process, I might add), and when I logged back in, the CoreAudio manager was able to "attach clients".

I certainly can't blame either of these companies — they're both trying to do some rather unsupported stuff with system audio — but I figured I post in case anyone else runs into a similar issue.

Stupid Excel 2008 Bug

I just have to say that there's a totally stupid bug in Excel 2008's window handling: like any normal program, you can use Command+` to cycle through all open windows. What's weird is that Command+` also cycles through documents that have been minimized to the doc. Annoying, seeing as the main reason I minimize docs is so I can cycle through just some of the ones I have open.

While I'm at it, if you have a cell that, say, starts with bold text and is followed by normal text, if you auto-complete a new cell with that same text, it applies whatever the formatting of the first character is to the entire cell.

Who wrights this stuff? Oh yeah...Microsoft.

The Non-Distracting Nature of Notifications

I had long assumed that notifications, like those served up by Growl, would be distracting. After all, how should I be able to concentrate while being bombarded with pretty little updates on everything from what song just started playing to what that latest IM said to how many new articles NetNewsWire has decided to throw in my face?

Ok, I admit that the NetNewsWire notifications are distracting (I'll turn them off as soon as I'm done writing this post), but most of them aren't so bad. There is one, though, that I have found, somewhat counterintuitively, to actually be conducive to staying focused: the new email notification.

The reason is that even without Growl notifications I'm going to be made aware of any new email by the dock icon badge. That is what makes it impossible to ignore. The vast majority of the email I receive is not important, but what if this one is? The curiosity is just too much to handle, and the act of stopping what I'm doing to check that new email is very disruptive. With a notification that tells me the sender, subject, and first little bit of the body, though, without even moving my mouse or stopping what I'm doing I know that I can safely ignore that email.

Who knew that more information could actually help keep you focused?

On Following Directions

I have long been fascinated by a particular divide among users of technology: those who follow a step-by-step process, and those who "get it".

This first came to my attention about seven years ago when I decided to learn how to use the video switcher in my high school's TV station. I took home the manual for the summer and started going through it. For weeks I was frustrated, not because I couldn't get it to do what I wanted it to do — because I could — but because I didn't know what I was doing. It was: press these two buttons at the same time, then slide the knife down, then push this one button again. I just didn't didn't know why. There were fundamental concepts of signal flow in the switcher that I didn't know at the time, and that lack of knowledge led to an inability to understand what I was doing. It wasn't until I finally realized what was going on, the "ah ha!" moment, that I could stop thinking so hard and just use the darn thing.

Unfortunately (from my extensive observation of friends and family), most users of computers and other consumer electronics never have that moment. The reason, I believe, is an inability to see beyond the two dimensions of the user interface. Interfaces have structure (as poorly thought out as some may be), and so do what they control. For example, the typical universal remote control has a series of buttons to change which device the rest of the buttons will affect. When I see such a remote, it is clear that it is modal, that pressing one of those buttons is akin to putting down the TV's remote and picking up the remote for the cable box. To many people, however, it is little more than rote: push the TV button before using the volume buttons; push the Cable button before using the channel buttons.

What is happening here is two-fold: first, the user fails to see the modality of the remote, seeing it as just a flat series of buttons. This is compounded by an obliviousness of the signal path in the TV/cable box system. If a worst-case user were asked to avoid the remote altogether and walk right up to the units, it is possible that they would know to use the channel buttons on the cable box and the volume buttons on the television without fully grasping that the cable box is actually sending the video signal to the TV. It is easy to see that this situation gets very messy very quickly by adding an amplifier into the system. Unless you understand that the audio and video signal originate from the cable box, with the video signal being sent to, say, the Composite 1 input on the TV and the audio is being sent to the Audio 2 input on the amp, it's all just a confusing mess. Add to that the need to sometimes (who really knows when!) push the AUX button on the remote in order to change the volume, and you have a very dissatisfied user.

The same premise can be applied to computers. It is difficult for many people to see past the flat monitor into the hierarchy and order of a file system or menu- and document-based application. Every once in a while, when I'm first getting acquainted with a particularly large or complex piece of software, I don't necessarily understand the flow of the program. It can all seem like a bunch of buttons and menus. A bunch of buttons and menus, which, when pushed, change other buttons and menus, can be very intimidating.

Take what is a very simple and elegant process: installing an application on Mac OS X. A disk image file is downloaded to the Downloads folder. By default, the image is automatically mounted, so it shows up on the desktop. Dragging the application from the window that displays the contents of the disk image to the icon that represents the Applications folder makes a copy of that application in that folder. Once it's there, just unmount (eject) the disk image and put the image file in the trash. (Note that the key here is understanding things like how the icon represents the folder, and a folder can contain other items.) By thinking about this process from the mindset of someone who doesn't understand the concept of a hierarchical file system, let alone disk images, one can imagine how convoluted and seemingly unnecessary it is. To a great many people, you get what you want on the computer by double-clicking the thing that says what you want. When the disk image automatically mounts and a window containing the application opens, that's the end of the process. Just double-click the pretty new icon and that new version of Snood is up and running. Oh, what confusion ensues when after rebooting that disk image no longer appears on the desktop!

Wizards are an attempt to guide such users through complex processes with a simple question-and-answer interface tied to a decision tree. They can be decent, but what the computing world may need is something like what the Logitech Harmony 1000 remote has [tried to] bring to the remote control world: a flatter interface with fewer clicks, albeit with fewer options.

These occasional glimpses into how (it appears to me, anyway) most people see and experience their technology can be very enlightening — and frustrating, because this lack of understanding, this "how" as opposed to "why", is holding back a great many people from using technology to its full potential.

Managing the Snippets

After over a year of on-again, off-again looking, demoing, playing, and stalling, I think I have finally settled on a note/snippet manager: Yojimbo, from Bare Bones Software.

When I first started thinking about a snippet manager, what came to my head was something that looked basically like Mail, except that instead of messages it would contain notes. They could all be tag-able, and you could create smart folders out of those tags. When I started looking around, the product that satisfied this "dream app" exactly was Notae, from Code Poetry. So why Yojimbo?

Yojimbo has several features that I really like, even though the program as a whole is not as elegant as Notae. I really like the quick-entry box that can be called up with a system-wide shortcut key, I really like that it has a separate note  type for passwords, and I really like that it supports syncing (not that I have any devices that need syncing to — yet).

Notae's inability to sync across devices bothered me, but what worried me more was that the Code Poetry blog identified a major performance problem in Leopard back at the beginning of January that has yet to be addressed nearly three months later. I can't say I blame the developers for having day jobs, and I absolutely love the independent developer community out there for the Mac, but there is a little bit of comfort knowing that the Bare Bones folks are working on their products full time.

Another distinction that would explain why Yojimbo has note types for things like passwords, serial numbers, and bookmarks is that it is designed as a snippet manager, whereas I guess Notae is designed as a note manager. Since I'm looking more to manage my snippets than my notes, Yojimbo may be the better choice.

I'll see how the 30-day demo of Yojimbo goes, but so far I like it.