Ad blocking thoughts

From Why People Block Ads (And What It Means for Marketers and Advertisers) :

Here’s some good news and bad news for publishers losing sleep over the rise of adblocking: The good news is that most people don’t hate all ads. The bad news is that, no, they won’t turn off their adblockers, even if you beg them.

Who is surprised by this?

Site owners need to take responsibility. Polygon frequently forces Safari to reload. Their page takeover ads also mean no true responsive layout which makes portrait browsing hell but mainly because they disable zoom/the JavaScript breaks zoom so I can’t read the tiny type. That’s the kind of UX I yearn for.

The absolute worst is Slate, I try to read Bad Astronomy on there and there are mpu’s that just cover the content on iPad. I’ve tweeted the writer and the site multiple times and nothing. To be honest I’ve stopped reading.

And make no mistake this shitty QA. Seriously, you can’t bug check an iPad? Obscure, or old Android tab, yeah, Air2 on latest OS? This is your business right? This is the business you want present to people? But this also exemplifies the burning need for the content industry to get those damn ad clicks over all else (what, you think all the big blogs want to actually link you off to those bullshit clickbait aggregators?).

So what should I do? Well, personally I don’t use ad blockers. I can see why people do though and at some point I probably will just say ‘oh f*******ck you Internet’ and use one. The users patience after only 2 decades of this is utterly jaded in terms of user experience but as a mass advertising effort still reaps huge profit. So we all draw our own lines in the sand at how far we will let the ever encroaching intrusion of advertising go into our lives. Me? I grin and bare and just just try to use that readability thing in Safari on iPad whenever it gets too much but basically this is the digital version of that story about a park, a path, people and UX. 

You know the park story. No? Read this then, the guy gives a quick overview of the story but then goes into a bit of a talk, which I think is quite an important conversation, about why it’s best not to become too beholden to that metaphor as it pertains to design and UX. Good read, far better than this tripe.

Do I prefer qualitive and quantative data?

Talk about questions no one’s ever asked, here’s my thought on my own unasked question and do you know what? As a personal preference I prefer quantative data for my UX work. You can have as many focus groups as you like and I still won’t get the pure answer that you can see in quantity. Qualitive data is great for discovery, when you’ve been posed the question of how to fix a thing and you need to ground yourself in an awareness. But people are fickle, people are stupid and given an opportunity to moan, people will moan. People will join in, mob mentality an’ that. This colours you data pool and lends a possibility for error. If you are basing suppositions on this data I don’t want to know there is a danger for error. 

But masses of data usually collected in isolation? That’s just unedited natural human behaviour. There is a purity to it and when you look at that data if you are looking for the answer to a question it’s very easy to spot. The problem often comes when the answer you are looking is the question. 

So, in the end, I guess both are good. We need both. Phew, glad that’s settled. Spread the word, we’re keeping them both. I have no idea what I’m talking about any more.

The Acronym UX

UX has become something of a buzzword in the creative industries. A nebulous term that the uninformed sales person may use seemingly interchangably. Now I may just be a lowly Human mouse cursor operator but here are a couple of the things I’ve learnt along the way bout what this crazy UX thing is. Maybe they’ll be useful to someone, maybe it’s just an outlet for my snark.

***Edit: apparently I’ve had this in my drafts for a year now. I imagine I was going to elucidate on a few more salient points. I still have none. However it’s important for me to get my snark out there though so imma just gonna go ahead and post it***

The acronym UX is not a verb

One does not “UX it”. One does some UX work on a project. Using it in the context of a verb not only shows a deep misunderstanding of the process of UX it also manages your clients expectations poorly and sets a precedent where true UX work gets buried under a ton of cruft where the original intentions of the UX work gets buried under an ever increasing pile of crap

The acronym UX does not mean web design

Using UX as a stand in for doing site design work is an appalling mis-sell as a service but as UX has reached such buzzword levels it is mis-appropriated to be used as a stand in for pretty much anything that digital design may touch.

Yes, UX may some involve UI design on a project. Yes, UX considerations & learnings will pertain largely to a site redesign. UX, however, is not a catch all umbrella for these terms. UX should be the bedrock for your plans going forward based on learnings from your current systems and should inform design work. It is not the visual design work.

The acronym UX is not about your thoughts and feelings

The amount of times in the past 3 years UX learnings I’ve presented have been brushed aside because someone “feels” something is ridiculous. UX is statistical learnings implemented with a provable outcome. These statistical learnings can come from user testing focus groups, via analytical findings, from evidence based research, from A/B testing.

UX is evidence based and user-centric. UX is not neccesarily a good bed fellow to your “thought of the day” marketing concerns. It is considered and it is a slow burn process which should be an ongoing process throughout your products life cycle.

UX is the science behind the design, not the colouring-in in front of it.

The acronym UX is about your users experience

Think about that before you try and shove more meaningless crap in my way whilst I’m trying to view the content I went out of my way to actively search, choose and visit your site for.

 

 

Hamburgers on desktop

Should I use a hamburger menu on desktop?

You can feel free to do what you want, but be aware of the usability implications of hamburger button based navigations:

  1. There are many arguments as to how effective hamburger nav buttons are for letting the user know that there is a menu that is but a button tap away
  2. If you hide something from the user you must be prepared for the fact that users will not use it. Not so much of an issue for content inside an accordion, but for your main navigation? Yeah, I’d tread carefully there. And when I say “tread carefully” that’s actually a code word for “No, never, never, are you mental? Don’t do that”.
  3. As a user I hate having to click more than I need to. If I am likely to be navigating around your site, those extra clicks and animation time add up and make me as a user feel frustrated.

Well I’m going to do it anyway…

Ahh, so you like sites with high exit rates. Well good for you. If you are going to hamburger anywhere remember the following:

  1. Put the word menu underneath your chosen hamburger symbol. This is so people that aren’t entrenched in Internet design trends day-in, day-out can also derive some semiotics from your appropriated symbol.
  2. Put an outline around your hamburger symbol and menu text to make it look like a button. This is so people that aren’t entrenched in Internet design trends day-in, day-out can further derive that this is a button they should push.

Will this make it easier for users to use my hamburger nav on desktop?

I still don’t know why you are persisting with this. Lets say we are excluding resized windows and we are dealing with a minimum of a 1024px window with a height of 600px. With that amount of space you can have a menu running horizontally across the top, or a vertical menu down either side. What content do you have that is so important that you can’t use one of those spaces? Is the answer is “I really wanna make this image really big”? Well stop it. Visual design should not trump useable design.

Are there any instances where I could use a hamburger on desktop?

I can think of two use cases that I would test it

  1. You have a one-page site. Mostly the user will scroll down through sections and your hamburger will jump them to relevant sections. The user has little opportunity to miss swathes of content
  2. You have a site where you want to immediately direct the user down a conversion funnel e.g. you have a site search for holidays, or products on eBay for example. The page-to-page navigation is secondary at this point and could almost distract the user from the journey that you want them to take to convert. In this instance it could make sense to de-prioritise the navigation. I am not advocating removing site navigation entirely here at all and I personally would be testing the shit out of this first before I rolled it out because of negative implications listed above.

Anything else?

Yeah, I’m still not sure hamburgers are the best solution on mobile anyway. I’m quite a fan of overflow scroll on the nav container so that when it breaks past the width of the window the user can scroll it. Your navigation is visible to users. Your most important pages should be on the left and visible to users without having to overflow scroll where necessary. As a solution it feels like it’s a step up from hiding everything with a hamburger but as always test, test, test.

On the fold

You want to know the real reason why people don’t scroll down a page?

Because what was above the fold wasn’t interesting/relevant/what these was looking for in the first place.

That’s it. That is what we base our decision to keep reading and, by extension whether we scroll, on.

That is why the hero area and what you put in that “above the fold” area is so important.

That is the only reason.

The ONLY reason.

If your users aren’t scrolling, look at the quality of your content that your users came to read before you start assigning blame to a users ability. It’s 2016 for gods sake, growth on the Internet of new users is slowing – mostly because everyone that doesn’t live in poverty already has the Internet – so unless your audience is comprised entirely of this trickle of users from developing nations experiencing the Internet for the very first time… Just give people a bit of credit, maybe do some user-testing? Definitely stop quoting shit from 1996 at me that even the author has retracted.

Remember modems from 1996 though? I still miss the sounds of my old 33kbs modem singing to me as it downloaded whatever crap I was looking at then.

UX: Refine, don’t re-design

Refine, don’t re-design I’m sure this saying has been said. I’m sure I read it in Steve Krug’s seminal UX how-to guide Don’t Make Me Think. I’ll be damned if I can find it to block quote with any certainty.

Wherever I heard it, it stayed with me. Unsurprisingly, as this motto has been with me through my drink and drug addled 20’s it’s origin story is mostly lost and certainly confused. But throughout my offline DM days and into my digital CRO days I’ve always thought it to be a truism not often repeated. a K.I.S.S rule for the CRO’ers and UX’ers.

From a users perspective

Users flipping hate change. You ever been on the Internet when Facebook changes it’s layout and everyone goes on it to cry about it like Zuck’s ceremonially sacrificing the last unicorn? It’s hell. For a few days, then they forget about it.  Most users will learn to get around the new layout, learn how to do their old tricks the new way and ignore anything new or gets in the way of them repeatedly Liking things.

Facebook is one of those exceptions to the rule though. They have tremendous lock-in with near ubiquitous use. I may not tend to use Facebook myself, I do my shouting into the void via Twitter, but I still have an account.

Does your site have this tremendous lock-in value? Congrats, you probably run something that can be loosely defined as a social network. I’d class email client in here. Anything that keeps users connected to other users has this value as we tend to prize keeping touch and we tend to have routes of communication. No, it’s far more likely that you have a website and owners of a website should make large changes strategically and fully backed by insight.

I have a website why should I refine it based on UX rather than just redesign it with all my grand ideas?

Apart from the fact they are probably shit from your active audiences perspective? If your site has any frequently recurring users your site no longer belongs to you. You have an unspoken partnership with your users and if they don’t like your decisions they will go elsewhere and they will forget about you very, very, quickly.

Large changes that haven’t been conversion or user tested invariably lead to issues. The main one being you usually see less of whatever key metric you judge your site by. The problem is what are the issues that caused said drop off? With large scale changes it’s impossible to tell. Least of all because any form of visual refresh causes some cognitive dissonance for users, let alone changes which include page architecture changes. Which they ALL do. There is nothing more heart breaking than putting in all the effort of a refresh and seeing conversions plummet.

People don’t want to do this though. It’s the longer route, it needs more rigor and, bottom line, to do properly it would cost more. But even costing more should be caveated within the short term as a site that has been tested to perform better will always be generating more conversions.

For me I would run a series of AB tests on any wireframed changes to page layout on an existing layout, measure results and repeat a few times. THEN apply new visual styles, where possible without presenting branding conflicts, and test again. Positive results equal a “progress onwards with testing other aspects of site” card otherwise back to testing layouts.

I can see that frustration could creep in with a cycle of constant testing and repeating but for me, I always think for 90% of business this their front of house, their store. If this was my store I would be investing maximum resources, time and care to ensure users are enjoying using my site as easily as possible.

Thought about content creation

I have often struggled with briefs that expect innovative (ha!) design before being briefed with content.

This statement  is especially true when I consider my SEO related work. I remember info graphic days saying “make a graphic about our *xyz service * and we will add the stats later.”

“What?” Is what I should have said. “No.  The data should inform the layout.” But, inevitably I knocked out some crap anyway.

The truism struck me again like a lightning bolt to the old noodle bucket on a stormy eve and the realisation triggered a guilt that ran through me and compelled me to write.

In retrospect, it boils my fricking piss. A visual design on a topic should be led by the content, the marketing message. Too many times I see poorly thought out briefs and too many times I see solutions with piss poor success.

Communication is key but this is a multi lock door. Proper planning has the all the keys on a key ring. The trick is to get all the keys ready to go at the right time, when you need them and that’s a tricky juggle.

Returning a return value from a resume() callback in Swift

Having trouble with Swift functions that run an async session e.g. getting image or JSON data from a server? Me too. This post on Stack Overflow saved my mental state from debilitating further.

To fix you want to set your function up like this:

 getJsonOffServer(imageId: String, completion: ((image: UIImage?) -> Void)) {
    let url:String = "https://dummyUrl.com/\(imageId).jpg"

    let task = NSURLSession.sharedSession().dataTaskWithURL(NSURL(string: url)!) {(data, response, error) in
//Do stuff... and when finished use the completion
        completion(image: UIImage(data: data))
    }

    task.resume()
}

and call it like this:

getImageFromServerById("some string") { image in
    dispatch_async(dispatch_get_main_queue()) {
        // go to something on the main thread with the image like setting to UIImageView
    }
}

Dear Stack Overflow user 0x7fffffff, thank you for answering that, it was doing my actual head in and wasting far too much of my time.

A complication with Clockkit complications

I’m currently messing around creating complications for an IOS/watch app I’m building. One thing that I’ve found particularly weird given the number of templates available is that you can’t overlay text over an image on the fly. You can do a lot of other layouts, but you can’t do that.

One potential reason I can see for this is ensuring text doesn’t overlap the edges of the artwork in the background and then bleed onto the actual watch background. With no inset padding control, there is no way to guarantee this won’t occur and if I was Apple, the one place I don’t want the Watch software  to look broken EVER is on the actual watch face.

So how do Apple achieve something like the moon phase complication?

Seems if Apple are using the same templates as us they must be using something like CLKComplicationTemplateModularSmallSimpleImage and then based on moon phase data they are matching the phase to a particular pre-built image set and showing that on the complication. So they have ~28 moon images waiting on the Watch and pull from the right one on the refresh. This works great for something with a limited number of steps however creating a thermostat complication you would need an image for each potential temperature.

So whilst achievable it’s a lot of images to transfer across at app install time. Just considering celcius I’d want to capture 0°-30° positive temperature and down to -10°  on the minus side. So 40 individually created images to set and test if we are just using this technique with CLKComplicationTemplateModularSmallSimpleImage at 42mm. Of course if you were to use this technique for other complication templates you’d have the same again and then you have the sizes for the 38mm which are technically 4px smaller. Apple prefers correctly sized images to limit performance hits from resizing images.

Thank god I don’t consider fahrenheit a real measure of temperature otherwise you are looking at double that amount again!

Time is precious, what to do?

There is obviously a time implication here in terms of set up and build, but it just doesn’t feel robust. Like, Apple probably should have a CLKComplicationTemplateModularSmallComplexImage template available at WWDC 2016 so a lot of time would be wasted here implementing all these images. Especially if another template is a few months away and one of the existing templates can plug a gap (if not fitting YOUR vision)

I will say it is bloody weird that one of the templates doesn’t allow for text directly over an image. Roll on WatchOS 3?

*Update 28/01/16 Barbecuesteve in the comments of this post on Big Nerd Ranch suggests that this could be created using core Image to comp the images together as and when required but advises their may be a performance hit

Do try and catch my errors in Swift 2

This is bugging me, I keep forgetting it, I’m noting it down.

Swift 2 has changed error handling, just as I was wrapping my head around error handling in Swift 1. Typicals.

The easiest thing to do is wherever you see a method which ends with error e.g.:

audioRecorder = AVAudioRecorder(URL: soundFileURL, settings: recordSettings as [NSObject : AnyObject], error: &error)

This will kick in an error from the debugger. Bugger. Solve it by wrapping the method in a do block and catch the error after the block so the above becomes:

do{
audioRecorder = try AVAudioRecorder(URL: soundFileURL, settings: recordSettings as [NSObject : AnyObject])
} catch let error as NSError {
  print("Error: \(error.domain)")
}

This StackOverflow answer set me straight on my errors with error handling and allowed me to retain a greater amount of my hair in the process . As always, praise be to the digital gods for StackOverflow.