Menu

I am Alex Maughan.
A user experience designer trying to understand human experiences.

15 December 2014

Best media of 2014

media

My consumption 1 of music, books, and films was noticeably low this year. It’s been a stupid year for me. I’ve made some dumb decisions, mostly around my work career, all the while neglecting my overall health and mental acuity.

So, sitting here, hugely overweight and cerebrally numb, I have the very easy task of sharing my recommended media from 2014. It’s easy because there’s a relatively short list of things that I read, watched, and listened to this year. 2

Best non-fiction book

The Big Bang by Simon Singh isn’t simply a layperson’s guide to the various achievements that make up the most scientifically accepted theory of the origins of our universe. It is kind of an anthropological look into the scientific world, that pays consistent attention to various – sometimes great, sometimes petty – sociopolitical factors that drive the adoption of new knowledge from one generation to the next.

The format of following a people-focused and storified historical timeline, helps show how predominant scientific theories are not merely the fanciful musings of eccentrics in universities, but rather the prolonged and minutely scrutinised scaffolding and complimentary fusing of discoveries over decades and even centuries across various sectors. It inspired me to write this piece about stubbornness.

Best fiction book

A Tale for The Time Being by Ruth Ozeki is the most memorable piece of fiction I read this year. As is always the case with anything I recommend, the characters are extremely well constructed. Ozeki has a real crack at what may seem like a simple story line, but which constantly tugs you toward some deeper metaphysical poetics. She gives herself a tricky task, but I think she manages to pull it off.

Best music

Willy Mason’s latest album, Carry On tops my pops. 3 We were fortunate enough to see Willy Mason perform live on two occasions in Cape Town this year. The first time at the Baxter, and the second a week or so later at a much more intimate setting within a private home, organised by City Siorée.

His lyrics hit the spot every time, and his humble, no BS way of delivering those lyrics with a strong ‘n steady resonance, meant I had this album on repeat for a criminally long time. I’m still playing it far more regularly than anything else in my music collection.

Best fiction film

The Double is an annoyingly brilliant adaptation of Fyodor Dostoevsky’s novella of the same name. I’ve known of Richard Ayoade as a regular British comedic face – one of the funniest comedians currently out there in my opinion. So, imagine my “no ways!” incredulity when I discovered he is the director behind this remarkable film.

Ayoade has consequently gone from being an intelligently funny chap, regularly having me in stitches with his self-effacing humour on panel-type shows, to an undeniable genius. I’m simultaneously in awe and consumed with selfish jealousy over his talent.

Best documentary film

Which Way Is the Front Line From Here? is an account of Tim Hetherington’s work as a photojournalist in different conflict zones. This, yet again, most likely exposes my bias for certain types of stories. The documentary is particularly moving for me because of the relentless appreciation and empathy that Hetherington is conveyed to have for humanity, even in circumstances when it could be deemed to be at its worst.

Hello 2015, where’d you come from?

If any of the above is new to you, and my punting of it manages to tickle your fancy, then I hope you enjoy them as much as I did. Here’s to hoping we all have a great year of reading, listening, and watching other people’s annoyingly brilliant talents in 2015!

Notes:

  1. Nom nom nom nom. Nom.
  2. This list doesn’t necessarily contain things that were released in 2014. It is merely a list of the best media I consumed (nom nom), regardless of their release or publish dates.
  3. Yeah, I know, “tops my pops” makes no sense, but I think we can make it a thing, just so I have have an easy way of ending that sentence.
12 December 2014

Opposing agendas

debate

In arguing for progressive enhancement (PE) 1, I could, like many others have done before me, go into detail about its merits, and why it is an objectively better way to deliver code to various client technologies over the web. I could point you to a previous argument I’ve made about strong PE, and how it is the only way to properly guard against certain broken experiences I have been a first-hand witness to on numerous occasions during user testing. I could regurgitate the ever-booming handheld device stats, and how the web is increasingly being accessed, if not solely for some, by an array of devices on imperfect and hugely fluctuating connection speeds. I could show evidence of many design patterns using progressive enhancement that in no way compromise the goal of providing delightful user experiences. I could share stats of a site that recently went live, where in excess 20% of all users drop off due to some JavaScript not loading by the time they had started interacting with what is otherwise a basic form.

I could do all of this ad nauseam, but I think it ultimately will – as it has seemingly done without fail up until now – sidetrack us from the core issue around which this debate angrily orbits. Arguing the merits of PE to those who dismiss it, is akin to arguing the merits of evolution to creationists… neither parties are going to really get anywhere, because the evidence around the subject matter isn’t the real issue. The issue – the real point of contention – originates from competing forces of intent; an intent which is shaped by personal experiences and agendas.

I firmly hold the evidential benefits of PE to be true. However, the important assertion I’m going to make here is that, when looking at the benefits of PE in isolation from other driving factors, most opposing developers and designers are rational enough to also agree on these benefits. It is my assertion they would begrudgingly admit that, in an ideal world where development time and ease were not a consideration, PE is the best, most bulletproof way to pollinate browsers of all kinds with our client-side code.

It is pretty much impossible to logically argue that, in and of itself, PE doesn’t provide unmatched benefits to a wider reach of potential users and customers, guarding against connection fragility, as well as providing stability in the face of an increasingly disruptive marketplace of web-consuming and web-contributing devices. 2

However, it does become much easier to feel justified in opposing PE when you step out of the aforementioned ideal world and start arguing from the point of view of a developer or designer who, on a daily basis, has to produce increasingly smarter products in difficult circumstances. So, with an assumed axiom about its benefits established, even if that is within an idealised world, I think we can start addressing the real disagreement around PE.

Who made who?

Among other things, there are two competing agendas in web design and development: user-centric thinking and development-centric thinking. These are not always neat opposites. In fact, they seldom ever are, but they do, generally speaking, invoke opposing forces within the industry.

Both user-centric and development-centric tendencies serve the interests of business. The former brings in more money, while the latter saves money and time. Development ease can also mean faster design iterations, which can be strongly user-centric. So they are two sides of the same coin. Regardless, many decisions are the result of one side being favoured over the other (sometimes to the detriment of the other), as certain parties take up self-serving partisan agendas within this opposing tension.

A falsely exaggerated dichotomy

The fashionable use of heavy, client-side JavaScript frameworks over the last couple of years is a perfect example of development-centric thinking gone a little wild. Such frameworks, especially when used to generate entire views from start to finish on the client side, are attractive because they allow you to build things rapidly with unbridled modular flexibility. The development benefits are obvious. The user benefits, on the other hand, are dubious – no matter how much proponents of these approaches like to claim. 3

Dismissing PE as a subjective ideology – as merely a nice idea that proves to be too difficult in reality – is a stubborn refusal to even try to engage in healthy, user-centric problem solving. However, much more importantly, dismissing it as being an impediment to development ease is far too regularly considered to be a given by those who have little or no experience in its actual application, when this is not necessarily the case. Most of the resistance I face comes from developers who have never applied PE in any real or prolonged way. To be blunt, they dismiss it as time-expensive and difficult before they’ve even tried to become partially proficient at it. If we had this approach to everything, we wouldn’t have even learned to write code in the first place.

Further to this, the lack of understanding around the de facto practice of PE festers a false dichotomy around the type of design it necessitates: namely, PE means having to use boring, old-school, synchronous interactions that aren’t as delightful as the types of asynchronous interactions you can give users without it.

This is a myth that really needs to be busted. PE simply means giving users those delightful interactions only if their browser supports it and has sufficiently downloaded and parsed all the necessary components required to make such interactions happen correctly.

It’s actually an argument about practicality

With all of the above in mind, the argument can be seen to boil down to: We don’t have time to do progressive enhancement. It’s difficult and time consuming, which makes it expensive. Expensive is bad, so who cares if we don’t support the long tail of browsers; who cares if we only continue to service those who are lucky enough to have a modern desktop browser with fast, reliable connections. What this really translates into is: we don’t have the competency to do PE in a time-efficient manner, so we’ll have to live without the benefits it brings.

That last sentence may seem a bit harsh, but I’ve had countless experiences of PE not being used where it would have taken little-to-no extra time at all to implement, provided you know what you’re doing. The assumed difficulty associated with PE is regularly exaggerated, as is the need for JavaScript apps. Most of the web is not made up of Trello or Proto.io type offerings.

Do you want to buy something online, or read an article, or manage certain services, like your medical aid or your banking? Do you want to book accommodation or a flight? Do you often need (or prefer) to do these things in less than ideal circumstances (viz. the piece of technology you use and the quality of connection that technology is granted). I’m guessing you probably do. These types of websites make up the majority of the web.

Not all rules are born equal

So, my oft self-critical position is this: Progressive enhancement should be the rule by which we adjudge our work to have been done properly. There are many factors that may make it extremely difficult, and therefore deemed not to be worth it by people who have to make hard decisions in light of many paralysing limitations (like time, money, competency), but we need to be honest about labelling such concessions as unfortunate exceptions to rule.

Validly difficult, thick-client, single page applications (SPAs) are exceptions, not the rule. Add to this the fact that the current fad to go the SPA route is arguably driven more by a superficial design trend than actual user experience benefits, and you’re left with a tiny minority of cases where PE is not developmentally feasible.

Moreover, the web is not nearly as uniform as many developers will try make you think it is. Many website’s analytics stats are potentially rubbish. For a long time now, they’ve most likely excluded a vast set of people out there, or at the very least excluded them in certain contexts within their life – they’ve probably forced them to wait until they get home, or to the office so they can use a browser and internet connection that actually works with their website. Bad design and development decisions tend to create a self-fulfilling prophecy about browser uniformity around the product or service being offered.

Proprietary frameworks will come and go. HTML is not a fad. It, along with progressively enhanced CSS, fails far more forgivingly than JavaScript when sent out into the wilds of the web. We can still do magically delightful things with JavaScript, but such magic needs to be staged with a greater sense of responsibility towards the realities of the audience.

PE is a time-tested approach, that builds upon logically provable axioms. It is, objectively, the best way to send out a bunch of variably interpreted code to an often frail collection of interconnected devices around the world. Just because some may deem it harder to do, in terms of the design and development work it requires, doesn’t mean it isn’t the right way of doing it, especially when such evaluations are often grossly exaggerated due to ignorance.

I don’t know about you, but I feel better about my day if I know I did something right, not just that I did it fast and in such a way that elevated my needs as a developer over the needs of those who use what I develop. This is especially true when, most of the time, doing it right doesn’t necessarily translate into doing it slower. In most cases, it is a learning curve many stubbornly refuse to explore properly.

We have to be honest that, in most cases, we would create better websites for our users – and we’d do this using PE – given the right level of competency, and perhaps a little more care for the variant, non-uniform contexts our users may find themselves in when trying to access what we’ve built.

Strong opinions, weakly held

It is important to me that all readers of this site understand where I come from when writing a strongly worded argument. For me, it is about having the balls to put forward a well thought-through opinion in the hopes it actually brings about helpful action and problem solving. I’d like to think that I do not hold onto such opinions with an unbending stubbornness (for too long, at least). I frequently allow doubt in, and let it pry open potential weaknesses, and if those weaknesses prove to be significant, I’ll gladly change my mind. In many ways, most of the stuff you read on this site is my ongoing attempt to have strong opinions that are weakly held.

UPDATE: Steve Barnett has provided some succinct myth busting points here, as well as some examples of how PE can be applied to things considered to be PE-unfriendly.

UPDATE 2: You can read Le Roux’s response on Medium here. As I feared would happen, we’re arguing past each other. It’s why I entitled this opposing agendas: it ultimately comes down to having different goals and priorities as designers and developers, regardless of the undeniable benefits of PE. To reiterate my own words,

…neither parties are going to really get anywhere, because the evidence around the subject matter isn’t the real issue. The issue – the real point of contention – originates from competing forces of intent; an intent which is shaped by personal experiences and agendas.

Notes:

  1. This is partly in response to this exchange on twitter. I raised a few things that Le Roux could be objecting to, namely mobile-first, PE, and/or user testing. I’m making the assumption the focus of his objection is around PE. For me, this includes mobile-first, as it is a type of PE – it follows the same underlying philosophy. So PE is the focus of this response. If it is user testing he is referring to, well that’s a whole other kettle of fish, which I can address if asked.
  2. Google, which is one of the dominating oligopolists of much that goes on within the web, has given firm credence to these benefits by calling on us makers of the web to start adhering to progressive enhancement principles, or be penalised.
  3. It’s important to note that things like Reactjs can be used with PE, but the creators of Reactjs clearly don’t see the value in it. I respectfully feel Mr Hunt, from Instagram, needs to consider that forcing users to download over 9MB of JavaScript just to show them a picture feed with tags and comments (and allow them to update their profile) is a clear demonstration of user needs being subdued in favour of fast, and some could even say sloppy, JavaScript development. I think he needs to revisit his understanding of the term user experience.
4 December 2014

The emperor has no clothes

crown

In sharing my experience of making the new Mr D website live, I wrote about learning to be patient. The specific type of patience I refer to here doesn’t imply that better work gets done as result of it. Quite the opposite. Rather, this newly learned patience is purely for the sake of my own sanity and happiness.

I’ve been cornered into accepting patience as my only valid solution in the face of things that I believe should be second nature by now, but aren’t.

Modular front-end design should be a given when building or reworking any website or application. It should be common sense to approach all client side code with progressive enhancement in mind, right from the beginning. New designs should clearly follow a mobile-first methodology. Iterations on those designs should be user-centred. Some kind of feedback loop outside of those purely tasked at making the thing you’re designing (for others than yourself) needs to happen, surely? All these things should be second nature by now, but they aren’t.

I constantly face resistance from developers, designers, and managers on all these fronts. The resistance is so strong that I end up having to accept compromises. There are good compromises and there are bad compromises. These compromises firmly fall into the bad bucket, because they defy what should be the norm by now.

My original version of the new Mr D website piece was far more angry and critical. But I reworked it, trying to salvage some positivity. I needed, for my sake and the sake of a select few others, to do my best to stay focussed on the positive aspects. I didn’t want to accept that all my efforts were once again a complete failure.

My efforts were, of course, not a complete waste, and I do stick by the positive things I highlighted. But the real me, the one who sits at home late at night thinking about potential versus reality, refuses to be subdued for very long.

I’m tired and, if I’m being completely honest, I’m disappointed with myself. The emperor has no fucking clothes! Can no one else see this? But, patience Alex, patience. With time, surely the obvious will become obvious to others.