Here's the thing about ads

@jaci_KVLT

My very real internet friend whom I have never met, Jaci (protected account, but everything you need to know for this article is here), tweeted this thing today that pissed me off. I'm not mad at her; I'm mad at Wired. I'm also mad at ads, but not because I inherently hate advertising - because I hate all the underhanded, sneaky snooping that ad networks do to show relevant adverts to you.

To be technical for a second, ads are usually displayed on a website by embedding a bit of someone else's JavaScript. Every time a page loads on that site, that bit of JavaScript calls back to where it came from and, with the help of a cookie, says "hey, I've got this person here - what ad fits their profile?".

Now, you might be thinking "how much can this website know about me? I just got here" - well, that website you're on probably isn't the only website that has that code embedded on it. There are probably a lot of other sites with that code on. And every time you visit one of those sites, that ad provider makes a note of it, associates it with your browser, and can make a list of every site you've ever visited with that browser (save for a few cookie clearances here and there - we all regularly clear our cookies, right?).

The neat thing about JavaScript is how powerful it is. It can be used to add predictive search to a text field, it can be used to produce interactions when you move your mouse around, and it can be used to create effects when you scroll. The bad thing about this, is that it can be used to log every key you press on a website, track what you hover over when you move your mouse, how much you scroll, and how much time you spend. Security concerns notwithstanding, if you let me put some JavaScript on your website (which some of you do, and I'm grateful for your trust and I swear I don't abuse it), I can record anything your users do on your site that I think is interesting. You would probably never think to look, and your users probably wouldn't even notice.

Now, let's ramp it up a little with Amazon. You might have seen Amazon's ads on sites before. They probably show you stuff you've looked at recently. It's really smart and really simple, and they're building the best profile they can of you by how many websites they can convince to host their ad code. So when I read a review for Yokai Watch on Kotaku, Amazon can go "Yokai Watch, eh? We have that product! Show him an ad for it". This works, and where an ad network wouldn't be able to link your browsing habits to an individual, Amazon can. And they have a tonne of other information about you and your family and the products you buy. They're able to build a pretty decent profile of you, but their ad network isn't huge compared to their shop, so it's not a huge issue.

The funny, and mildly technical, thing about this is that they can do it even if you log out. You know when you go to Amazon and they say "Hey Whatever Your Name Is" but to do anything you need to supply your password? This is called "soft login" and it's a technique sites use to identify you as soon as they can, and for as long as they can. So if you log out, Amazon still keep you cookied until you log in as someone else or manually clear your cookies. So they know who you are the whole time unless you expressly tell then you're someone else, or no-one. Pretty creepy.

Now let's ramp this up as far as it goes: Facebook. Facebook is the biggest ad network in the world, and it only advertises on one site (to the best of my knowledge). It's the biggest because of two things:

  1. You (if you have an account)
  2. The Like button

How many sites do you see the Like button on? How many do you not see it on? It is everywhere. Even if you've never clicked it before, it doesn't matter. If you visited a webpage and the Like button was there, and you were logged in to Facebook, Facebook knows you visited that page, and they kept a record of it. Yep, even the porn site you didn't use private browsing on. Even the BitTorrent site you downloaded Game of Thrones from. They know.

Fortunately for you, if you're in prison, you're no good to Facebook, so they're probably going to be cool about it. Their interest is in being able to say to companies "look at how much we know about this person. We know this much about most of the internet-connected world. If you pay us money, we'll send good leads your way from our website: the most popular website on the planet".

So there you have it: the thing about ads. Most people don't care, and that's fair enough, but there are a growing number of people who do care and don't like the idea of all their browsing habits being recorded and bound to them by a third party. And that's why they block ads.

If you're interested in blocking ads, you could look at browser extensions for your desktop browser (Ghostery and ublock in Chrome and Safari) or iPhone (1Blocker). If you have suggestions for other platforms, please tweet them at me.

Update

  1. @AdamBurv recommends that you use Privacy Badger with ublock
  2. I realised that you can get Brave for iOS as well as the desktop.

SOAP

SOAP represents a way of thinking that is exactly at odds with my own. The person who thought of SOAP takes the phrase "XML is like violence; if it didn't solve your problem, you didn't use enough" way too far.

It is Friday. Fuck SOAP, get drunk.


dConstruct 2011

I'm fairly certain that me and @wiscombe are BFFs now. Pretty excited about that, as it happens.

There was a fairly weird response to dConstruct this year. Last year set the bar so high (Merlin Fucking Mann, anyone?!) that it was pretty unreasonable to expect this year to be as good. You can call me wrong if you want, Jeremy, but it wasn't. Some talks didn't have enough time (to the fault and credit of the speaker) and some had way too much. Some waffled on without so much as a water biscuit to feed my thoughts and some were over-self-indulgent (if entertaining) and directionless.

With the bad out of the way, Kelly Goto is amazing. She had a lovely story and was engaging and entertaining. I was lost in time whilst she was talking and upset when she skipped through some seriously interesting-looking slides.

Frank Chimero is a rockstar. He has the huge, effortless, accessible lexicon that he seemingly whimsically dips into and pulls out perfect words and a flawless delivery. He spoke as a bewildered user, suggesting that we've all collected enough awesome stuff online and conjectured that it's about time we started making the stuff we already know is awesome more accessible. He made some excellent points and I felt really inspired to build something whilst he was talking and when he was done.

Matthew Sheret talks my language. He's in love with the things he carries in his pocket and he's a total nerd. I had some interesting ideas off the back of his talk and I'm looking forward to getting an Arduino, a bunch of RFID chips and scanners and making something cool for my key-ring (yes, Benjie. Let's do it). He linked our personal associations with the things we register just before the front door closes to totems in Inception, Doctor Who's sonic screwdriver and a material symbol of ourselves and what's important to us. You're not clearer-defined by anything more than the things you simply cannot go anywhere without, right?

And now, some photos that are chronologically and/or geographically linked to the event. They're irrelevant in every other way.

James Moss has this amazing face that I always want to point my camera at. Just look at him. What a dish.

Pete and Craig smugged it up with these ridiculously cool MailChimp hats that I just missed out on.


Spotify Premium: A Highly Critical Exit

Spotify the service is brilliant. There's tonnes of music on there now, and being able to import your own library and OTA sync with mobile devices is brilliant. The purchase-able MP3 bundles are a bargain (if you're bright enough to spend £50 at a time). They're doing really great things for music consumers when the recording industry seems to be working on triple-jointing its elbows so it can simultaneously scratch its own back and steal your wallet (or put you in jail). Kudos to you, Spotify.

My problem with Spotify, and the reason I'll probably cancel my subscription (again), is that the player is broken. It's a horrific abortion of an application. A worthless, frustrating, horribly-designed, fundamentally loathsome piece of garbage.

I come from a media library school of music-listening. That is to say that I have all of my music available to me all the time in iTunes. I can browse by artist, album, genre, I can arbitrarily create playlists, all the nice things that Spotify pretends to be able to do, but doesn't. Say you're in the mood to listen to something you know you've got in your library. Here's a worst-case, oft-realised scenario of how that situation could end up causing you to want to kerb stomp a puppy:

  • I'd like to listen to this album today
  • I search for the album
  • I'm presented with a visually cacophonous assault of things that are likely irrelevant to what I was looking for
  • I realise what I was looking for was in my library, not Spotify's and Spotify's search only searches their catalogue
  • I drop back to "Local Files" and I have to Command[Control]-F a string precise enough to match the album I want to listen to (I suppose I could create playlists in this instance, but by now I've illustrated that Spotify's search is worthless, and the app doesn't allow you to browse by artist or album unless they have the artist/album in their library. Suck it up, pansy)

Say I find my albums, and I want to queue them in a playlist, in the order I choose. I sort by "Added", foolishly assuming that this will be able to emulate iTunes' behaviour, whereby adding music to a playlist results in a playlist automatically sorted in the same fashion that I added it. If I add an album in Spotify, and sort by the earliest added, it seems to flip the track listing order, so that if I choose tracks 1-12 and add them, the order that they appear in the playlist is 12-1. I can't even trick Spotify into doing what iTunes does perfectly and intuitively.

Assuming I've actually managed to find something to listen to, things go well from there. The controls are way more responsive than iTunes, which is nice. I don't have to hit pause then wait for three seconds for music to stop before I can answer a phone call. Sound quality seems good, although if you're doing something CPU-intensive, playback gets noticeably jittery (I say "noticeably" because I do a lot of CPU-hungry stuff, and have never noticed iTunes stutter).

Spoonful of sugar notwithstanding, the final (small-to-some) gripe I have with Spotify is their library tagging and how they force it on you. My #musicmonday posts are calculated programmatically by gathering all the songs I listened to in the last week, querying a few web services to get song lengths, then calculating the amount of time I've spent listening to artists individually that week. Naturally, as I started using Spotify as my main music player, I decided that I would implement Spotify's music metadata API search, as I noticed that musicbrainz wasn't getting a lot of the tracks that I was submitting. Having done this, I noticed that when using the Spotify music metadata search, submitting strings that it had obviously sent to last.fm as scrobbles, it couldn't find this music from its own database! How is that even right? Is it not working from the same data? To make matters slightly worse, it seems to have inferred tags from my library. I have a beautifully-tagged iTunes library, which Spotify has taken it upon itself to apply its own shitty metadata to!

So there you have it. Spotify's player all but completely ruins the whole experience of finding music to listen to, and my own esoteric obsession with collating data on said music. I guess Spotify's plan is to piss me off so much when I'm looking for music to listen to that there's no data to collate. Problem solved.


MacBook Bros

Repurposed my old MacBook Pro as a web-server/load-lightening-slave over the weekend, and so far it's paying dividends. Really nice to offload our dev server duties to something that I don't take with me when I go out or restart to play games in Windows 7.

Any recommendations for essential Linux software (even obvious stuff - I might've missed it!) are gratefully received at my twitter.