Author Archives: Shahid Hussain

Implementation models vs mental models IRL

If you’ve read “About Face” (Cooper, Reimann, Cronin) you’ll recognise this diagram. It’s a great description of how a product can be closely related to the way it was built (the implementation model), or the way a user relates to it (the mental model).

Implementation models vs mental models

Here are some products that are close to the implementation model:

  • The command line
  • IRC
  • Opening files with VLC

Here are some ideas that pull implementation closer to a mental model:

  • An email inbox
  • A desktop in your operating system
  • Folder icons in Explorer / Finder / GNOME

It never occurred to me that the same could happen in real life, but here it is, from a gym in Birmingham, UK. This is a sheet that members use to refer their friends (presumably in return for a discount).

Making interface animation useful

Many interfaces on the web contain some kind of animation. We’ve had Flash for a long time, and with jQuery and HTML5 it’s become even easier to add animation.

Should we do it?

Just because we can do a thing, it does not necessarily follow that we must do that thing.

People hold these two views about interface animations:

  1. Take the animations off! They are slow and I want to concentrate on function – this crap just gets in the way!
  2. I will put in animations because I can. L33t

There is a third way, which is this – make your animations useful. I’ll explain by showing an example of a site that lights the way, and a site that ballsed it up.

This site lights the way

bandize.com

Behold, Bandize.

As you click through the navigation links – Show / Tours, Accounting, Contacts and so on – the content in the lower box sweeps linearly. If you go from link 1 to link 3, you see the content from link 2 sweeping by quickly. The list of links is your map, and the content box below is your zoom into that map.

The animations directly describe how your control is related to what you’re seeing, and that’s good.

This site ballsed it up

widgetbox.com

Behold, widgetbox.

This is a really similar content discovery style – a set of links (the four grey panels to the right) that control a panel (content to the left).

But this time, there are a few errors.

  • Firstly, path from navigation links to content doesn’t match the animations. The content animation sweeps linearly along to the right, same as Bandize – but the navigation links are actually arranged in a zigzag. Try it – it’s confusing as heck.
  • The grey panels activate on hover rather than click, which makes it too easy to navigate by mistake rather than intention.
  • There are two more ways of navigating through content (I circled these in orange above). One, a play / pause control that’s almost invisible, and second, iPhone style dots (that actually do map correctly with the content animation – they’re in a line.) Both of these elements are clutter.

Conclusion

Using animations is easier than ever, but be careful. Don’t add them for their own sake – make sure they are helping the user understand what’s happening and why.

T-Mobile’s image compression

I’ve been using a T-Mobile UK connection through a Nexus One to stay online in Blighty. It turns out that they employ some shenanigans to keep their bandwidth costs down.

A few tricks seem to be happening:

  • A transparent proxy loads your requested images, but sends you a more compressed version of your image instead.
  • On every pageload, a script tag to insert this javascript file is injected into the page header. This file allows a user to request the full quality images with a keyboard shortcut after pageload. Instructions are given with a tooltip on every image.
  • All unnecessary formatting is removed from the page source, i.e. spacing, tabs and so on from the HTML.

Here’s what the compressed image looked like:

Here’s what the original image looked like:

How much bandwidth did this save?

Here’s what we know.

  • In my very non-scientific testing, the extra compression seemed to approximately halve the size of the image delivered.
  • According to the YUI people, average image pageweight is around 50% due to images.

Therefore, T-Mobile should be saving around 25% on every pageload. This comes at the cost of a slightly diminished user experience for users, maintenance costs for the proxy and script files (albeit minimal), and potential subtle brand damage (a user might perceive T-Mobile delivered internet as worse quality).

Update: You can disable the image compression by visiting http://accelerator.t-mobile.co.uk/ while connected via t-mobile.

Web coding on a mac

If you’re developing for the web, the chances are good that you have a server out there somewhere running a LAMP stack. If you’re doing a lot of iteration – which is probably a good idea – you’ll want to find a quick way of changing code on your server rather than downloading & uploading all the time.

Option one: Use vi

The cleanest way to develop code on that box is to SSH directly in there, and use vi, but it’s not all roses.

Advantages:

  • Great syntax highlighting
  • vi is frighteningly fast if you know how to use it
  • You can use the same environment from any laptop running os x or linux, and it’s instantly familiar
  • You don’t even need to install any software locally

Mannequin coverDisadvantages:

  • vi’s learning curve

For newbies like me, watching someone who’s familiar with vi makes me feel like Emmy from Mannequin. (“Where did they hide all the musicians?”)

So, you could spend a long time learning vi, or try something else.

Option two: Use something else

If you’ve ever used Dropbox, you’ll know that having a remote filesystem mounted in Finder makes working with files super easy. Luckily, there’s some great OSS around to help you do just that. Here’s how to get started:

  1. Download and install MacFuse from here
  2. Download and install MacFusion from here

After restarting your mac, you’ll be able to mount both SSH and FTP servers right into your filesystem. Now, you can use your text editor of choice on the mac, directly working on the files you want to play with.

Advantages:

  • Use any text editor you want (I use TextWrangler because I’m cheap)
  • Use all your mac’s keyboard shortcuts

Disadvantages:

  • You need to install some software locally, so you’re screwed if you have to move between laptops

Being a vi numpty, I chose this second path, and so far it’s working a treat. However, there is a bug in the current version of MacFusion (v2 final).

Macfusion Bug on sshnodelay.so

When connecting over SSH, you’ll note that the connection can’t be made. You’ll see a “remote host disconnected” error, and on examining the log in MacFusion, you’ll see this:

dyld: could not load inserted library: /Applications/Macfusion.app/Contents/PlugIns/sshfs.mfplugin/Contents/Resources/sshnodelay.so

sshnodelay.so error

The solution is to rename the file to something else. Head into Terminal, and type this:

cd /Applications/Macfusion.app/Contents/PlugIns/sshfs.mfplugin/Contents/Resources/
mv sshnodelay.so MOVED_sshnodelay.so

… and voila, you can now mount over SSH no problem! (source)

Guide to Twitter for Marketers

Last week, I gave a talk at Kellogg on Twitter. I wanted to try and help our people understand what it means for them as we graduate and head into business. This post is the content of that talk.

If you’re well into social media already, you might be familiar with a lot of this information already.

If you’re not working in social media but you want to understand how you might be able to use it to help your business and your customers, this post should be useful for you. Unlike Twitter, there is no short version, but I’m always happy to help if you have any questions. Just ping me!

Start here

First – Twitter is probably something you should know a little about now. Here’s Comscore data to April of Twitter versus LinkedIn, NY Times and Digg.

twitter-vs-digg-linkedin-nytimes

Two more signals of it being mainstream – it’s been on Oprah, and it’s been on the Daily Show. This isn’t a fad, and although it might change, Twitter isn’t going away.

What is it, and how do I use it?

First, go and sign up for an account. To quote:

You can’t understand Twitter, Facebook, or blogging by reading an article in a magazine or a report from your CMO.

George F. Colony
CEO, Forrester

The basic idea is this. You put in a short message of 140 characters or less, which is by default available for anyone to read.

That’s it.

It’s similar to Facebook status messages – except in Facebook, only your friends can see your messages. It’s similar to blogging, except your messages can only be 140 characters long.

At first glance, it’s not a mindblowing concept. But let’s examine more closely why it’s worked out so well.

Why is it so goddamn popular?

One – the messages are 140 characters.

Let’s do a little experiment. Take out a polite email you’ve written recently to someone you don’t know – maybe a request for an informational interview, or an invitation for someone to speak. Now, try and boil it down to 140 characters or less.

Imagine yourself in the position of the person you’re emailing. Of course, it’s nice to get a polite email. But if you’re pushed for time and just trying to absorb information as fast as possible, the 140 character version will probably get the message across faster.

Now consider Generation Y. There are studies knocking around that demonstrate that the attention span of Gen Yers is decreasing. So not only are they getting more information per unit time, but they don’t have the patience to read through an entire article. (Maybe I should just twitter this article out instead? hope u r not gen y)

Two – you get messages in real time.

In tech, we like to keep out eyes open for trends – and there’s one happening right now – real time. To quote:

I have always thought we needed to index the web every second to allow real time search. At first, my team laughed and did not believe me. With Twitter, now they know they have to do it. Not everybody needs sub-second indexing but people are getting pretty excited about realtime.

Larry Page, Google Founder

Twitter is one of the reasons Page is talking this way. You can get a solid idea from Twitter and its surrounding services what users are talking about right now.

Three – you can access it from anywhere.

Twitter is pretty goddamn open with their API. Check it out – if you’re running Mac or Linux, hop on to the command line and type this:

curl http://twitter.com/statuses/public_timeline.xml

… or this …

curl -u user:password http://twitter.com/statuses/friends_timeline.xml

That’s it – you’ve just queried the Twitter API. If you wanted to, you could recreate the entire twitter user page with calls to the API like the ones you just made. That’s something that makes Twitter different from Facebook. Combine this with some talented developers and great ideas, and some amazing applications like twistori start to appear.

Four – location information.

Most importantly, people have written twitter clients – applications you can use to read and update Twitter – for everything. Multiple iPhone clients, any smartphone, and you can even update via SMS. For some of these clients, the location of the update is included – and location based services are also ramping up right now. How’s that useful for twitter? Check out this demo, which pinpoints where people are twittering about swine flu in the US right now.

What do people actually WRITE on Twitter?

Like Facebook or blogging, people have a whole bunch of stuff to talk about. I’ve put it into four categories.

  • RSS replacement. TechCrunch twitters out 140 character versions of its stories that are quicker to parse than their RSS feed. So, it can replace RSS for a user. An article prĂ©cis can come from random users as well as the article writer.
  • MLIA. People just tweet about the unimportant details of their lives. I don’t have any data on this, but I believe most tweets fall into this category.
  • Self-promotion. Julia Allison is a great example of this – not particularly being famous for anything except being a minor web celebrity. She’s making the service work to promote herself, and being pretty successful so far.
  • Real celebrities like Oprah, Queen Rania and Shaq, who are using it to build on their existing profiles or promote a cause. Here’s another place where real time works – a Shaq fan get get updates from their idol on exactly what they’re doing right now. That’s bringing fans and celebrities even closer together, and it’s reasonable to expect celebrities that use social media to start to outstrip those who don’t.

oprah

Of course, there are users like Sockington the cat that defy categorisation – but I hope these four cover most bases.

One more thing to consider – Patrick Swayze is not dead. Because Twitter users use each other as reference points, information spreads rapidly throughout the network, whether it’s true or not.

How should / shouldn’t my company use Twitter?

What I can do is show you some examples of how people are using it to help you figure it out.

First of all, to quote from a Kellogg study:

There is a measurable connection between what is being said about a product in online posts and real-time customer behavior.

Not shocking news. The interesting part is how Twitter is helping us to peer into those conversations – twitscoop and twends are two tools you might want to use to do so. How’s that useful? Let’s say you’re putting out a superbowl ad. You can use these tools and others to understand immediately how well your campaign is going, and adjust it accordingly.

Now, let’s see two good examples of how companies are using Twitter.

  • Kogi is a Korean barbeque truck that drives around LA, tweets out where it’s going to be, and then shows up to the crowd that’s been following them on Twitter.
  • Threadless, a Chicago based t-shirt design community, twittered an official press release to request tweets that are voted on and made into t-shirts.

These examples work because they lean on Twitter’s strengths – community and real-time. That said, it’s not all roses – you can be a hero or a victim.

Twitter’s mean streak

Skittles decided to take the obvious route, and just replaced their home page with a live Twitter stream next to Facebook, Flickr and Youtube content. Of course, the internet sensed an opportunity for vandalism, and started tweeting rude stuff so it would appear on the home page. They’ve since scaled back to just use their YouTube homepage, where the vast majority of comments are positive, but there’s also these:

  • How is this useful. I’m not buying skittles because of this. Heck, I wouldn’t have heard of this without ZD NET social media fails
  • wtf is this
  • i love sex !

Using social media marketing means asking your customers to speak for you, and that’s risky. First time around, Skittles gambled and lost.

Here’s another. Consider the example of Motrin, which is a painkiller. They put out this ad:

Some influential folk in the twitter community took pretty serious offence to the ad. The result?

motrin-apology

So – there you have influential people in social media killing off hundreds of thousands of dollars of investment. Gone!

Can’t I just pay to get buzz?

It might be tempting to employ people to try and control that conversation and mitigate the risk, and that’s just what companies like Izea do (although the FTC may have something to say about it). Here’s their side of the story.

In my opinion, one should resist this temptation. An employee at Belkin famously tried this, paying people a small amount to write positive reviews of their products on Amazon.com. That didn’t turn out to be good PR for anyone, and the employee was hung out to dry by Belkin.

Granted, Izea argues that “sponsored conversations” should be marked as such, but it doesn’t sit well with me. People participating in this are advertising to their friends, and one of the reasons why social media and word of mouth advertising is so effective is that people trust their friends to give them an unbiased opinion. Directly influencing the conversation with money or something similar breaks that trust.

So, what the hell do we do?

This is the most interesting part of this whole deal. There is no solution for everyone. The effectiveness of old school media is drying up. It’s problematic to influence the conversation directly. We just have to come up with clever solutions, like others have, and accept that the days of throwing money at a media plan are dying out.

The Smart Rebel

Fact is, a lot of the class of 2009 will be graduating Kellogg without a job. Another fact – there are, for sure, jobs out there. Some might think that this situation is wrong, the students are to blame, the school is to blame, and we should just get a job, whatever it is.

But I’m here to tell you something. We worked hard to get in, worked hard while we were here, and spent a ridiculous amount of money trying to learn something useful. All of us want to find a job that’s exciting and interesting. And if you think we should settle for something less, then stuff you.

Everything is going to be OK

And another thing. If you think we shouldn’t worry because we’re MBAs and we’re owed a free pass to the executive bathroom, then stuff you. Those days are over. For the rest of us – let me lay it out.

Things aren’t bad, things are changing.

Generation Y is growing up – killing off old marketing models on the outside, and restructuring companies for sustainability and social responsibility on the inside. Technology is levelling the playing field in media. The internet is still a source of amazing ideas that can change the world.

But things are changing fast. Companies that are just doing things the way they’ve always been done are missing their earnings calls and rescinding their offers. But the opportunities right now are with companies who ARE doing things in a different way. Big companies with open minds. Small companies trying to upset the order. The rebels.

Sure, all of us are being thrown to the lions. We can’t as easily hop from cushy yuppie pad to cushy yuppie pad. But this is how it was meant to be. This is what we trained for – not creaming fees from departments who want to buy data they’ll never look at or advice they’ll never use, but actually making companies better. Getting stuff done. Pulling out and using our coursepacks. Connecting people. Helping others who need it.

This good news is this – the world will always need smart people. We have an opportunity to do something clever with the tools we’ve been given. We can take that opportunity.

It’s our turn to be the rebels.

How To Be A Successful Blogger

279-days-logo-201x300Some of you may have come across Chris Guillebeau’s 279 day guide to success as a blogger. For those of you who don’t have time to read it, here’s the short short version.

First the obvious parts:

  • Being a successful blogger takes a long time and is a lot of hard work.
  • Even doing that won’t make you boat loads of cash.
  • You need to stay disciplined in your posting.
  • Get other sites interested in you through reviews, guest posts & media connections.
  • Use primary market research.

Now the interesting parts. Chris’s position is that Adsense ads suck, because you’re trusting Google to figure out what’s contextual. If your site links out to stuff, you’re telling your visitors that if they trust you, they should trust this ad, and that link is being driven by an algorithm that could well be wrong.

I would argue that most people understand the weak trust link when they see Adsense embeds, but it follows that a weak trust link means that the advert is going to suck at being effective anyway. I’d not thought about this before, and it’s definitely worth considering.

Chris’s solution for monetisation is the freemium model – a blogger’s product is information, so why now charge for some of it. It’s not going to work for everyone, but Chris has made it work for a non-targeted blog, so that’s encouraging.

In reading it, a few quotations stuck out:

  • “I work harder than most people I know, and the other unconventional success stories mentioned in this report do the same.”
  • “I derive too much emotional validation from the daily state of my network. When lots of people are subscribing, the comments are up, and the links are rolling in, I feel great. When the numbers are down, I feel bad.”

Right there is the real reason Chris’s blog has been so successful – he clearly works his ass off.

The worrying parts

googleadInteresting fact: a lot of the most popular blog content is about how to become a popular blogger. The whole hook of Chris’s report is on how to be just a successful as Chris. I’m not disputing his incentives at all, but when you strip away the excellent graphic design and verbiage, that’s what it boils down to.

Here’s the problem. Folks read his report because they want what he has, but for whatever reason (family, the day job and so on) they can’t invest the time needed to actually DO it. If they did, thousands of super successful blogs would start to spring up. It never happens. Even if it did, since global web attention is a stretchy-but-limited commodity, as supply increases, price goes down and folk spend less time with one individual blog.

I’m not saying it’s a pyramid scheme – Chris isn’t charging, isn’t benefitting, and in fact, licensed this report with CC-BY. But some elements are there – one successful guy at the top and a lot of people who want but can’t attain the same success.

Technology Platforms in a Nutshell

One of tech’s dirty words is platform. The idea is simple – build something that others can build on top of, and suddenly you have control of not just a product, but a little ecosystem.

That’s a really common thing to do, but there are a few choices you have to make. If you make a tool and widget that goes into it, does that widget conform to standards set by agreement, or do you have the power to change standard widget design whenever you want to? Is it free for other people to make widgets? Does any of this matter to the consumers?

I set the rules around here

Let’s say that you create a product + widgets, and you’re the only one that sells both. It’s likely that you’ll sell the product cheap and the widgets are relatively expensive, because that cost is sneakily hidden from the customer. This is the “razor blade model“, which you all know about.

Now let’s say that you create a product + widgets, you make the tool and control the standard widget, but you allow anyone else to make widgets. (This could be the App Store or Minidisc.) Now, you really have two sets of people to worry about – your customers and your widget developers.

  • Your customers would like to see lots of different widgets out there, because that probably makes your platform more appealing.
  • Your widget developers would like to make money. So they want a huge user base, and for you not to screw them by changing the rules – like suddenly integrating features of their widget into the main tool, wiping their business out.

I abide by the standards

One way for you to help your widget developers feel like they’re not going to get screwed is give control of widget standards to a standards body like W3C or ISO. The disadvantage is that you lose control – if the market changes and you want to make a change to the standard widget, there’s a lot of buggering around. Even worse, those standards bodies probably work with your competitors too, so it’s going to be hard to make a change to the standard that will benefit you.

The answer is changing

This sort of stuff is becoming more important in software. That’s because:

  • It’s getting easier to develop software (even the kids are doing it!)
  • Customers are getting used to applications with a shedload of functionality, and one company might not have the resources to do all that, no matter .

My opinion – keeping those widget developers happy is more important than ever. So – if you’re going all platform, remember those two things you need to provide for them – lots of end customers and a degree of stability.

UI Design Principles from Mozilla Labs

labslogoAs part of the Labs concept series, I attended an online talk by Alex Faaborg from Mozilla UX, presenting Jakob Nielsen’s 10 principles for software usability design. They are simple and useful, so here they are.

  • Keep system status visible: Is there a web page loading right now? Am I in private browsing mode? The user should be kept aware of the current status, and feeback on modes should be timely. When a user doesn’t know which mode we’re in, this is called a mode error.
  • Systems should mirror the real world: Engineers want to implement whatever the technology makes easy to implement – but users want to use something that mirrors the world as they see it. Some technology elements are still confusing (e.g. Fx asking if you want to resend POSTDATA) but some are now commonplace (404 errors or the http:// prefix). Real world elements can appear in icons (padlocks, floppy drives, gold stars) or replicating a real life method (e.g. having a desktop).
  • User control & freedom: Don’t prevent users from doing certain things. For example, in Fx3 it’s impossible to bring back the Most Visited folder on the Firefox bookmarks toolbar if you delete it.
  • Consistency & standards: Be consistent internally with the way you’re always represented things inside your application, and be consistent externally with the wider OS or peer applications. These could conflict – Fx changed the bookmarks icon in v3 from a bookmark to a gold (or blue) star to fit with other browsers.
  • Recognition not recall: The command line requires you to remember everything, which is why most users find it too tough to use. Ubiquity suffers from this in a way – although it does a lot to help you, it can’t do anything unless you type something.
  • Flexibility & user efficiency: Toolbars that are malleable are flexible, but it’s tough to create complete flexibility, as very flexible UI systems (like Ubiquity) require some skill to use completely.
  • Minimalist design: Visual clarity is good. Reduce redundant elements (e.g. the address bar URL, the window title and the tab title). Combine elements logically – the iPod wheel combines a set of functions into one element while keeping it easy to use.
  • Error prevention: fix common user errors like commas in URLs.
  • Help users recover from errors: proactively provide contextual help, like the internet connection wizard in Safari.
  • Help and documentation: ensure users know where it is and can access it.

Balancing things out

The keen ones amongst you will have spotted that not all of these things are achievable – balances are needed between these elements, and the correct position depends on the user and the application. Here are the contradictions – and the balances – that I can identify.

  • More user control and freedom can mean less minimalism, less error prevention and less consistency. The user can reconfigure away from standards.
  • More recognition can mean less minimalism. The command line is an awesome interface for the right kinds of people.
  • More system statuses can mean less minimalism. Where do you put the throbber in a chromeless browser?

Creating an awesome design – it seems – is about finding ways of winning on both sides of these balances so that compromise becomes less necessary. At the same time, we must recognise that no system is going to be perfect for everyone – as the market becomes more diverse, the interface must understand and trade off different requirements in that market.

Lawrence Lessig at the Kellogg School of Management

This week I was delighted to have the opportunity to hear Lawrence Lessig – all-round free culture badass – speak at Kellogg, and was not disappointed.

Lawrence has shifted his focus away from IP law and policy, and towards fixing broken government. This was, I admit, a slight disappointment – it makes sense to try and attack the root cause of an issue, but Lessig may be biting off more than he can chew.

His talk was a master class in presentation, and he presents a series of very well constructed arguments, but always with a diplomacy that suggests he is already well ingrained in the political process.

The presentation he gave was a longer version of this one:

Still – I like plain logic, so here’s a breakdown of his argument. This is a travesty actually – the presentation was so well done that this is like reading the ingredients on a wedding cake.

Note: I’m afraid that I missed some of the details here, so apologies for the crappy blankets statements like “x has doubled”.

The Basic Problem

Lessig’s basic argument – money creates mistrust, so campaign contributions are a dumb idea. Money doesn’t make people liars, but it makes people suspicious of their motives. Examples:

  • Big pharma companies donating to the AHA to pass Activase. Apparently, even the free pens and coffee mugs change prescribing behaviour.
  • Hilary Clinton voting down “that awful bill” about personal bankruptcy, getting campaign contributions from credit card companies and then switching her vote next time around
  • Sugar industry lobbyists against the WHO’s recommendation of 10% maximum sugar intake
  • A note that no peer reviewed journals disagreed with Al Gore’s basic points on global warming while 53% of the popular media articles in the same time period disagreed
  • A response to Al Gore’s proposed internet telecoms deregulation – “How are we going to raise money from this if we deregulate?”

Then, some notes on the current situation:

  • The number of lobbyists has doubled, and the amount they get paid has doubled – therefore their influence must be rising
  • Representatives spend between 30% and 70% of their time currently raising money

… with the basic problem being that noone has any interest in stopping this problem.

There were a few notes on the history of these sorts of problems, with the point being that in Lessig’s opinion, we have a more moral government than ever before, so we should be more disposed to solve these problems now than ever before.

The Proposed Solution

… is this: have government representatives get money only from private citizen donations, with additional set funding from the treasury once a campaign has reached a certain size.

The main site for this proposal is here. If you’re a politically active American and you like these ideas, it’s worth a peek.