I’m looking for a device I can use for WebKit/Safari testing. However, I can’t justify splashing too much cash on a Mac that I’ll scarcely use.
I’m looking at something with Apple Silicon so that it won’t be dropped by the next software update. Currently considering a 2020 M1 MacBook Air with a broken screen, which I can use headless. Maybe a Mac Mini, but they’re pretty scarce on the second-hand market. People seem to hang onto iMacs long-term, so they aren’t really around.
Thinking the Neo down the line, perhaps.
Any thoughts?
Design Considerations for Moderation Tooling
Ensuring protection of the protectors.
Overview of thoughful and protective design of tooling for moderating user-generated content, placing emphasis on minimising the psychological effects of exposure to heinous content, while balancing efficiency, accuracy, and the long-term wellbeing of trust and safety teams. Covering techniques for the mitigation of impact where applicable.
https://vale.rocks/posts/moderation-tooling-design
I love when websites with completely static content crash.
Congrats! Instead of making a static site, you made a static dynamic site. None of the benefits of a static site but all of the downsides of a dynamic site. What’s the point?
I really just can’t understand the mindset.
Someone commented on how snappy TechConf.Directory is. That’s due to the site just being HTML/CSS/JS/JSON generated at build time. No client-side third-party dependencies.
Even on the development side, the only dependency is Web Origami, which is just used for populating templates and manipulating data
Once again, the winning formula is to bet on the web platform and not needlessly overcomplicate things.
My Opinionated CSS Reset
* { all: unset; }
A CSS reset for modern web development to provide a consistent and high-quality base for projects. Low-specificity and very opinionated to provide a strong foundation allowing seamless use in projects of varying scales and complexity.
https://vale.rocks/posts/css-reset
Living in the world’s most isolated city, looking at front-end conference prices, plus the price for several connecting flights spanning multiple days of travel, plus accommodation and expenses…
Yikes.
I think the only way it’d be viable is if I can string a few together and attend a few at once.
I don’t suppose anyone has collated a list of good front-end or web conferences worth attending somewhere? Ideally with information such as dates and ticket prices.
Supporting Old Browsers
I see people say frequently that they don’t need to support older browsers because ‘everything auto-updates now’. This is a flawed assumption.
There are many reasons why someone might not have up-to-date browsers:
- Their device is too old. This is especially a problem with Apple devices, where the version of Safari is largely tied to the version of the OS.
- They never use their device long enough to trigger an update. I’ve previously had elderly tech-support clients who only used their computer sporadically for emails and banking and therefore didn’t receive updates because they weren’t using their computer long enough for new versions to install.
- They’re using a browser in an embedded context or on a ‘smart’ device, where there is no newer version available.
- Enterprise policies or restrictions don’t yet permit them to update their browser.
- They’re using a browser fork which lags behind in releases.
- They’re on slow/metered connections and have disabled background downloads to save money or bandwidth.
- Assistive technologies they require either lag behind in updates or aren’t supported in newer versions entirely.
- They’ve purposely disabled auto-updates for reasons of security.
- Interventions or censorship prevent them from reaching update servers.
- Their device doesn’t have the necessary storage capacity to perform an update.
- A device in a shared space like a library or school which doesn’t have the budget or capability to keep devices up-to-date.
- They’re running a portable browser from a USB or the like, which must be manually updated.
- They rely on a proxy-based browser which is outdated on the server-side.
You don’t need to support every browser version in perpetuity, but you should take a moment to consider that there are plenty of legitimate reasons folks won’t have the latest and greatest.
If you can, embrace progressive enhancement and graceful degradation.
Prompted by David Bushell testing how his website fared when run through automated translators, I did the same.
It isn’t perfect, but Vale.Rocks now adapts nicely for people reading in languages that read right-to-left. It feels a tad bizarre seeing the UI flipped, given how intricately familiar I am with it.
You can give it a whirl with a right-to-left language like Arabic in Kagi Translate.
https://translate.kagi.com/ar/vale.rocks/posts/lorem-ipsum
(Also, I’d quite appreciate a logical version of CSS’ translate.)
Conspiracy theory: Part of Apple’s goal with Liquid Glass is to make PWAs look further out of place.
While you can somewhat recreate the glass effect on the web, it is difficult, likely less performant, and isn’t 1:1. This will enforce a stronger separation between native apps and web apps.
Icons also presumably won’t be dynamic and adaptive to Liquid Glass’ styling, like they aren’t with iOS 18’s light/dark/tinted variants. This’ll make them stick out and feel more different than they already do, as well as look bad on the home screen.
I went to a bank and put a really high negative margin on all the money inside. This offset was enough for it to appear outside the bank, allowing me to abscond with it.
Of course, banks can easily avoid this situation by applying overflow: hidden to their vaults, but they very rarely remember to. It tends to be an operational oversight.
Learn more neat tricks like this in my upcoming book: CSS for Crime.
Y’know, when I started getting into development proper, I read so many blog posts and publications from fantastic people.
If you’d told me as a youngster that as a 19-year-old I’d be writing for these publications and chatting with figures whose work I admired, I simply wouldn’t have believed you.
I know you should ‘never meet your heroes’, but I’m ecstatic to get to meet so many of my inspirations.
There are a lot of fields out there, and I’m so glad I found myself doing web/front-end development. I can scarcely think of communities so kind and open to sharing knowledge.
Thank you to all.
And with a single click, I find myself transported to an ancient place. I’m a digital archaeologist, and I’ve stumbled across a long-forgotten remnant of those who came before. UI untouched for a decade.
It is two rebrands old. The palette is warped. Distorted. There are gradients. Buttons forged from a low-resolution image. I brush away a drop-shadow-lg.png to inspect an input form. Picking it up, I bring it to my face to count the pixels, only to be hit by the harsh aroma of Bootstrap 2 in the back of my throat.
I drop it to the ground, and it shatters into CSS properties. ‘Oh well,’ I muse aloud. ‘It’ll be fixed on refresh. Assuming anyone ever discovers this place again.’
I do what I came to do and close the tab.
CSS Carousel Debacle
Carousels are a web staple. Websites use them, and thus people do in turn. They’ve garnered a lot of hate over the years, primarily due to being largely inaccessible and poor ways of presenting information, yet still they persist. So, if you can’t beat ‘em, join ‘em.
The Chrome team put together Carousels with CSS which Sara Soueidan has examined in extreme depth. My main takeaway from the main article and Sara’s analysis is that while this is a vague step in the correct direction, it doesn’t address any of the core issues like accessibility and introduces new ones. I was disappointed to see the approach taken in regard to addressing those issues and think Eric Eggert hit the nail on the head.
It completely fails with regard to separation of concerns by using CSS for structure, rather than HTML. I don’t know how to address that other than asking why? I’ve noticed a lot of new CSS features, especially ones with the Chrome team’s influence, are getting a little too markup-y for my liking. David Bushell has covered this and the over reliance of pseudo-elements with touchings on the carousel kerfuffle.
HTML is for structure, CSS is for styling, JS is for anything that can’t be achieved with HTML/CSS, and accessibility isn’t omittable. We should be striving to build a web that is both functional and inclusive. Respect the web; respect users.
I’ve been making improvements to Vale.Rocks using Polypane’s suggestions, which pick up things standard browser dev tools miss.
Also, Portal is awesome for testing across devices.
Polypane also has a celebration button that appears when I fix all accessibility issues, which is an absolute joy.
I have a few minor niggles, but on the whole I’m really liking Polypane.
Regarding those niggles, Kilian Valkhof is absolutely fantastic and extremely receptive to feedback, which is wonderful.
The Implementation of This Site
No bodging here. None at all. Nope.
A breakdown and overview of the implementation of Vale.Rocks, how it used to be built, how it's built now, and its associated infrastructure.
https://vale.rocks/posts/the-implementation-of-this-site
Building Sites With iFrames
Putting websites in websites.
A look at putting iframes to use for seamlessly displaying content and implementing micro-frontends.
https://vale.rocks/posts/building-sites-with-iframes
My Code Formatting Guidelines
Stirring the tabs vs spaces pot.
Code formatting, how I go about it using Prettier, and why I choose to do it the way I do. Covering indentation, string formatting, my take on the classic tabs vs spaces debate, and much more.
https://vale.rocks/posts/my-code-formatting-guidelines
The Design of This Site
The thought behind the experience.
A breakdown and overview of the design choices of Vale.Rocks, as well as its influences and brief touchings on the site's philosophy.
https://vale.rocks/posts/the-design-of-this-site