Skip to content

Just Because it is Possible

Still, there’s nothing technically preventing you from using [mouse button] chording in your program. If you want to code it up, then more power to you.

Does not mean it is a good idea.

Designing Technology around People

George Orwell’s 1984 is rightly a hugely famous novel of the twentieth century. His depiction of a totalitarian future was so griping and compelling that the words and phrases he coined in the creation of his vision have embedded themselves in popular language and culture. I wonder how many teenagers watching reality TV understand where that catchy title came from?

There was one aspect that Orwell did get glaringly wrong: the impact of technology. the limited technology shown in 1984 is all very much in the service of the state: the newspaper re-writing tools and the continuously broadcasting screens for example. But these two are both very poor predictions of how technology actually evolved over the three and a half decades between writing 1984 and 1984. Photocopiers deeply limit the effectiveness of re-writing newspapers – people would have their own copies, not much point in changing the centrally stored version then? And a network of screens continuously streaming into everyone’s homes? That’s just crying out to be subverted as a peer-to-peer network.

But these are just details and a symptom: Orwell got something much more fundamental, and surprising, wrong.

Technology is inherently liberating, not controlling; equalising not oppressive.

How is this possibly so? Modern history is replete with examples of dictators using weapons technology to do pretty horrible things in stamping out rebellion and even more recent history shows huge corporations attempting to do exactly what Orwell predicted, to their customers. But these are just anecdotes. Other anecdotes show mobile phones and hand-held GPS units being of incalculable aid to rebels. Corporations are trying to spy on their customers precisely because they were completely blind-sided by developing technology. I want to address a more fundamental point than these anecdotes.

Technology is probably reasonably described as the output of humanity’s tool-making instinct. No one really thinks of it as broadly as that, especially now. It’s inconceivable to regard the chair and the kettle as technology even though they were both once cutting-edge. Instead, technology is regarded as the recent output of our tool-making instinct. There is a question going begging here though: how do recent technological developments migrate into that background of things we just have?

Going back beyond the kettle and the chair, the spear would have once been cutting edge technology, developed after extensive R&D and in the face of punishing market conditions and intense competition by some family somewhere in the African savannah. The immediate effect of this new development within that family would have been stunning. Instead of only the elite runners capable of running down an antelope being the ones providing meat, anyone strong enough to wield a spear suddenly could. Given the very different physical requirements for the two hunting techniques this was certainly a different set of family members. And right there, the spear as a piece of technology has liberated some members of the family. Sure, hunting is still the domain of strong, young males, but this is the savannah of African a million years ago we’re talking about; it took until 1900 before we even gave women the vote. Equality is a luxury the ancient savannah could never afford.

This is still just a fascinating theory, but think on the implication: the spear was a valuable piece of technology because it helped overcome a physical limitation of the family. And this is generally true of all technology: it is valuable when it lets people do something they otherwise couldn’t. Technology is about placing the unobtainable within more people’s grasp – but not by devaluing the goal, instead by extending the grasp. As the spear placed more meat within the grasp of the family on the savannah, so the mobile phone places more of your friends within range of a chat or a helping hand now. Technology is leverage; it takes what you are already capable of and then by adding a little more in just the right way, makes you capable of something new. By it’s very nature technology is about raising the average standard of what can be achieved, leveling the field for all.

It is, in two words, inherently empowering. And to me, this is the answer to that question. When technology perfectly articulates its own empowerment it migrates into the background of society, no longer a big deal. Just there for everyone to enjoy.

Of course, that’s not to say all technological developments achieve this holy grail of leverage. Much development results in brand new technology that never sees widespread use. Many times this is the natural inefficiencies in a capitalist market. Frustrated technologists try to cope using open forums for ideas and development. Open source is a modern example, but public universities have always openly shared their work.

But still we see failures of technology.

Now, if you accept that technology has succeeded when it multiples out the abilities of humanity then the development of the technology is just part of the problem. Just as important is the interface between it and actual living, breathing humans. For technology to effectively leverage our abilities, it must become an invisible extension of ourselves; the interface, the line the technology draws around us, must be a perfect fit between humans and that goal, right there, the one they’re really after. Without something close to perfection, you’ve got just another disappointment, and worse: a waste of someone’s time spent thinking. There is a huge class of ignored and overlooked problems here in these interfaces. These are problems of design; not in the narrow ‘how-does-it-look’ sense, but in a much deeper ‘how-is-the-functioning-of-this-going-to-interact-with-a-human’ sense.

And I have come to realise that this is a question that I care deeply about. Technology is not an end-in-itself. It must be designed to be used. No, that’s too weak. Technology must be designed to make people’s lives better. When designing something don’t just think ‘how will this be used?’ Instead, think ‘how will this make someone’s life better?’ Don’t waste your life on simple, easy half goals: aim for the big one. Find your target market and work out how your idea will make their life better. And I mean, really make someone’s life better. Imagine your product fully integrated into their life. Can’t see it yet? Well, back to the design then. You’re aiming for a glove here. Accept nothing less.

Looking back at some of my essays I can see that I’ve been talking around this indirectly for some time. I recently listened to a podcast by Merlin Mann of 43 Folders and John Gruber of Daring Fireball that managed to crystallise my obsession for me. So I’m now planning of focusing on this idea. I want to see technology designed first and foremost to interact with humans, to fit into their lives invisibly and to thus make their lives better.

There will still be book reviews, because I love to read and writing those makes me a better reader, but I will be attempting to focus my other writing on this central idea: Technology Designed around People. I have no idea if I’m going to succeed, but at least focusing my rants might make me less annoying to be around. I also believe that society has a fixed amount of attention, this will be an attempt to focus some of that attention where I think it should be.

The Complete Polysyllabic Spree

The Complete Polysyllabic Spree
Nick Hornby

This is the first work of literary criticism I’ve ever read, and after reading this I can’t see what everyone complains about. This wasn’t dry, inaccessible or self-involved at all. Well, actually, it was pretty self-involved, but in a highly engaging way.

Unlike some of my friends, I am something of a Nick Hornby fan. Yes, his books are very light, but he finds wells of depth in that lightness. Yes, he writes female characters pretty appallingly, but he does write sensitive, deeply flawed, but ultimately likeable male characters very well: they are weak, uncertain, confused, human. As an intelligent, sensitive, non-macho male I find that there aren’t many characters I can identify with. I can identify with Hornby’s, and hence I enjoy his books.

For two and and a bit years, starting in 2003 Nick Hornby wrote a kind-of-book-review column for the US literary magazine, The Believer, who I am glad to see are still around. The Believer is affliated in someway I do not fully comprehend with the consistently brilliant McSweeney’s Internet Tendency. Anyway, Hornby’s column was called ‘What I’m Reading’, or words to that affect and was just a description of the books he’d read in the past month, that’s all. There was one further wrinkle: The Believer has a firm ‘no slagging’ rule. Works discussed in the Believer must be described positively, if you wanted to attack something there are plenty of other forums, all other forums in fact, but in the Believer artists would find somewhere safe.

Living in a cultural backwater, I haven’t encountered this magazine, but I’m looking now.

This rule apparently caused Hornby some trouble at first, until he settled on the technique of not naming or identifying books that he didn’t like. But, he also became careful about what he read, and his relationship with the books he did read. By being more careful, he ended up enjoying most of the books he read. There aren’t actually that many unidentified books in the end. By analysing his relationship more carefully he can identify when he didn’t like a book because of something in himself. His ill-fated experiment with reading sci-fi is a great example of this.

Beyond all that background, this is the collected diary over 28 months of the reading adventures of someone who deeply loves books and reading. And it is a mightily positive ride. This is a book to re-discover your love of reading by. If you’ve been burned by something bad recently pick this up and read a couple of months to re-discover your love. And if your tastes happen to match Hornby’s you’ll likely get some very good recommendations. Coincidentally, I read one of his more liked books shortly after reading this and it has been one of the best books I’ve ever read. More on that in a later post.

This has been one of the most enjoyable books I’ve read: it’s hilarious, engaging and surprisingly moving at times. I read it at a difficult time, it was a great escape and a very nice reminder of the things in life that are to be savoured and enjoyed.

I’ve been raving about and recommending it since. Count this as more in that vein. In a very trite turn of phrase, if you love books, you’ll love this.

Links in Tweets

There is currently some discussion about the dangers of URL shorteners. Joshua Schachter points out that shortened URLs damage the web – the ‘hypertext as engine of application state’ part of it. David Weiss points out the security concerns – phishing and a single compromisable point.

In this conversation most people point out that URL shorteners have proliferated because of the popularity of Twitter. Kottke has now proposed that Twitter run a URL shortener of their own. Which seems eminently sensible, given the current state.

I’ve got a different suggestion: Twitter should actually let me use the <a> anchor tag in my tweets. Just like I’ve been doing in HTML for as long as the web has been around. That is, the URL in your tweet should not contribute to the number of characters in your tweet, and it should also not be visible. Instead it should be attached to a word, phrase or perhaps the entire tweet. This should be optional: without markup URLs pasted into tweets should maintain the status quo.

Of course, no other forms of HTML markup should be supported: linking would be enough. The Twitter web site and desktop and custom phone clients would have no problem rendering a link. Only SMS clients would have a problem, and for these perhaps the fallback is to shorten the URL using Twitter’s own URL shortener and insert that into the tweet. SMS clients may not be that common for much longer.

Assuming Twitter allows specific parts of the tweet to be marked up, then I suggest Markdown syntax for the link. This recent tweet would have been typed out as:

I unplugged every landline phone in our office
because of [marketers](http://sethgodin.typepad.com/seths_blog/2009/04/poisoning-the-well.html) (via @misswired)

Which would have appeared as:

I unplugged every landline phone in our office because of marketers (via @misswired)

Which is what I was actually trying to say.

Of course allowing link markup like this is going to be very popular with spammers. Two counters:

  1. Twitter should include rel="nofollow" on links when rendering – as they already do.
  2. Don’t allow targeted markup like this, instead allow the entire Tweet to be marked up – only one link per tweet. The disadvantage with this is that sometimes I want more than one link, and the appropriate rendering is not obvious.

Both targeted markup and one-link-per-tweet have advantages and disadvantages, I’ll leave it up to Twitter to choose between them. But please, give me back my <a> anchors.

tel:

RFC 2806: a URL scheme for describing phone numbers. A URL looks like tel:+1-312-555-4589. Cute. I didn’t know this existed. But Mobile Safari on the iPhone does. It seems more immediately useful than hCards (browsers already understand it!) But much more limited in scope: its scope is expended on standards for modem and fax calls. Wow. Retro.

I’ll be keeping it in mind, I believe it will become more important.

Slumdog Millionaire (neé Q&A)

Slumdog Milionaire
Vikas Swarup

A book club book. My reading has slowed down a bit recently: it seems that three out of my last four books by this stage have only been for the book club. It’s keeping me reading though. That seems worth it to me.

Slumdog Millionaire was a very enjoyable, easy read. I sat down and read it in a single sitting. Interestingly, it was a very hard book to get hold of. the movie had just hit the cinemas and was exploding. The book had been out of print in Australia for a little while, and none of the book shops had it in stock. They also didn’t seem to be aware that it had been rushed into re-print, with the new title. It was originally called Q&A, but my copy was titled Slumdog Millionaire to capitalise on the success of the movie, sot that’s what I’m reviewing it as. I hadn’t and still haven’t seen the movie. To be honest, though I enjoyed the book, reading it hasn’t made me desperately keen to see it.

It’s a fun read, but the main character, Ram Thomas Mohammed, is a complete everyman character, and not even a particularly interesting one. I couldn’t care less about him: his life and his love interest just didn’t grab me. His friend though, who disappears off-screen for most of the book, he was interesting. It felt odd, like sitting at a table where someone close by just keeps droning away at you. From down the table you keep catching fragments of a much more interesting story, but it’s getting drowned out by the bore in front of you.

I wanted to interrupt Ram/Thomas/Mohammed just to get him to shut up. I wanted to reach into the book just so I could shove him aside and hear the story of his friend. I’ve read a few by Rushdie and his microcosms of India are far more interesting. He is simply a better writer, so it’s a little unfair, but that’s why you read good books.

Find Mutual Follows, Redux

Previously, I’ve mentioned that I’ve written a script that will show a Twitter user who they and another Twitter user both follow.

Well, a script isn’t much use to me or anyone else: you can’t run a script on an iPhone. So like all software wants to be, this script is now a simple little web application: mutual. Please be gentle, and I know I’m not a designer.

This should be the start of more useful little applications like this appearing. I’ll blog about that. Also, for the programmers out there, this is written using the Sinatra Ruby web application framework. If you thought writing apps using Rails was fast, well, you ain’t seen nothing til you’ve seen Ol’ Blue Eyes take the stage.

A New Home

Apparently I think of myself as some sort of web-type-person. Well, that’s a bit hard to maintain without my own home on the web. So, now I have one.

All my old blog posts have been brought across from the old Blogger blog. But also soon I’ll be using this to host some cute-slash-marginally useful applications I’ve written.

There’ll be posts about those when they are up and running.

Review Catch-up

I’ve been falling very far behind on my book reviews. I have actually been reading, I just haven’t been reviewing. And, well, once the backlog of books gets more than about four high it’s pretty hard to write proper reviews.

I’m cheating. I’m going to catch up by writing short reviews of all the books I’ve read in the last six months or so. And from there I should be able write real reviews for books again.

Without further ado, here’s six months worth of books in three sentences, or less.

On Her Majesty’s Secret Service, Ian Fleming. Part of the book club, I wanted to get a feel for actual Ian Fleming Bond books, before reading Faulks’. Fun, enjoyable, if you can avoid hurling the book across the room in the first 20 pages out of frustration over the blatant misogyny. I managed – just – and found it got better.

Devil May Care, Sebastian Faulks. The actual book club book – a Bond story, set in the ’60s, but written just last year by Faulks, in the style of Ian Fleming. Less misogynistic and generally offensive, but a lot less enjoyable. I frequently got bored and would put the book down, forgetting to pick it up again for a little while.

The Road, Cormac McCarthy. Another book club book – this one was brilliant, some thought it was depressing, but I found it uplifting. The ash and the grey bleakness practically leaches onto your fingers out of the page, which is nothing on the handful of images in this book that you will probably never forget. It’s a fantastic book, but be warned.

The End of Mr Y, Scarlett Thomas. A potential contender for most pretentious book I’ve ever read, possibly even beating Virginia Woolf’s Orlando, but don’t let that put you off, it’s actually pretty good. It a tour through literary criticism and modern physics with a significant dash of metaphysics tossed in – it felt inspired by Pynchon. Quite original though, and recommended.

One Day in the Life of Ivan Denisovich, Aleksandr Solzhenitsyn. Another book club book – chosen because, well, he’d just died. An absolutely great book, and a deserved classic, I have essentially no complaints and instruct you all to read it – it’s short, funny and a very easy read. However, apparently this book inspired many in the west to embrace communism, and that I just can’t see.

A Clockwork Orange, Anthony Burgess. A book club companion book, for One Day In the Life…, chosen because it was a banned book, and coincidentally it features a lot of Slavic inspired slang, without any explanation – which was actually surprisingly cool. Unfortunately, I haven’t seen the famous movie. The book was a good, but a little weak.

Seize the Day, Saul Bellow. Because of all the short books, I went for another companion book – this one was a ‘day in the life’ story. Fellow book clubbers felt that our last two books (The Road and One Day in the Life of Ivan Denisovich) were very depressing - but this, this is depressing. Every single character is deeply detestable, not just in nature and behaviour but also in past: this is a book to attack your opinion of your life and make you doubt everything. Be warned.

Stranger in a Strange Land, Robert Heinlein. A monster sci-fi classic from the golden age of science fiction, regarded as serious, deep and important. Also, utterly hilarious, and quite irritating. The funny comes from Heinlein’s sexism: he simply could not conceive of any kind of female equality that wasn’t some kind of weird submissive promiscuouity. That and the long discourses on various aspects of science are also very irritating: please don’t put incidental exposition in dialogue, it’s trite.

Twilight, Stephenie Meyer. Book club again – vampire chick-lit was the required genre and this hit it. Very readable, but I was hoping that something would happen. I guess I was never a teenage girl.

The Graveyard Book, Neil Gaiman. Excellent: just the right line between a fun story and something that felt just a little darker and deeper. It’s a re-writing of Kipling’s The Jungle Book, though this is subtle. While it is a ‘young adult’ novel, read it and enjoy it, a very good book.

Odd and the Frost Giants, Neil Gaiman. A very short $2.50 novel that I read in 45 minutes. Cute.

The Virgin Suicides, Jeffrey Eugenides. Wow, one of the best books I’ve read in a very, very long time. It’s different, it draws you in, you become part of the story; in a very engaging way. Shortly after reading I saw the movie: and also wow, a very faithful to the spirit rendering.

Still Life, Louise Penny. Wow, one of the worst books I’ve ever read. Seriously, this is absolutely abysmal. Murder-mystery in genre, but pure rubbish in execution. All the way through the book I had to keep putting it down to avoid the hurl-across-the-room feeling. For example, first chapter identifies the murder victim; second chapter goes back in time a couple of days, to the victim talking to a friend in a café, she reveals that she saw a crime. And then without any pretense, the description the crime is skipped. I mean, come on! Gee, do you think that could have something to do with her death? But then, in a few pages you find out what happened anyway. And! In the end, that crime has nothing to do with the murder. Christ. After this and The Blind Assassin Canadian literature is dead to me. Oh, and this was a book club book as well.

Altered Carbon, Richard Morgan. A tip: if you read something really bad, read something light that you know you’ll enjoy very quickly afterwards or your brain will start to tell you that the hours you have to put into a book are a bad investment. This was a good counter: a really cool sci-fi noir story. Most interestingly, this was a novel centred around a highly socially disruptive technology, but in the window before the tech becomes ubiquitous and available to all. That window is interesting. There are also some Banks-ian characters, without quite the same detail in the characterisation, please read if you like sci-fi.

Pomegranate Soup, Marsha Mehran. Again, thanks to the book club, this was a simple story, and just plain nice. It wasn’t particularly well written, there wasn’t a great deal that happened and the characterisation was just plain atrocious, but in the end I enjoyed reading it and I found the story was… nice. Apart from the transparently good vs evil characters, a major criticism is the lack of direction: there are frequent, unexpected changes in direction. She almost redeems herself with a glimpse into the past of the main villain, but it just doesn’t seem to go anywhere. Still, … nice.

And the funny thing about all that? It seems to be much easier to write something about bad books than good books. That would say something the reviewer, I think. I shall work on that.

Finding Mutual Follows

When you’re a Twitter’er you will often be in a situation where someone follows you, and you’re wondering, ‘Who is this person? Do I know them?’ Well, I can’t answer that question for you. But, I have found that one thing that tells you about your new follower is who they follow that you also follow. Follow?

I want to be able to ask the question ‘Who do we know in common?’, in short. A useful question, but one that can take quite a while to answer using the web site. I asked the lazy twitterverse if there was already an app for this, but my twitterverse is too small to get an answer. So, I wrote my own script. I don’t have any handy web space to run this from, so you’ll have to grab it and run it yourself. You will need to install the twitter4r gem first:

sudo gem install twitter4r

Then paste the following code into a Ruby file, and run. It takes two parameters, the names of the two users for who you want to find common ground.

require 'rubygems'
require 'open-uri'
require 'rexml/document'
require 'twitter'
class Twitter::User
def all_friends users = friends.map { |f| f.screen_name } # If there's more than one page of users, we've already got the # first one page = 2 found_users = friends.length while found_users >= 100 found_users = 0 open("http://twitter.com/statuses/friends/#{screen_name}.xml?page=#{page}") do |f| users_doc = REXML::Document.new(f.readlines.join('')) users_doc.elements.each('/users/user/screen_name') do |friend_name| users << friend_name.text found_users += 1 end end page += 1 end users end
end
def in_common(my_friends, other_friends) my_friends.select { |m_n| m_n if other_friends.member? m_n } end
def main(me, other) c = Twitter::Client.new me_friends = c.user(me).all_friends other_friends = c.user(other).all_friends in_common(me_friends, other_friends).each do |f| puts " #{f}" end end
main(ARGV.shift, ARGV.shift)

Enjoy, and please let me know how it works out for you, or if you make any changes. And by the way, *this* is why RESTful APIs rock.