The Web Needs a Native .visually-hidden
I agree with the reasoning here—a new display
value would be ideal.
I agree with the reasoning here—a new display
value would be ideal.
Checked in at Jolly Brewer. Wednesday night session — with Jessica
Checked in at The Corner House. Playing in a session led by Matt Cranitch! 🎶🎻 — with Jessica
I am very excited to announce that UX London will be back in 2023!
We’re returning to Tobacco Dock. Save the dates: June 22nd and 23rd.
Wait …that’s only two days. Previously UX London was a three-day event and you could either go for all three days or get a ticket for just one day.
Well, that’s changing. UX London 2023 will be condensed into a two-day event. You get a ticket for both days and everyone shares the experience.
I’m very excited about this! I’m planning to make some other tweaks to the format, but the basic structure of each day remains roughly the same: inspirational talks in the morning followed by hands-on workshops in the afternoon.
As for the who’ll be giving those talks and running those workshops …well, that’s what I’m currently putting together. For the second year in row, I’m curating the line-up. It’s exciting—like a planning a heist, assembling a team of supersmart people with specialised skillsets.
I can’t wait to reveal more. For now though, you can trust me when I say that the line-up is going to be stellar.
If you do trust me, you can get your super early-bird ticket, you’ve got until this Friday, December 2nd.
The super early-bird tickets are an absolute steal at £695 plus VAT. After Friday, you’ll be able to get early-bird tickets for the more reasonable price of £995 plus VAT.
Keep an eye on the UX London website for speaker announcements. I’ll also be revealing those updates here too because, as you can probably tell, I’m positively gleeful about UX London 2023.
See you there!
Checked in at Jolly Brewer. Wednesday night session 🎶🎻☘️ — with Jessica
Pub lunch in the countryside (with dog).
I keep thinking about this blog post I linked to last week by Jacob Kaplan-Moss. It’s called Quality Is Systemic:
Software quality is more the result of a system designed to produce quality, and not so much the result of individual performance. That is: a group of mediocre programmers working with a structure designed to produce quality will produce better software than a group of fantastic programmers working in a system designed with other goals.
I think he’s on to something. I also think this applies to design just as much as development. Maybe more so. In design, there’s maybe too much emphasis placed on the talent and skill of individual designers and not enough emphasis placed on creating and nurturing a healthy environment where anyone can contribute to the design process.
Jacob also ties this into hiring:
Instead of spending tons of time and effort on hiring because you believe that you can “only hire the best”, direct some of that effort towards building a system that produces great results out of a wider spectrum of individual performance.
I couldn’t agree more! It just one of the reasons why the smart long-term strategy can be to concentrate on nurturing junior designers and developers rather than head-hunting rockstars.
As an aside, if you think that the process of nurturing junior designers and developers is trickier now that we’re working remotely, I highly recommend reading Mandy’s post, Official myths:
Supporting junior staff is work. It’s work whether you’re in an office some or all of the time, and it’s work if Slack is the only office you know. Hauling staff back to the office doesn’t make supporting junior staff easier or even more likely.
Hiring highly experienced designers and developers makes total sense, at least in the short term. But I think the better long-term solution—as outlined by Jacob—is to create (and care for) a system where even inexperienced practitioners will be able to do good work by having the support and access to knowledge that they need.
I was thinking about this last week when Irina very kindly agreed to present a lunch’n’learn for Clearleft all about inclusive design.
She answered a question that had been at the front of my mind: what’s the difference between inclusive design and accessibility?
The way Irina put it, accessibility is focused on implementation. To make a website accessible, you need people with the necessary skills, knowledge and experience.
But inclusive design is about the process and the system that leads to that implementation.
To use that cliché of the double diamond, maybe inclusive design is about “building the right thing” and accessibility is about “building the thing right.”
Or to put it another way, maybe accessibility is about outputs, whereas inclusive design is about inputs. You need both, but maybe we put too much emphasis on the outputs and not enough emphasis on the inputs.
This is what made me think of Jacob’s assertion that quality is systemic.
Imagine someone who’s an expert at accessibility: they know all the details of WCAG and ARIA. Now put that person into an organisation that doesn’t prioritise accessibility. They’re going to have a hard time and they probably won’t be able to be very effective despite all their skills.
Now imagine an organisation that priorities inclusivity. Even if their staff don’t (yet) have the skills and knowledge of an accessibility expert, just having the processes and priorities in place from the start will make it easier for everyone to contribute to a more accessible experience.
It’s possible to make something accessible in the absence of a system that prioritises inclusive design but it will be hard work. Whereas making sure inclusive design is prioritised at an organisational level makes it much more likely that the outputs will be accessible.
Well, now I’m really glad I wrote that post about logical properties!
We’re not there yet. So how do we get there?
Well, I don’t know for sure – but articles like this are very helpful as we try to work it out!
I was refactoring some CSS on The Session over the weekend. I thought it would be good to switch over to using logical properties exclusively. I did this partly to make the site more easily translatable into languages with different writing modes, but mostly as an exercise to help train me in thinking with logical properties by default.
All in all, it went pretty smoothly. You can kick the tyres by opening up dev tools on The Session and adding a writing-mode
declaration to the body
or html
element.
For the most part, the switchover was smooth. It mostly involved swapping out property names with left
, right
, top
, and bottom
for inline-start
, inline-end
, block-start
, and block-end
.
The border-radius
properties tripped me up a little. You have to use shorthand like border-start-end-radius
, not border-block-start-inline-end-radius
(that doesn’t exist). So you have to keep the order of the properties in mind:
border-{{block direction}}-{{inline-direction}}-radius
Speaking of shorthand, I also had to kiss some shorthand declarations goodbye. Let’s say I use this shorthand for something like margin
or padding
:
margin: 1em 1.5em 2em 0.5em;
Those values get applied to margin-top
, margin-right
, margin-bottom
, and margin-left
, not the logical equivalents (block-start
, inline-end
, block-end
, and inline-start
). So separate declarations are needed instead:
margin-block-start: 1em;
margin-inline-end: 1.5em;
margin-block-end: 2em;
margin-inline-start: 0.5em;
Same goes for shorthand like this:
margin: 1em 2em;
That needs to be written as two declarations:
margin-block: 1em;
margin-inline: 2em;
Now I’ve said it before and I’ll say it again: it feels really weird that you can’t use logical properties in media queries. Although as I said:
Now you could rightly argue that in this instance we’re talking about the physical dimensions of the viewport. So maybe width and height make more sense than inline and block.
But along comes the new kid on the block (or inline), container queries, ready to roll with container-type
values like inline-size
. I hope it’s just a matter of time until we can use logical properties in all our conditional queries.
The other place where there’s still a cognitive mismatch is in transforms and animations. We’ve got a translateX()
function but no translate-inline()
. We’ve got translateY()
but no translate-block()
.
On The Session I’m using some JavaScript to figure out the details of some animation effects. I’m using methods like getBoundingClientRect()
. It doesn’t return logical properties. So if I ever want to adjust my animations based on writing direction, I’ll need to fork my JavaScript code.
Oh, and one other thing: the aspect-ratio
property takes values in the form of width/height
, not inline/block
. That makes sense if you’re dealing with images, videos, or other embedded content but it makes it really tricky to use aspect-ratio
on elements that contain text. I mean, it works fine as long as the text is in a language using a top-to-bottom writing mode, but not for any other languages.
This piece by Giles is a spot-on description of what I do in my role as content buddy at Clearleft. Especially this bit:
Your editor will explain why things need changing
As a writer, it’s really helpful to understand the why of each edit. It’s easier to re-write if you know precisely what the problem is. And often, it’s less bruising to the ego. It’s not that you’re a bad writer, but just that one particular thing could be expressed more simply, or more clearly, than your first effort.
Checked in at The Bugle Inn. Sunday afternoon session ☘️🎶🎻
Checked in at cafe Rust. Birthday brunch — with Jessica
Today is the first day of UX London 2022 …and I’m not there. Stoopid Covid.
I’m still testing positive although I’m almost certainly near the end of my infection. But I don’t want to take any chances. Much as I hate to miss out on UX London, I would hate passing this on even more. So my isolation continues.
Chris jumped in at the last minute to do the hosting duties—thanks, Chris!
From the buzz I’m seeing on Twitter, it sounds like everything is going just great without me, which is great to see. Still, I’m experiencing plenty of FOMO—even more than the usual levels of FOMO I’d have when there’s a great conference happening that I’m not at.
To be honest, nearly all of my work on UX London was completed before the event. My number one task was putting the line-up together, and I have to say, I think I nailed it.
If I were there to host the event, it would mostly be for selfish reasons. I’d get a real kick out of introducing each one of the superb speakers. I’d probably get very tedious, repeatedly saying “Oh, you’re going to love this next one!” followed by “Wasn’t that great‽”
But UX London isn’t about me. It’s about the inspiring talks and practical workshops.
I wish I were there to experience it in person but I can still bask in the glow of a job well done, hearing how much people are enjoying the event.
Checked in at Jolly Brewer. Fiddletastic! 🎻🎶☘️ — with Jessica
Check out the line up for this year’s UX London. I know I’m biased, but damn! That’s objectively an excellent roster of smart, interesting people.
When I was first putting that page together I had the name of each speaker followed by their job title and company. But when I stopped and thought about it—not to be too blunt—I realised “who cares?”. What matters is what they’ll be talking about.
And, wow, what they’ll be talking about sounds great! Designing for your international audiences, designing with the autistic community, how to win stakeholders and influence processes, the importance of clear writing in product development, designing good services, design systems for humans, and more. Not to mention workshops like designing your own research methods for a very diverse audience, writing for people who hate writing, and harnessing design systems.
You can peruse the schedule—which is almost complete now—to get a feel for how each day will flow.
But I’m not just excited about this year’s UX London because of the great talks and workshops. I’m also really, really excited at the prospect of gathering together—in person!—over the course of three days with my peers. That means meeting new and interesting people, but frankly, it’s going to be just as wonderful to hang out with my co-workers.
Clearleft has been a remote-only company for the past two years. We’ve still got our studio and people can go there if they like (but no pressure). It’s all gone better than I thought it would given how much of an in-person culture we had before the pandemic hit. But it does mean that it’s rare for us all to be together in the same place (if you don’t count Zoom as a place).
UX London is going to be like our off-site. Everyone from Clearleft is going to be there, regardless of whether “UX” or “design” appears in their job title. I know that the talks will resonate regardless. When I was putting the line-up together I made sure that all the talks would have general appeal, regardless of whether you were a researcher, a content designer, a product designer, a product manager, or anything else.
I’m guessing that the last two years have been, shall we say, interesting at your workplace too. And even if you’ve also been adapting well to remote work, I think you’ll agree that the value of having off-site gatherings has increased tenfold.
So do what we’re doing. Make UX London your off-site gathering. It’ll be a terrific three-day gathering in the sunshine in London from Tuesday, June 28th to Thursday, June 30th at the bright and airy Tobacco Dock.
If you need to convince your boss, I’ve supplied a list of reasons to attend. But you should get your tickets soon—standard pricing ends in just over two weeks on Friday, June 3rd. After that there’ll only be last-chance tickets available.
Checked in at Jolly Brewer. Duelling banjos! — with Jessica
Checked in at Central Park. St. Patrick’s Day parade!
Checked in at Tigh Neachtain. Chowder time — with Jessica
Not only was fire always dangerous as well as beneficial, so was the wheel. A spear could injure or kill your friends, not only your dinner. With clothes came not only protection but also body lice. With farming came not only a more reliable food supply but also hard, repetitive work – and plunder by hungry bandits.
Every solution creates new problems. But they can be better problems. Lesser evils. More and greater delights.
That’s what progress is. That is what is most visible today. And that is what cynicism must therefore besmirch, obfuscate and argue away if it is to make itself, and pessimism, superficially plausible.
The Competition and Markets Authority (CMA) recently published an interim report on their mobile ecosystems market study. It’s well worth reading, especially the section on competition in the supply of mobile browsers:
On iOS devices, Apple bans the use of alternative browser engines – this means that Apple has a monopoly over the supply of browser engines on iOS. It also chooses not to implement – or substantially delays – a wide range of features in its browser engine. This restriction has 2 main effects:
- limiting rival browsers’ ability to differentiate themselves from Safari on factors such as speed and functionality, meaning that Safari faces less competition from other browsers than it otherwise could do; and
- limiting the functionality of web apps – which could be an alternative to native apps as a means for mobile device users to access online content – and thereby limits the constraint from web apps on native apps. We have not seen compelling evidence that suggests Apple’s ban on alternative browser engines is justified on security grounds.
That last sentence is a wonderful example of British understatement. Far from protecting end users from security exploits, Apple have exposed everyone on iOS to all of the security issues of Apple’s Safari browser (regardless of what brower the user thinks they are using).
The CMA are soliciting responses to their interim report:
To respond to this consultation, please email or post your submission to:
Email: mobileecosystems@cma.gov.uk
Post:
Mobile Ecosystems Market Study
Competition and Markets Authority
25 Cabot Square
London
E14 4QZPlease respond by no later than 5pm GMT on 7 February 2022.
I encourage you to send a response before this coming Monday. This is the email I’ve sent.
Hello,
This response is regarding competition in the supply of mobile browsers and contains no confidential information.
I read your interim report with great interest.
As a web developer and the co-founder of a digital design agency, I could cite many reasons why Apple’s moratorium on rival browser engines is bad for business. But the main reason I am writing to you is as a consumer and a user of Apple’s products.
I own two Apple computing devices: a laptop and a phone. On both devices, I can install apps from Apple’s App Store. But on my laptop I also have the option to download and install an application from elsewhere. I can’t do this on my phone. That would be fine if my needs were met by what’s available in the app store. But clause 2.5.6 of Apple’s app store policy restricts what is available to me as a consumer.
On my laptop I can download and install Mozilla’s Firefox or Google’s Chrome browsers. On my phone, I can install something called Firefox and something called Chrome. But under the hood, they are little more than skinned versions of Safari. I’m only aware of this because I’m au fait with the situation. Most of my fellow consumers have no idea that when they install the app called Firefox or the app called Chrome from the app store on their phone, they are being deceived.
It is this deception that bothers me most.
Kind regards,
Jeremy Keith
To be fair to Apple, this deception requires collusion from Mozilla, Google, Microsoft, and other browser makers. Nobody’s putting a gun to their heads and forcing them to ship skinned versions of Safari that bear only cosmetic resemblance to their actual products.
But of course it would be commercially unwise to forego the app store as a distrubution channel, even if the only features they can ship are superficial ones like bookmark syncing.
Still, imagine what would happen if Mozilla, Google, and Microsoft put their monies where their mouths are. Instead of just complaining about the unjust situation, what if they actually took the financial hit and pulled their faux-browsers from the iOS app store?
If this unjustice is as important as representatives from Google, Microsoft, and Mozilla claim it is, then righteous indignation isn’t enough. Principles without sacrifice are easy.
If nothing else, it would throw the real situation into light and clear up the misconception that there is any browser choice on iOS.
I know it’s not going to happen. I also know I’m being a hypocrite by continuing to use Apple products in spite of the blatant misuse of monopoly power on display. But still, I wanted to plant that seed. What if Microsoft, Google, and Mozilla were the ones who walk away from Omelas.