Don’t launch your website without solving these

Seeing the same mistakes made again and again makes Gareth sad.

subtitle: It’s 2011, we can fix it

Sometimes it feels like we’re still failing to solve the basic problems time after time. Can I present my first list of things we really shouldn’t be launching without solving.

Further suggestions welcome.

Advertising

  • Be respectful of users who will accept they get content free because of it, but don’t be silly (e.g. don’t show me adverts then tell me I’m geo-blocked from the actual content)

Audio/Video

  • Don’t auto play any video unless the page is a destination page for audio/video
  • Make decent videos: owning Final Cut is not enough to make you a producer
  • Don’t play background music, and if you do remember if I press mute between sessions

Authentication & Registration

  • Let me skip registration until I really need to
  • Allow people to login with google/yahoo/facebook accounts. Do not make me create a full account and connect it to facebook/google, make an account with that identifier and ask for the bare minimum extra.
  • Don’t ask for more permissions than you need from Facebook and don’t ever post to my wall without permission
  • If someone needs to authenticate, take them to where they were and not the home page
  • Never store plaintext passwords (unbelievable this still deserves a mention)

Content ‘Protection’

  • Don’t install Javascript to stop me right clicking – it’s on the web, I can copy it regardless and you’re stopping me opening the site in a new tab

Content sharing & Social-Media

  • Give people tools to share, but stop nagging them: if it’s funny people will share. If they like it they will favourite or subscribe.
  • Don’t call a blog a blog unless you’re engaging with comments. If you’re not going to do that don’t allow comments and call it News
  • Don’t have a twitter account you’re not going to reply to people sending comments to but don’t reply to everyone mentioning something tangentially related to your brand name
  • If you say something stupid: retract & apologise. Don’t start saying “your account was hacked”
  • Don’t #obsessively #hash #tag

Dates & Times

  • Include the day: I know I want to fly out on Sunday and back on Saturday so make that the date 4 months in the future.
  • The web is international, so avoid 11/11/11: it’s perhaps wordy, but “Friday 11/Nov/2011” is unambiguous to english speakers.
  • Make time-zones clear

Flash

  • Avoid unless you have to, not just because of iOS users
  • Degrade well without it

Freshness

  • If you can’t keep it up to date don’t put it up there: sure it’s frustrating that information isn’t visible, but even more so to be told “that’s out of date”

Geo & Mapping

  • Accept partial postcodes or addresses in searches. Users are not always searching from a known address.

Retail

  • I care about your opening hours: I care less about your ethics and principles
  • Your address needs to be plaintext so i can copy the postcode into google maps
  • Menus and price lists should just be HTML, and at a minimum a well converted PDF that I can copy from

Sectors

  • I don’t know what sector I am, I just want to see what laptops you have. Forcing me to choose a sector upfront makes me think I’m only going to see a subset of models. Offer me “extra services for large companies” but I just want to see your products.

Search

  • Have decent search. If I use google to find your content then you’ve failed. (use a google site search if you can’t/don’t want to)

Servers

  • If you’re launching a new site is going to get any form of interest, turn the CDN on prior to launching. Have a scaling plan that means you bring up a load of Amazon instances. The cost of turning these on upfront is less than the press coverage that “the new Widget site that launched today fell over”
  • If you’re using WordPress use one of the caching plug-ins

URLs

  • Root level domain not working: example.com/stuff should work, even it’s a redirect to www.example.com/stuff
  • Avoid ambiguous addresses: but if you have catch example.com/walkforlife and redirect to the correct example.com/walk4life
  • If you provide a mobile version of your site at m.example.com, redirect me to the actual page I wanted and not the frontpage again.
  • I shouldn’t ever see the underlying technology in URLs: clean ones look nicer and will give you better SEO, example.com/about/services and not example.com/viewgen/page.asp?pageid=123

On email etiquette

Lovely seeing you recently by the way, how are the kids? Great, that’s lovely, can you do me a favour?

Is it better to skip past the faux-pleasantries and to save everyone some time?

Hi,

How are you doing, long no time no speak, how are the kids? That new house you bought? Your family, they’re doing well? The cat? Oh…run over, that’s really sad.

How’s that project whose name I can’t remember with the things and stuff? And the weather?

BTW CAN YOU HELP ME BECAUSE I NEED SOMETHING?

I’m looking for new opportunities at the moment (Technical Product Management: check-out my Linked-In). I’m speaking to people in my network, including the sleeper-cells I’ve not spoken to in some time.

I’m trying to avoid emails like the ones above. People are busy: even before you open a message from someone you’ve not spoken to in years, the subtext is pretty obvious.

Sure I’ll genuinely say “Hope you are well” but anything else seems insincere.

Am I wrong to skip the dance, get to the point quickly and save everyone some time? Or am I being rude by not playing the game?

Cheques, would you start from here?

When was the last time you wrote a cheque?

A committee of MPs has poured scorn on the UK Payment Council’s plans to phase out cheques. They’re also suggesting the re-introduction of the Cheque Guarantee card. Cheques are in decline, still one billion used a year, but 70% down on peak of their usage. I’ve not written a cheque in around four years. I receive two cheques a year for my birthday and christmas from my gran.

There’s clearly a demographic bias, but most people I know would rather transfer money directly, as it avoids a trip to the bank. Faster payments makes this even better (As I will learn when my bank finally gets around to letting me use the damn things).

I’d argue that in the removal of the cheque-guarantee card actually helps clarify risk: many times I’ve seen online “get them to write their card number on the back so they can’t bounce it”. That’s totally misleading, the guarantee is only valid when the card details were verified in person. On the BBC, a spokesman for the payment council set-out that less than 15% of cheques were guaranteed – so I don’t really think this is a major issue.

The payment council had previously stated that “a new paper based system was being explored”. This has drawn scorn of the form “You mean like a cheque then?”. Well no, because technology has moved on. Can’t we design a cheaper, sustainable system using something newer that meets those important use-cases of the elderly or other vulnerable groups?

Cheques have a centralised clearing centre, do we still need that? Why are we still posting cheques about the place? Why not have a QR-Code (sorry for the cliched inclusion) meaning that a cheque can be scanned and automatically routed to issuing bank for approval? (EDIT: you could of course use the existing magnetic ink characters for this)

I think that some kind of “send money to a phone number” tie up with faster-payments will be a killer for many of the situations. The plumber needs paying, you text him the money, his phone beeps, you all move on. Apps like Square show that it’s possible for sole-traders in the US to accept cards (albeit they don’t have Chip+PIN).

The committee report feels change & risk averse, they’re saying a legacy system should continue until it, or those who use it, die.

Just because you need to do roughly the same thing, doesn’t mean that you should stick with decisions made many decades ago – the world moves on.

As my former colleague and not-former friend Chris Young would ask: “what’s the value you’re trying to deliver?”

The Product Managers Guide to using Storage

How to safe yourself from getting locked into the storage habit.

Storage units can be great to tide you over when you’re moving between flats, or if you’re going away on an extended trip, or you’re selling a house and want to declutter. But they are habit forming and become just another direct-debit that you’re paying for.

I’ve been paying for over 3 years for a room full of stuff I’m only just unpacking. I went away for a holiday (which was to be anything from three months to a year), was then living in ‘temporary’ accommodation (for 18 months), and finally was too busy at work… I don’t want to think about the total cost, or worse the total cost in relation to the value of stuff I’m actually keeping. In the hope of saving others, I present:

Six steps to storage nirvana

  1. Avoid: Your stuff is already something that ties you down, paying for it to hang around is a bad idea in the first place. Any industry that offers “4 weeks free” sounds similar to drug dealers or any other form of recurring revenue
  2. Set limits: If you absolutely must do it, decide when you will stop paying for it, e.g If you’re going on a 3 month trip, commit to only paying for 4 months. Cost out how much it would be to replace everything and make sure you’re spending less than that.
  3. Prioritise: Here’s your product management exercise, you’ve probably three classes of stuff
    1. Irreplaceable: formal documents, heirlooms.
    2. Replaceable: Stuff you’d like to keep but could lose or replace.
    3. Disposable: Don’t store this, give it away to charity shops or recycle. 1
  4. Catalog: Much of the mystique that has kept me paying for this room of junk is the mystery that “I’ve got some good stuff in there”. Some great CDs that I never ripped. Some wonderful books. Use Delicious Library or similar to know exactly what you’re putting in and what box it’s in, by making replacement feasible you’re able to walk away.
  5. Pack Well: When you’re filling the room, organise the room well. Know what you can stack other things on, and make the important stuff more accessible than the replaceable.
  6. Delegate: Have a friend who has access to your unit. If you hit your stop-loss point because your 3 month trip turned into moving abroad, they can whisk out the category 1 stuff, ship it to you, and arrange to dispose of the rest.

When you get back…

Take out the stuff in small batches, it’s less daunting, and means you can better sift/integrate/dispose of stuff rather than just putting it all on the shelves again. Take time to assess everything, and have another cull.

  1. Anecdotes from friends tell me not to give stuff away on freecycle, charge a nominal amount, as it builds a commitment and reduces no-shows

Big things are obvious, but sometimes smaller things niggle as much

While I love my Apple TV, I would love it more if it just triggered my TV to change channel when it powered up.

I love my AppleTV, it’s the easiest way I’ve got to get music playing on my TV, which is the way to get music through my stereo.

The only thing that could make this nicer would be if Apple more fully used some of the features of HDMI. While I’m not really a fan of HDMI, it does have some useful things in it.

My PS3 can trigger my TV to turn on, or to change input to display it through the use of HDMI’s Consumer Electronics Control1.

The AppleTV doesn’t send any signalling: meaning that every time I’m sat playing music from my Laptop or iPad, if my TV isn’t in the right state, I have to find the remote control (or even worse stand up from the sofa).

It’s minor. Totally minor. But when I get this gripe most days, and when I know the thing sat beside the Apple TV can do this, it’s annoying.

People notice big things that are wrong in products, and complain about them vocally – but small recurrent niggles also wear down consumer satisfaction. It’s the only thing I really don’t like about my Apple TV. I forgive it not playing non-iTunes content, and its lack of favourites on radio stations.

I know it’s unlikely, and I don’t even know if the hardware supports it, but it would be lovely if an option appeared in settings after an update “Change TV input when Apple TV starts”.

Pretty please Cupertino?

  1. Consumer Electronics Control signalling allows the device to prompt the TV, and also for the TV to send remote key-presses to be processed by the device – allowing me to control my PS3 with my TV. Controlling devices like that can end up more a confusing novelty for anything more than basic 5-point navigation

Definition of Slippery Slope

BT are being forced to block access to specific piracy websites, lucky that they have the technology hanging around for the IWF watch-list then?

BT are being forced to block access to a piracy site.

This will no doubt use the BT Cleanfeed infrastructure used for the IWF. You either have something clever that proxies everything, or your redirect the blacklisted IPs to a filtering proxy. The former is expensive, the latter breaks wikipedia anonymous updates.

Anyway, I wrote about this point that the Aussie No Clean Feed were making made a while back. Given politicians and the judiciary a toolkit that can be applied generally, and they will.

This raises some depressing questions:

  • How long until this ruling applies to other ISPs?
  • How long until the IWF watch-list becomes broader to save content owners going after each ISP?
  • How long until refusing to use the IWF list, like some smaller ISPs, becomes illegal?
  • At what point is using VPN services outlawed: I use one when I’m on public WiFi but it would bypass any ISP provisions.

I’m sure none of us are really surprised, but it’s sad to be proven right.

Multicast for File Delivery

Multicast will soon be available in the UK for video distribution, does it have a role in distributing large files, like the recent OS X update Lion.

James Cridland wrote about how broadcast was a potential way to distribute Lion, the new version of OS X. While digital broadcasting is compelling as a mass-distribution media, the logistics don’t stack up to my mind, and while tuners are getting quite cheap, the hassle of trying to get aerial signal to your computer is still there.

Multicast was briefly mentioned in the comments, this provides a much more realistic alternative, and is something that BT, the main ISP Wholesale provider, is implementing. This post covers ISPs that use BT to provide connections to their subscribers, the method most ADSL customers are provided by. Customers with Sky (who are Local-Loop Unbundled) or Virgin (who run a cable network) are on different network topologies.

What is multicast? Basic machine to machine communication is unicast. Broadcast allows one machine to ‘talk’ to all others. Multicast is somewhere between, where other machines can choose to listen to stream on the network, but without the “speaking” machine having to transmit at additional copy. It’s perfect for things like live Radio or TV viewing, where many hundreds of users are viewing/listening to the same thing.

Where are we today?

Most ISPs don’t support multicast, so every download or action on the internet is a separate stream:

 

Content delivery with with unicast, without any multicasting.

 

The ISPs that do support multicast have to split it before it goes to BT. The BBC multicast some content out as a trial, and the traffic looks something like this:

The ISPs save on their ‘transit’ bandwidth, but still have to inject a separate copy of the video for each person watching when it goes to BT. Transit costs are unfortunately the cheaper part of an ISP budget, which means that multicast doesn’t help ISPs that much at the moment.

BT are introducing multicast into their network, which means that the “splitting” of the multi-cast to uni-cast occurs much deeper in the BT network, which means the result looks something like:

Much more efficient, only one copy of Radio1 goes from the ISP to BT (and some older BT documentation implies this may even go directly to BT bypassing the ISP).

But how does this apply to a ‘file’ like Lion? 

If you were to treat the 4 gig Lion update as a broadcast you could transmit it as a “carousel”, where it loops around. Run multiple carousels at different positions in the file and a client would join 1 or more streams based on the amount of bandwidth available, and how much of the file was downloaded

For efficiency, you might also want to offer streams at higher bit-rates so that a client could join fewer streams.

This traffic would need to be flagged as lower priority. TV multicast will be the opposite, and have Quality of Service to make sure video plays back smoothly, here though you would want the download to be dropped if other traffic was present. This will leave you with “holes” in the download.

The client could wait for the broadcast to “come around” on one of the streams and join that appropriately, or it could also make direct connections back to the CDN, or use Peer-to-peer networking, to “mop up” the specific bits of the download it had missed.

Would it make everything faster? 

Yes, and no. It would definitely be more efficient, however the limiting factor will still be the copper at the end of the journey, between the exchange and the customer. However, by reducing the demand to both the CDNs, and the ISPs bandwidth, that last mile should be used more fully.

Will it happen?

For things like downloads using CDNs that are embedded deeper in the network would be simpler for the client, and ease the load on ISPs. After the initial download “flurry” the multicast approaches efficiency reduces.

Two things make it more sense for video content like the BBC iPlayer: you have many people downloading content as it is being released, and you have a custom download manager in place.

Multicast will definitely happen for live-content. For other content it probably remains an interesting thought-experiment, unless the economics proved compelling enough. That is less likely since those impacted (the ISPs) are not those able to make the changes (Content Distributors).

Transition periods are the worst: technology, privacy and injunctions

Technology is disrupting privacy in a way that we can’t fight back from, will it all be easier once we just accept it?

Transitional times are the worst. Much like the music industry trying to retain their existing business model based on recorded music, or broadcasters using DRM to maintain rights windows on content that is transmitted in-the-clear; it’s always difficult to move on. Once you’ve accepted change, it might not be as easy as it was before, but you’re at least not fighting the inevitable.

We’re currently fighting that battle with privacy. As people tag us in Facebook, other people check us into insalubrious venues, we’re stuck in an ongoing battle to remove things that we don’t want stuck to our profile. We hide behind privacy settings on sites, only to watch a friend share a private RSS feed or one poorly-written API client leaking all the information to google. Our friends re-tweet from private accounts disclosing partially-incriminating thoughts. Strangers can sometimes see one-side of a conversation, not enough to know exactly what was said, but certainly enough for my mum to admonish me for some months ago.

Today we’ve had fun with super-injunctions, Twitter and parliamentary privilege. English courts trying to uphold rulings that Scotland and the Peoples’ Republic of Twitter are not subject to. And sure the identity of CTB is a nice bit of gossipy tittle-tattle, but what about when it’s the name of someone accused of a serious crime?

Our reporting restrictions are far more extensive than those of America, and while I don’t want to routinely have ‘perp-walks’ in the UK, I’d rather not have trials abandoned because our protections are unworkable in the modern world.

Away from the legal sphere, with the rise of computer vision and recognition projects, (look at the flurry of activity around the Kinect), and the availability of powerful on-demand computing resources (like GPU heavy instances from Amazon), privacy will soon be a problem that can be brute-forced away. Facebook is already rolling out photo recognition (this does seem to be taking longer than most of their phased roll-outs as I know a few people who had it months ago).

Embarrassing images we thought ‘anonymous’ because the face wasn’t shown will be tied down to people through bizarre combinations of EXIF tags, 3d room mapping, carpet recognition and host of other recognition metric that I can’t even imagine. That mole on your chest will no longer just be a minor cancer risk; it’s a data point that can be correlated.

Anyway, we’re in the transitional phase: We’re still trying to hold onto old-models of privacy which in a few years won’t be possible to have without moving to the “Google Opt-Out town“.

The other side of this transition we’ll probably have less privacy, but nobody will really have privacy, and somehow that will make it alright – that or we’ll have to change our names after we leave university, and dispose of all of our electrical devices, have that mole removed, and if we want to run for political office be very careful what we get up-to at college.

I don’t miss GMT/BST Changes

I idly wondered today when Summer-time started. It’s not for a few weeks yet, but it’s really nice not to have to worry about if everyones schedules are going to line up and go through the horrible “don’t schedule anything for these times” type fun that I previously enjoyed during clock-changes when I was in the land of interactive-playout.

A plea to software designers: it’s the 21st Century, can we all just stick to UTC with offsets please?