Best Practices for Mailing List Unsubscription

Having spent the past too many hours gearing up for inbox zero or some such, I’m pleased to say almost every mailing list now includes an “unsubscribe” links (even those which I never signed up to! Which I avoided clicking on as they are probably a dodgy way to get you somewhere else). I assume this is some requirement of Spamhaus etc which the lists must follow to avoid falling in the spam folder, which affects their spam status in GMail etc. Also, if lists make it hard to unsubscribe, users will mark them as spam, which is also detrimental to their status on GMail etc.

After hitting “unsubscribe” many times, here’s what works well (of course, this is just from the perspective of an interested user):

  • While most let me unsubscribe immediately, some require login. This is a bad move as I assume many users simply won’t bother, especially if it’s some list you signed up to years ago. Interestingly, those which unsubscribe immediately fall into different categories – some are off-site, so you can only unsubscribe. Others are onsite and once you unsubscribe, you’re also logged in, which is possibly a security risk (maybe a reasonable one, but I don’t think they’ve always considered this happens). In a few cases (e.g. LinkedIn I think), you can unsubscribe, but then you have to log in after that. A fine example of the awesome Amazon-style “semi-logged in” state.
  • A good practice is to provide settings for what you want to receive. But not too many options! LinkedIn is particularly verbose with its new group feature – turns out each group has its own mail settings – a handful of checkboxes for every group. Just say no!
  • Some have a delay of up to three days, which is not just an annoyance, but breaks the UX principle of immediate feedback. You unsubscribe, then you see a new mail a few hours later and think maybe you didn’t unsubscribe after all.
  • Automatic Unsubscribe is best, but as with all “shoot first, ask later” style interfaces (e.g. Auto-Save), you also want to provide an “Undo” facility. One list did that, with a “Did you really mean to Unsubscribe? Resubscribe“. Smart.
  • Some said “We’re sorry to see you go” etc, but a smarter thing I saw was “You can still keep in touch with us on Twitter and Facebook“.

“A” is for Asynchronous, Again.

Here’s an infographic I made for my QCon talk this week, Single Page Apps and the Future of History:

I think it sums up a key point about Ajax, which is sometimes overlooked: Asynchrony. One of my first posts on Ajax, back in 2005, covered it, but it still took years to really sink in. At the time, I was thinking mostly of “Asynchronous” as XHR’s asynchronous mode, so seeing it in contrast to running XHR synchronously. But really, the big deal about Ajax is the UI can carry on, while networking happens in the background. That’s what makes filling out forms faster and what makes tools like Google Docs possible, especially in multi-user mode.

Teaching Maths and Problem-Solving: TED Talk

I just caught this genius talk from Dan Meyer on teaching maths, and more generally, problem-solving. It appealed to me because of the emphasis on learning through concrete things, not abstractions.

Watch for the way students are hand-fed the answers in conventional learning environments. In one case, an otherwise-fine worded problem concludes with a parenthesised reference to a similar problem. In another problem, the ski lift, the modelling is provided at the same time as the question is asked.

Meyer’s main point is that worded problems should feel real, and students should really sit there and struggle with them for a while. He uses the example of a water pump – how long does it take to fill up? Great question, but the typical math textbook presents it in this weird abstract and wordly way:

This is the 21st century, so we can better represent the problem like this:

The whole problem is just a photo and a simple question. Now you have something you can struggle with. Eventually you’ll get sick of talking in long-winded ways about the concepts and you’ll start to introduce abstract modelling. The modelling comes from the conversation, not vice-versa.

But wait, we said this is the twenty-first century, so Meyer goes one better and actually shows a video of the water tank filling up.

Now it’s filling up agonisingly slowly, and all the students have successfully been baited into really wanting to know when will this thing end. They are on equal footing when coming up with intuitive guesses and the mathematical modelling falls from that.

This all reminds me of the tension you’re supposed to feel when reading the problem and forces of a design pattern. You’re supposed to feel a little queasy as you realise how all the forces are in conflict with each other, and then the sense of relief from the answer that resolves the tension.

I’ll finish off with Meyer’s practical tips:

  • Use multimedia
  • Encourage student intuition
  • Ask the shortest question you can
  • Let students build the problem
  • Be less helpful

Upcoming: UXCampEurope and SWDC

Google I/O is over and I’ll post a bit about the HTML5 hack session I ran later, but here I want to highlight a couple of upcoming sessions in Europe:

UXCampEurope. If this is anything like the Bay Area and London UX camps I’ve been fortunate to attend, it will be huge, and being Europe-wide and in Berlin, this expectation might just be met. I was sitting on the browser along with @mattlucht hitting refresh 10 times a second when the tickets were released at the start of the year! I’ll set up a slot called “What did HTML5 ever do for users, anyway?”. I’m planning to overview some of the features of HTML5 and its evolution from Ajax, and ask how it might be used to improve UX. It’s a camp, so I’ll also be hoping to collect contributions and writing them up somewhere.

SWDC. The first Scandinavian Web Developer Conference and Peter Svensson is organising, so I know it will be an awesome event, and the sessions speak for themselves. I’ve bumped into the guy twice in the past month – he travelled from Stockholm to DC for JSConf, and again to SF for I/O. My session is on the mobile day, called “HTML5 Gives You Wings”, focusing on HTML5 techniques for performance and app-like behaviour. Here’s the summary:

Welcome to the dynamic world of mobile development, where new browsers stay close to the edge and HTML5 is already a reality. Despite the impressive advances, many mobile apps are still bottlenecked by the network and compact processors continue to lag behind their desktop counterparts. So how can HTML5 help? This talk will focus on those features of HTML5 that are interesting for performance optimisation and the techniques for emulating native apps, such as offline data storage.

Web Tablets: The Tipping Point is Nigh

It’s been said that the world hasn’t been this excited about a tablet since Moses came down the mountain. January 27, 2010, is the day Apple is slated to finally put us out of our misery and tell us what it’s all about. But imagine Steve Job moseys onto the stage, launches a forceful history of Apple’s portable record, and then announces Apple’s launching some new ipod speakers. (It happened a few years ago.) No “one more thing”. No tablet. Not even an iPhone OS 4.0.

Even if this happened (it won’t), Apple will have added huge value by sparking a conversation about the future of computing. While some say all the speculation is a waste of time, in this case, I’ve actually found some of the discourse rather fascinating. In particular, Gizmodo’s invocation of Jef Raskin and the “information appliance” dream, and John Gruber’s analysis.

I think Gruber nails it. Steve Jobs, in what many consider will be his final act at Apple, is attempting no less than the next generation of computing UI. Many people are already finding they can get by with just their iPhone for many tasks. Myself, I actually prefer to read blogs on iPhone NetNewsWire and Instapaper on iPhone Instapaper. I can read these away from the distraction of the big machine, whether at home, commuting, or in a shopping line. I’ve been trying to read stuff on mobile devices since the Palm Pilot, and now it’s truly practical. If people are finding their phone does some things better than the computer, imagine what will happen when you have a big touch-screen, let alone any secret-sauce innovations like tactile feedback or live docking into desktop equipment. I think we will find it’s more than adequate for many casual users and a valued extra device for power users.

But this is about much more than Apple. I think we can take it for granted that the medium-term future will be all about touch-screen tablets. We’ll struggle our way through questions about how to stand them up and challenges like their never-satisfying battery life. And what happens when they fall on the floor? Oh, and there will be patent wars galore. But the category will grow fast, as many people start to reap the benefits of a double whammy: better interaction, more convenient form factor.

The really interesting question is how will the UI on these tablets work? The Gizmodo and Daring Fireball articles point in the right direction – it will be more like the new “super phone” mobile generation and less like the traditional PC. Lots of sandboxing, lots of highly-customised idiosyncratic interfaces (but with common idioms), and lots of abstraction (==liberation) from the file system, lots of app stores and repositories.

Now one model for all this is iPhoneOS, the custom-built operating system Apple put together or its own phone. Is there another model?

Of course. The web.

And we can do it today. Apple won’t, others will. We have the makings of an operating system that does all that. Lots of sandboxing? Yep, the whole security model of the web assumes domains don’t trust each other, unlike traditional desktop applications. Lots of customised interfaces? Yep, with Canvas and CSS3 and SVG and WebGL and audio and video and screamingly-fast browsers and a million brilliant libraries and toolkits, yes. Lots of abstraction? Yep, the web never did like file systems, and with offline storage, it doesn’t have to. App stores? Yep, a simple system of URIs and standard HTTP security techniques can do it easily.

Most developers would rather code in technology they already know, that’s open, and has a diverse community contributing a wealth of “how-to” knowledge.

It’s all happening now. Google has ChromeOS. Palm has WebOS. Nokia and others have the W3C web widget standard. Stick these things on tablets, and a whole new generation of UI will flourish.