Wednesday, June 09, 2010

The iPad: the Good, the Bad, and the Ugly

I'm a hard-core lover of Apple products; between my wife & I, we own 4 Macs. However, I also hate Apple's stance as a company on lots of topics. In fact, I would probably never use their products if they weren't so damn good. I'm just disclaiming that I may not be objective (although I try to be).

I was not one of the early enthusiasts for the iPad when it was first announced. I did not pre-order one and really had no interest in one until I had a chance to touch one. It didn't seem to make a lot of sense for me: I split my time between my laptop and the iPhone (which I truly love). The iPad didn't seem to offer much that I didn't already have.

But I realized in the first 10 minutes of playing with one that I was looking at the first incarnation of the next platform, and I quickly ordered one (actually, 2 — one for my wife & one for me — like the iPhone, I knew she would never wait for a hand-me-down). This blog is a culmination of my thoughts and impressions.

General Thoughts

It doesn't take long using an iPad (especially if you've been to the Apple iPhone school of user experience) for it to feel natural. The main difference is how much the platform manages to disappear, more quickly than any device I've ever used. That's one of the things I love so much about OS X: it tries to get and stay out of your way.

Using a well designed iPad app (and there are already some pretty stunning ones), you quickly forget all about the hardware/software combination that is the life support for the app. The application just seems to work.

Canon Cat

In The Humane Interface, Jef Raskin (one of the early Macintosh developers and a well respected researcher in human-computer interaction) wrote about human computer interaction at a pretty abstract level. He designed and sold a computer called the Canon Cat which implemented some of his user interface ideas. One of the most shocking things that Raskin pointed out is that computer users don't want file systems, they just want to work on stuff. The Canon Cat had no recognizable file system: you typed documents and then searched to find previous ones. The iPhone/iPad also have no visible file system: every application "owns" their own data. This causes a few headaches for applications that need to sync their data or share files, but applications (like DropBox) fill that void nicely. I'd rather a few applications figure this out for themselves rather than punish every user with having to understand the nuances & headaches from dealing with what really should be low-level abstractions. How many family members have you had to walk through downloading a family photo and then helping them figure out where it ended up on their computer?

For those who doubt what a paradigm shift this is (and how far away even close seeming competitors are), consider that at the time I wrote this, 2 of the top selling applications on the Android store don't make sense on the iPad: a task killer & a file system browser. Despite the cosmetic similarities between the iPad and competitors, the differences go much deeper.

Death of the Mouse

The iPad represents the death of the mouse. You don't need one, don't miss one, and it would be a huge leap backwards to try to use one. Your finger does what needs to be done, and it's scary easy. The only real exception to this is stylus-type usage. The iPad is a lackluster real-time note taking device for handwritten notes. However, the built-in keyboard works better than I expected.

The Good

As you can probably guess, I like a lot of stuff about the iPad.


My general computing time (time spent on notebook, iPad, & iPhone (minus calls)) has gone slightly up since getting the iPad. Most of the displaced time has come from the iPhone. If you look at 100% of my ipad usage, I estimate that it comes from 80% less time on the phone and 20% less time on my computer. When I first got it, I had the normal hedonic glow I get from new cool toys, and I looked for excuses to use it. That quickly went away, and now i find myself using it for very specific tasks. Case in point: I realized I wanted to add this section while standing in line to get on a plane; I'm typing this in my seat waiting for the rest of the passengers to board. Not enough time to get the entire laptop out, but way more than I would want to type on my phone. Once you've been using the iPad, some of the applications on the iPhone feel really claustrophobic. Some applications (and games) still work best on the phone, but there is certainly the case that some (most?) work better on the more capable hardware and form factor.

Killer Uses

Watching movies rocks on the iPad. It has 1024x768 resolution (which was the standard resolution for my laptop for years) which is beautiful. Watching content at the gym is absolutely transformative. The Google map application quickly shows that this is the perfect form factor and, more importantly, interaction model. The way you pinch and zoom to navigate around the map feels right, along with the gradual exposition of details as you do so.

Listening to music with the lyrics available is another killer feature for me (I listen to a fair amount of music — progressive rock & opera — where the lyrics really matter). If you associate the lyrics to a song as part of the meta-data in iTunes, the iPad has a mode that shows you the lyrics to the song that's playing. You've been able to do this on iPods & the iPhone for a while, but this form factor makes all the difference.

The iPad is definitely a "lean back" device, rather than a "lean forward" device. The interaction model for a laptop is well established and doesn't have a lot of options because of the form factor. Whether at a desk or an airplane, you pretty much use it the same way. The iPad, on the other hand, has lots of different interaction modes. I've seen a lot written about "habit spaces" and interaction models — the iPad makes you realize how true that is, and provides a blank slate for creating some new habit spaces & interaction models.

Using a mind mapping tool on the iPad makes me never want to go back to using a notebook for this activity. The mind mapping tools aren't as powerful yet, but the interaction is exactly right. I find I use my iPad a lot for brainstorming away from my computer, which is where I would like for it to happen because of habit spaces. And OmniGraffle for the iPad makes you rethink how drawing tools should work.

One must-have accessory is the Apple case for the iPad. It is a marvel of engineering in its own right, and it makes it easy to find the right interaction mode for what you're doing. Having a case that allows you to put it into various physical permutations makes it easier to get immersed.

The iPad is the ultimate airplane accessory: movies, books, games, and interacting with the outside world on planes with wi-fi. I have now partitioned my travel life into 2 eras: pre-iPad & post-iPad, and you can guess which is better.

As you've probably guessed, this entire entry was researched, organized, and written on the iPad, and it was a pretty good experience, much better than I thought it would be. I can anticipate doing more of this type of writing on the iPad.

The Bad

I have very little to dislike so far. It really does need rudimentary background processing just to allow stuff like Skype + X. The proposed changes coming in the 4th release of iOS should solve most of those problems. Doing real work on the iPad feels a little like being back in the DOS days. I had my notes for this blog entry in a mind map & had to switch back and forth. However, the pain was minor because the applications "start up" so fast (in quotes because that seems like kind of a quaint notion on the iPad: applications don't really have life cycles).

The Ugly

Nothing about the device is ugly. The only ugly thing in the neighborhood are Apple's sometimes overly controlling ways. But you have to realize that the future of applications on these devices fall into 2 categories: curated native applications from the AppStore and wide open, standards-based web applications, delivered through the browser. By maintaining control on the native applications, they remove the need for things like anti-virus software. They want to closely guard those applications all the way down to the look and a feel. I agree that if they allow cross- compiled applications, it dilutes their control. But that control makes a difference.

Before the iPhone, I was a die hard Palm (and Treo) user, which both offered an application development platform. Because there was no curator, 98% of Palm applications were abysmal, to the point that I stopped adding new applications. The Apple AppStore largely fixes that.

Android is going to suffer the same fate if they aren't careful. The interesting difference between the Palm & Android eras is the strength of social networks, especially user ratings. The largely unanswered question: will social networks be enough to all the cream of the Android crop to rise to the top, overcoming the Palm problem.

I won't get in a huff at Apple for controlling and curating native applications as long as they don't try to cripple the browser. As long as I can write whatever application I want using open standards and have it work correctly, I'm OK with the advantages and disadvantages of curated applications.

"I want to live there!"

I have a friend that every time he sees something new and futuristic, he says "I want to live there". Using the iPad feels like tiptoeing in to the future. I definitely want to live there.

I'm convinced that the iPad is the first iteration of the next major computing platform. PC's will become work & power user tools, but everyone will use iPad-like things for many tasks. This is the first incarnation - can you imagine what these things will look like in 5 years?

The iPad does for video what the Sony Walkman did for music. I can easily envision a near future where the family TV is only used on special occasions; the whole family sits around with their fifth generation iPad watching highly personalized content.

I don't think you can really appreciate the impact of the iPad until you've used one a bit. Thomas Watson famously said in 1943 that the world-wide market for computers was about 5 computers. He didn't understand the transformative effect that pervasive personal computing could effect. We're at the threshold of a new era of computing, and it's pretty cool. Ignore it at your peril!

Friday, May 21, 2010

Mouseless Browsing

Once you write a book, you become really immersed in the subject matter. After it's off to the publisher, you can't turn off your interest in the subject. Consequently, after The Productive Programmer came out, I continue to find new ways to make myself more productive. One of my recent tendencies is mouseless browsing.

I have a love/hate affair with Firefox. I love the keyboard affordances it provides, especially the slash ("/") and apostrophe ("'") shortcuts. When looking at a web page, the slash starts an incremental find for text within the page. The apostrophe does something similar, but it restricts the matches to URLs only. How many times do you go to a web site and you know the name of the link you want already? For example, if I need to go to the ThoughtWorks web site to get the address of the London location (this happened earlier today), I know (or can guess) that there is a "Contact" link on the home page, which takes me to a list of offices. In my new mouseless browsing mode, I go to the home page, hit the apostrophe and start typing "contact", hit enter and now I'm on the contact page. From there, I can hit the slash key and start typing "London". I've found my address and never taken my fingers off the home row. This added to the spacebar to scroll down and shift-spacebar to scroll up and you can get a lot done in a browser without a mouse.

I maintain a love/hate relationship because one of the cool things about Firefox is all the plug-ins available. Conversely, one of the things I hate about Firefox are all the plug-ins! I tend to find useful plug-ins and add them, which adds to the weight (and start up time) for the whole browser. Recently, I stumbled across Camino, which uses the same rendering engine as Firefox, which means that my 2 favorite keyboard shortcuts work. Camino is very lightweight (if "feels" lighter than Safari) and it supports my browsing habits. This is going to sound odd, but one of the critical things that it supports is the ability to type a partial URL in the address bar (which it will auto-complete) and hit CTRL-N to move the cursor down to the first (or subsequent) matches. This is a big deal for me because the Emacs key bindings are deeply ingrained in my fingers (and most of OS X, as it turns out), but Firefox doesn't allow this. Firefox has apparently overwritten the CTRL-N key to do nothing (overriding the operating system). While this sounds minor, it bites me every time. Fortunately, Camino adheres to the Apple standard, allowing me to have my cake (having CTRL-N move down one line, as it was Meant To Be) and keyboard-driven browsing.

If you really want to go far down this path, there is the Conkeror browser. It's "About:"

Conkeror is a keyboard-oriented, highly-customizable, highly-extensible web browser based on Mozilla XULRunner, written mainly in JavaScript, and inspired by exceptional software such as Emacs and vi. Conkeror features a sophisticated keyboard system, allowing users to run commands and interact with content in powerful and novel ways. It is self-documenting, featuring a powerful interactive help system.

I have played with Conkeror and it has strong promise, but it's not quite mature enough for me to switch to daily use.

And if you are a Vim junkie, you can use the Firefox plugin called vimperator, which converts Firefix to a purely vi interface. Not for the faint of heart: if you don't know how to quit Vim, you're going to have a tough time with vimperator. Hard-core Vim-mers swear by this, but I'm too far gone down the Emacs route now to re-map the genes in my fingertips.

Mouseless browsing takes acclimatization, but once you become accustomed to it, you'll start finding it annoying to reach for a mouse (or even for the arrow keys -- not the home row!). This is why I have no interest in Chrome for now because it doesn't support my normal mode of browsing.

Wednesday, April 14, 2010

Tiffany Lentz: A New Regular on the No Fluff, Just Stuff Tour

It is with great pleasure that I welcome one of my ThoughtWorks colleagues, Tiffany Lentz, to the No Fluff, Just Stuff tour this weekend in Tampa. She did the Seattle show last year to great feedback, and now she's joining the tour as a semi-regular speaker.

Tiffany has been with ThoughtWorks since late 2004 as a project manager and agile coach. She embodies what makes ThoughtWorks project managers so good: enthusiasm, experience, expertise on how to build software, and infectious enthusiasm. She's one of the project managers that I would work with on any project, no matter how bad it looks at the outset because I know that she'll find ways to make it better, usually profoundly better.

I've been leaning on Tiffany for a couple of years now to come speak on the No Fluff, Just Stuff tour to share some of her agile expertise, and she finally knuckled under and decided to join the No Fluff, Just Stuff speaker's "boy's club". I don't think it's a coincidence that 2 of the rare female speakers on the No Fluff, Just Stuff in recent times have been ThoughtWorkers: Tiffany and our CTO, Rebecca Parsons. ThoughtWorks can be a bit of a fraternal atmosphere as well (especially amongst developers which, despite concerted efforts, still remain largely male), which means that Tiffany and other ThoughtWorks females learn to tolerate too many male geeks being around, like the speakers at No Fluff, Just Stuff.

Tiffany is going to be talking about Agile practices this weekend in Tampa. Her talks include The Agile Mindset: Applying Agile in Non-Technical Areas of an Organization, Iteration Management: What's in Your Toolkit, and Agile Project and Management Metrics: Measuring Success Downward and Upward. If you're in Tampa this weekend (or at a future tour stop), do yourself a favor and go see Tiffany speak.

Tuesday, December 22, 2009

Empowering Sinookas using Social Networks to Maintain a Durass

One of the recommendations I frequently give at conferences when asked about "What books are you reading" is to get out of the purely technical realm often so that you can communicate more effectively with the other humanoids. One of the common recommendations is to read all of the books by Kurt Vonnegut. One of his books I recently re-read (for probably the 15th time) is Cat's Cradle. In Cat's Cradle, Vonnegut defines a new religion called Bokononism (one of the first lines of the novel states that if you have a hard time believing that a perfectly useful religion can't be based entirely on lies, you won't like the book). Bokononism defines a bunch of new terms, which relates to the point of this blog.

First, some definitions from Bokononism:

  • karass: a group of people who, often unknowingly, are working together to do God's will. The people can be thought of as fingers in a Cat's Cradle.

  • duprass: a karass of only two people. The typical example is a loving couple who work together for a great purpose.

  • sinookas: The intertwining "tendrils" of people's lives.

  • wampeter: the central point of a karass

OK, so what does this have to do with anything useful? I travel a lot, even for a ThoughtWorker (a little over 200K miles this year). Of course, my wife hates the amount that I travel, but it's an occupational hazard. One of the things that makes us miss each other are the little unimportant side conversations we have when we are together: little meaningless observations, inside jokes, just the kind of things that people in a duprass do all the time. So I built a sinookas using Twitter.

I created a new GMail account for myself and one for my wife. Using each of those GMail accounts, I created a new Twitter account with protected updates for each of us, and we only subscribe to each other's Twitter stream. All the good Twitter clients make it easy to change accounts, so I have used this to create a private back channel for ongoing duprass style conversations (in other words, a sinookas). This isn't the wampeter of our duprass, but it does make the sinookas stronger. It's been great, and it's something that I recommend all traveling road warriors set up.

Now, my wife & I can have an ongoing private conversation about stuff that wouldn't make sense (or would be too politically incorrect) on a public feed. That allows us to miss each other less. Who says that you can't have a perfectly useful social network with just 2 people?

Wednesday, November 04, 2009

Productivity Pron

One of my former coworkers & I used to spend hours talking about how to set up the best individualized personal information manager. We used to call those conversations productivity porn, not realizing that someone would come along an formalize that term, albeit slightly skewed, as Productivity Pr0n. Finding a good system that doesn't get in your way yet allows you to organize all the things going on in your life (both personal and professional) is surprisingly difficult, given the number of tools that purport to do just this. At the time we were having these discussions (late 1990's), the best thing going was Franklin Covey's Ascend (a desktop application for Windows) and the Palm Treo. Ascend replaced some of the anemic default applications on the Treo (like the laughable ToDo application) with their own versions, and it worked really well. The death knell for me with Ascend was its poor quality. It was written as a desktop application that used an Access database for its back end, and it was a bit fragile. About once a year, it would spontaneously corrupt the database, which required cracking it open with Access to fix the mess it had gotten itself into. Seeing the broken and corrupted records and the general ghetto-ness of the database Ascend supposedly owned entirely didn't give me confidence. I still haven't found as good as integrated system today, but I have cobbled together a nice workable system for myself, consisting of 5 moving parts.


This piece to me is the easiest slot to fill. Maybe I'm just not discriminating, but almost any calendar application works fine for me. As long as I can add appointments with all the standard stuff (reminders, time zones, etc.), I'm pretty happy. The biggest headache with calendars is keeping them in sync. Back in the bad old days of Lotus Notes at ThoughtWorks, I basically ignored the corporate calendar, keeping all my stuff in Google Calendar instead and giving people who cared an HTML view into my work calendar. Google calendar is quite nice, including good synchronization / replication with iCal. Most of my interaction with Google calendar was through the web interface, so much that I created a fluid application that had only my calendar. One of the slick tricks you can do with fluid applications is make all the chrome disappear, giving me a full-screen calendar bound to one of my desktops that looked like the wallpaper for that desktop, which was nice because you get the biggest possible calendar. I also liked the 4 views afforded by Google calendar: 1 day, 1 week, 1 month, and next 4 days.

Since ThoughtWorks moved our infrastructure to Google applications, I just exported my old work calendar and sucked it into the new ThoughtWorks Google calendar. My itineraries, my wife's schedule, etc. I subscribe to (and share subscriptions to interesting events with her). We each "own" our own calendar and cross-subscribe to get shared events. Using sites like TripIt makes keeping travel under control and subscribable. Going forward, I want all calendar stuff delivered as iCal feeds.

For synchronization, I'm using iCal as the integration point. I still have a fluid application that now points to my ThoughtWorks calendar, but I'm using iCal as the main calendar. Of course, iCal synchronizes nicely with the iPhone. Before moving back to iCal, I was using CalenGoo on my iPhone, which is a slick iPhone interface directly to Google calendar. It doesn't really provide off-line access but does cache the previous results so you can see your calendar even if you can't get to it online. The native iPhone calendar application handles that for me now.

ToDo / Task List

If the calendar is the easiest, this is by far the hardest slot to fill. Virtually all of the To Do / Task List applications I've used are seriously deficient in one way or another. Ascend replaced the Palm ToDo application (which was laughably bad) with one it called Task List, which was quite good. One of the killer features I need is a start date in additional to a due date (they all do due dates, but most don't handle start date properly). I have a fair number of tasks that I don't need to see right now, but I don't need to find out about them the day they're due either. I need a system that allows me to express "this thing is due on 11/5, but start pestering me about it on 10/30". I also want a tag-based system using contexts, one of the really nice refinements to come from the Getting Things Done cult, rather than a hierarchy of folders.

My research in this area eventually led me to OmniFocus. I say "eventually" because I recently went through this category of application again. I started with OmniFocus but found it too complex for my day to day usage, which led me to Things. I like Things because it is so radically simple, but that became a bottleneck for me because of the way I like to attack projects. That in turn led me back around to OmniFocus and some concentrated learning about how it wants to work. It's heritage is OmniOutliner, and you can still see that lineage, which adds some complexity to some parts. Because OmniFocus has lots of ways to get information into it, I kept misplacing stuff. The thing that took OmniFocus from "nice but tolerable" to "can't live without it" is the custom perspectives. OmniFocus allows you to save customized views, including filters, columns, etc. I created a bunch of custom perspectives that show me exactly what I need ("what things are coming due within the next week", "what needs to be done next on this project", "I have 10 minutes at home -- is there anything that can be done here and now?") and assigned those perspectives to hot-keys using the standard Mac feature of assigning keys to menu items (each perspective shows up as a menu item, making this possible). Now, I never use the built-in views, I always use my custom perspective depending on the information I need right now. Since doing that, OmniFocus has worked fantastically. It allows me to organize my days and weeks, just shows me what I need right now, and I'm confident when I add something to it that it'll appear at the right place and time. Learning to use OmniFocus right was the key, and now that I have I think I have the best task list stuff that I've ever had (beating out Ascend for this title is no small feat).

Of course, OmniFocus syncs with the iPhone (and has a terrific iPhone application) so that I can keep all my To Do stuff with me at all times.


OmniFocus is great for tasks that have firm due dates and works for recurring tasks as well (including some nice flexibility around "schedule the next one of these 5 weeks after the completion of this occurrence", which is great for things like haircuts). However, I have a few but important categories of things where I want to define rules like "I want to post to my blog every 9 days or so", which could be rewritten as "remind me after 7 days that I need to post a blog entry, and start yelling after 11 days if it isn't done". I use a highly specialized tool for this called Sciral Consistency. That's all this tool does: allows you to set up ranges for things that need to be done and remind you.

I could almost replicate this using OmniFocus features, but I already had Sciral and I like the minimal display & single-mindedness of the tool. This doesn't synchronize anywhere, but I always consume this information at my computer anyway.

Random Notes

The combination of calendar and OmniFocus handles all the structured stuff -- what about unstructured notes? I have two mechanisms for that: Evernote and Moleskine.


Evernote is a desktop, web, and iPhone application that allows you to capture notes (organized into notebooks) for whatever information you want to keep and search. A few killer features for me:

  • Automatic synchronization always everywhere. Every time you capture something with Evernote, it automatically synchronizes across all views.

  • OCR for white board text. I tend to draw on white boards a lot, and if you capture the drawing with Evernote's picture note, it will allow you to do text searches in the web and desktop client for words in the white board drawing. It's not perfect but surprisingly good at this.

  • Automatic forwarding address. Evernote sets up an email address for you; anything you forward to that address becomes a notebook entry. This is nice because it allows you to get stuff out of your email client. Evernote has much better searching capabilities than most email clients, and having the forwarding address means you can get searchable emails into Evernote very easily. This is particularly nice for those who use their email inbox as the world's worst filing cabinet; get that stuff out of your email client and into something where it can be useful.


The only bad thing about an entirely electronic PIM: there are still times when you cannot use it (like when the plane it taxiing). This may not seem like a big deal, but I find that I have lots of capturable ideas at exactly the times when I can't capture them. Thus, my other permanent GTD accessory is a soft-sided Moleskine book along with a Fisher space pen. I capture interesting ideas as soon as I have them (because ideas, especially those from the right brain, are fleeting). Once I get back to my computer, I transcribe the Moleskine notes into the rest of my system. At any given time, I usually have a page or so of new stuff in the Moleskine. I could get by with a few index cards but I've been carrying the Moleskine for a while and I'm used to it.

Tying It Together

My PIM lives between 4 different applications and a notebook with no real built-in integration between them. I always use them as a unit. For example, I have all 4 applications bound to the same desktop in Mac OS X, and those are the only things bound to that desktop. That allows me to always leave them in the same window state and position. Anytime I switch to one of the PIM applications, it goes to the appropriate desktop. I've also used Automator to create a PIM application that performs "Launch Application" for each of the 4 that make up my PIM. I no longer think about these applications as separate things.

PIM as Life Support for Focus

Obviously, this system is highly customized to me and won't work without changes for anyone else. I think that it is every knowledge worker's responsibility to find a system that allows them to get to and stay in flow as much as possible. Any tools that you use should make it easier to get to flow, not harder. I find that I tend to work best in 2 hour chunks (which I'm calling work blocks), which is similar to the very popular Pomodoro technique. One of the custom views in OmniFocus allows me to review projects that have pending work blocks so that I can find out what I need to work on, then immerse myself in that problem for a contiguous chunk of time. Whatever system you find, make sure that it supports how you want to work. Don't change your effective work habits to conform to some tool's vision of what your day should look like.

Wednesday, October 07, 2009

Twitter Matters: The Meme Abiogenesis of the Internet

This is part three in an exploration of why Twitter makes sense, highlighting its use as a legitimate tool for connections and idea generation. The first article is under Twitter Matters: Keeping Up with Weak Social Links and the second is under Twitter Matters: Conversations vs. Monologues for those who want to catch up.

Abiogenesis, the study of how a primordial soup of chemicals eventually lead to amino acids and life, is an area of fascinating study by biologists. This spontaneous generation of life happened here a long time ago, and its study obviously interests those investigating life on other planets because this primordial soup seems to be the first prerequisite for life as we know it.

You can think of the Internet as a free-form gathering place for memes, an element of a culture or system of behavior that may be considered to be passed on from one individual to another by non-genetic means. Examples of memes include hit songs, water-cooler conversations about hit TV shows, and things like communism. If you are in the idea business (meaning that you are always looking for new sources of ideas and how to apply them to a broad subject like software development), you are always on the lookout for primordial meme pools. Twitter meets that goal admirably. As I mentioned in the first installment, weak social links are your best source for "outside the box" ideas. That makes Twitter a great place to harvest and generate new ideas. New ideas frequently start from seeds of an idea that are nourished into full-formed thoughts. Twitter now only delivers these seeds to your door, you can use them as an incubator for your own seeds.

Here's an example. One of my recent blog entries was called the Suck - Rock Dichotomy. That particular turn of phrase came from a quick one-off Twitter entry where I was responding to a Tweet from someone that combined rock and suck. I mentioned that the entire argument was really part of the pervasive suck/rock dichotomy in the software world. That worked nicely in a 140 character Twitter post, and it was modestly re-tweeted. But it started more serious thinking on why that phenomena exists, which further lead me to an entire blog post (i.e., essay) on the subject. The turn of phrase came from me, but in response to some other stimuli. Would I have ended up writing a blog post on that subject if it hadn't come up in a virtual conversation? Probably eventually, but having a conversational medium close by encouraged the original Tweet, which lead to more fully formed thoughts about the subject.

Finding new sources of in-context ideas is a gold mine because you can never tell what fruit those idea seedlings will bear. Yes, 99% of Twitter is mindless trivia, but discovering or creating a new idea that you wouldn't have had otherwise? Priceless. People complain that most of Twitter is drivel, and I won't dispute that against overwhelming evidence, but the remaining usefulness is an artifact of the volume of memes present. Here's an analogy. Numbers vary, but some sources suggest that up to 95% of the human genome is "junk DNA", DNA that isn't used (or at least its use hasn't been determined). That's how nature tries out new ideas, and the really good ones survive. Most of Twitter is junk, but good ideas do lurk in these murky meme pools.

Twitter has evolved to fill a niche that didn't exist before. Just like any social environment, users have to figure out a way that it can provide value. I've certainly found that for me. The combination of keeping up with my weak social links, having terse conversations vs. email monologues, the enforced constraint to keep ideas atomic, and the new medium of ideas forms a completely unanticipated but welcome enhancement to the way I work. Rather than cast stones at new technologies like social networks, ask yourself why people find it useful and how can it be useful to you. The answer may be "no", but you need to understand why it matters before dismissing it.

Tuesday, September 29, 2009

Twitter Matters: Conversations vs. Monologues

This is part two in an exploration of why Twitter makes sense, highlighting its use as a legitimate tool for connections and idea generation. The first article appears as Twitter Matters: Keeping Up with Weak Social Links.

The 140 character limit is perhaps the most distinctive characteristics of Twitter. Some of my Twitter friends have commented that conversations on Twitter tend to be more civil: you just can't cram much message and bile into a 140-character message. This has happened to me: carrying on a debate on Twitter is an interesting exercise in conciseness. Tight constraint is a forcing function on creativity: sensibility, lucidity, and articularity in just 140 characters is tough. You would think that all discussions on Twitter are either about trivial subjects (so that you can fit it into the built-in limit) or quickly degrade into multi-part messages. While the latter happens sometimes, it is rare in my experience, and the former doesn't occur as much as you might think.

An example is in order. I recently posted a message in response to Jim Weirich that I thought that cyclomatic complexity wasn't as useful a metric in Ruby because so much of the things that normally require loops and branches are so handily encapsulated in powerful libraries. Thus, this effect causes cyclomatic complexity numbers to be lower when comparing apples-to-apples code in Java & Ruby. Jim correctly pointed out that that does in fact make the Ruby code simpler, and therefore cyclomatic complexity is measuring exactly what it is supposed to measure. During this same discussion, Glenn Vanderburg weighed in on a related subject, and then so did Ola Bini. The conversation quickly turned to the Sapir-Whorf Hypothesis and how viable it is for spoken languages (not much) and computer languages (much more so). Along they way, I learned the distinction between the strong and weak versions of Sapir-Whorf. All this took place over about 20 minutes, 140 characters at a time. Yet at the end, I knew a lot more than when I started. The combination of (shortened) links to external sources and brief forays kept the conversation focused, covering just a few topics and exploring the implications between them.

How would the conversation work without Twitter? It could only work if all the interested parties (myself, Jim, Glenn, and Ola) were somehow on the same email mailing list or happened to be at the same place at the same time. While our location does coincide occasionally, it's rare (we're based in Atlanta (sometimes), Cincinnati, Dallas, and Stockholm). Even so, the topic would have to come up in conversation. If we were on the same mailing list, the conversation would proceed differently. Because there is no character limit on email (I'll let you immerse yourself in the fantasy of a limitimg function on email for just a second), it's no longer a conversation, it's a series of monologues.

A tricky balance exists between constraint and creativity. Obviously you can cram more information and context into a sonnet than a Haiku (I explored this idea in a blog series about the expressiveness of the Ruby language back in 2007). 140 characters seems to be a bit of a sweet spot: enough to convey some thought but not enough to go overboard. Composing a good Twitter update is different from composing an entire blog but they aren't as far apart as you might think. I certainly have noticed that the people who both Twitter and blog have cut down on the number of blog entries they write. I'm certainly that way. It used to be that I would blog for 2 types of messages: short announcement type blogs ("I'm speaking at Random City Users Group next week") and essays. Now, all the short announcements happen on Twitter, leaving my blog for more formal essays. I like this distinction because I find that the blogs I read tend to be more substantive.

There is no question that most of what comes through Twitter aren't deep thoughts (many think that Twitter is just for food and travel). I find that people who only post obvious messages, too much information, or too much that I either don't care about or I find offensive don't stay on my list of people I follow long. There is at least one prominent technologist who mixes his interesting posts with right-wing bile, and I dropped him like a hot potato because I don't need a subscription to a channel for misinformed dogma. Managing your user list becomes important in Twitter so that you filter out stuff you don't want or need.

Twitter creates a new communication stream for those who contribute and consume Tweets (conversations vs. monologues). By creating a new specifically constrained communication channel, it moves conversations that used to occupy other spaces to a more appropriate space. This combination of a new conversational outlet between people with who I maintain weak links and the built-in constraints mean that I have a new source of ideas (both raw ideas and refinements of my ideas) to keep my brain percolating. In the next post, I explore the idea that Twitter can be a form of meme generator.