Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]
6
Jeremy Keith, Chris Coyier, and others (see Jeremy’s post) have written about the idea of “pace layers” and now I’m going to take a stab at applying it to user interface primitives. First, let’s start with a line of reasoning: Common user interface controls — such as checkboxes or radios — should be visually and functionally consistent. This provides users a uniform, predictable interface for common interactions across various applications (turning things on/off, selecting an option from a pre-defined list, etc.). Designers and developers should use the primitives afforded by the lower-levels they’re building on. This gives application and web site users a consistent, predictable interface within their context and environment. For web designers, every person accessing your site has a particular piece of hardware with a particular operating system and design language to boot. You can build on top of those primitives, rather than re-create them yourself, which gives end users...
3 days ago

Improve your reading experience

Logged in users get linked directly to articles resulting in a better reading experience. Please login for free, it takes less than 1 minute.

More from Jim Nielsen’s Blog

Blown Away By the Unexpected

A friend gave me a copy of the book “Perfect Wave” by Dave Hickey. I’ve been slowly reading through each essay and highlighting parts with my red pencil. When I got to the chapter “Cool on Cool”, this passage stood out. I want to write it down and share it: there was this perfect, luminous pop single by the Carpenters that just blew me away. And, believe me, the Carpenters were the farthest thing from my kind of thing. But when something that is not your thing blows you away, that’s one of the best things that can happen. It means you are something more and something other than you thought you were. I find this beautiful. I should take more time to wonder at moments of surprise I did not expect. What a beautiful thing that I can be plowing through my existence and suddenly be surprised by something outside my taste, my beliefs, even my identity, that reaches in past all those things and rearranges me. Perhaps my boundaries are more porous than I assume. In an instant, I can become something different, something more that I ever believed was possible. Just think, that ability is lying there inside all of us. I don’t have to think of myself as a walled garden but an open field. Who knows where my boundaries will expand to next. All it takes is someone walking by and tossing out a seed I would’ve never chosen to plant myself. (Tangential: I love this interaction between Jerry Seinfeld and Brian Regan talking about being “blown away”.) Email :: Mastodon :: Bluesky

yesterday 3 votes
Notes on Google Search Now Requiring JavaScript

John Gruber has a post about how Google’s search results now require JavaScript[1]. Why? Here’s Google: the change is intended to “better protect” Google Search against malicious activity, such as bots and spam Lol, the irony. Let’s turn to JavaScript for protection, as if the entire ad-based tracking/analytics world born out of JavaScript’s capabilities isn’t precisely what led to a less secure, less private, more exploited web. But whatever, “the web” is Google’s product so they can do what they want with it — right? Here’s John: Old original Google was a company of and for the open web. Post 2010-or-so Google is a company that sees the web as a de facto proprietary platform that it owns and controls. Those who experience the web through Google Chrome and Google Search are on that proprietary not-closed-per-se-but-not-really-open web. Search that requires JavaScript won’t cause the web to die. But it’s a sign of what’s to come (emphasis mine): Requiring JavaScript for Google Search is not about the fact that 99.9 percent of humans surfing the web have JavaScript enabled in their browsers. It’s about taking advantage of that fact to tightly control client access to Google Search results. But the nature of the true open web is that the server sticks to the specs for the HTTP protocol and the HTML content format, and clients are free to interpret that as they see fit. Original, novel, clever ways to do things with website output is what made the web so thrilling, fun, useful, and amazing. This JavaScript mandate is Google’s attempt at asserting that it will only serve search results to exactly the client software that it sees fit to serve. Requiring JavaScript is all about control. The web was founded on the idea of open access for all. But since that’s been completely and utterly abused (see LLM training datasets) we’re gonna lose it. The whole “freemium with ads” model that underpins the web was exploited for profit by AI at an industrial scale and that’s causing the “free and open web” to become the “paid and private web”. Universal access is quickly becoming select access — Google search results included. If you want to go down a rabbit hole of reading more about this, there’s the TechCrunch article John cites, a Hacker News thread, and this post from a company founded on providing search APIs. ⏎ Email :: Mastodon :: Bluesky #generalNotes

a week ago 14 votes
Missed Connections

Let me tell you about one of the best feelings. You have a problem. You bang your head on it for a while. Through the banging, you formulate a string of keywords describing the problem. You put those words into a search engine. You land on a forum or a blog post and read someone else’s words containing those keywords and more. Their words resonate with you deeply. They’re saying the exact same things you were saying to yourself in your head. You immediately know, “This person gets it!” You know they have an answer to your problem. They’ve seen what you’re seeing. And on top of it all, they provide a solution which fixes your problem! A sense of connection is now formed. You feel validated, understood, seen. They’ve been through what you’re going through, and they wrote about it to reach out to you — across time and space. I fell in love with the web for this reason, this feeling of connection. You could search the world and find someone who saw what you see, felt what you feel, went through what you’re going through. Contrast that with today. Today you have a problem. You bang your head on it. You ask a question in a prompt. And you get back something. But there’s no human behind it. Just a machine which takes human voices and de-personalizes them until the individual point of view is annihilated. And so too with it the sense of connection — the feeling of being validated, understood, seen. Every prompt a connection that could have been. A world of missed connections. Email :: Mastodon :: Bluesky

a week ago 36 votes
HTML Minification for Static Sites

This is a note to my future self, as I’ve setup HTML minification on a few different projects and each time I ask myself, “How did I do that again?” So here’s your guide, future Jim (and anyone else on the internet who finds this). I use html-minifier to minifiy HTML files created by my static site generator. Personally, I use the CLI tool because it's easy to add a CLI command as an npm postbuild step. Example package.json: { "scripts": { "build": "<BUILD-COMMAND>" "postbuild": "html-minifier --input-dir <BUILD-DIR> --output-dir <BUILD-DIR> --file-ext html <OPTIONS>" } } All the minification options are off by default, so you have to turn them on one-by-one (HTML minfication is a tricky concern). Me personally, I’m using the ones exemplified in the project README: --collapse-whitespace --remove-comments --remove-optional-tags --remove-redundant-attributes --remove-script-type-attributes --remove-tag-whitespace --use-short-doctype --minify-css true --minify-js true So, for a site folder named build, the entire command looks like this: html-minifier --input-dir ./build --output-dir ./build --file-ext html --collapse-whitespace --remove-comments --remove-optional-tags --remove-redundant-attributes --remove-script-type-attributes --remove-tag-whitespace --use-short-doctype --minify-css true --minify-js true That’s it — that’s the template. What Kind of Results Do I Get? I use this on a few of my sites, including my notes site and this blog. When testing it locally for my blog’s build, I: Run a build and put files to ./build Copy ./build to ./build-min Command: cp -R build build-min Run html-minifier on build-min and compare the resulting folders in macOS finder. Here’s my results for my blog (2,501 items in ./build): Directory size: Before: 37MB After: 28.4MB Difference: ▼ -8.6MB (-23.24%) Main index.html file lines of code: Before: 1,484 After: 15 lines Difference: ▼ -1,469 lines (-99%) Main index.html file size over the network: Before: 30.6kB After: 17.6kB Difference: ▼ -13kB (-42.48%) And the results for my notes (one big index.html file): File size: Before: 1.5MB After: 1.1MB Difference: ▼ -0.4MB (-26.67%) Lines of code: Before: 25,974 After: 1 Difference: ▼ -25,973 lines (-99.996%) Email :: Mastodon :: Bluesky #html

a week ago 17 votes

More in design

Gallery Katachi by Negishi Kenchiku Studio

This is a renovation of a 130-year-old traditional house in the historical streetscape of a regional city. The client uses...

13 hours ago 2 votes
The Internet Can't Discover: A Case for New Technologies

The internet reflects us. But new technologies must explore the world beyond. We’ve spent more than two generations and trillions of dollars building the internet. It is, arguably, humanity’s most ambitious technological project. And yet, for all its power to process and reflect information, the internet cannot tell us a single new thing about the physical world around us. The internet cannot detect an approaching asteroid, discover a new species in the deep ocean, or detect changes in the Earth’s magnetic field. It cannot discover a new material or invent something new from it. The internet is, fundamentally, an introspective technology; it is a mirror, showing us only what we’ve already put into it. What we desperately need are more extrospective technologies — windows into the unknown. Consider what the internet actually does: it processes and transmits information that humans have already discovered, documented, and digitized. Even the most sophisticated applications it enables — like artificial intelligence — can only recombine and reinterpret existing information about ourselves and our own creations. They cannot generate genuinely new knowledge about the physical world. (Let’s debate whether pattern recognition truly fits the bill in another pieces.) When we marvel at AI’s capabilities, we’re really just admiring an increasingly sophisticated form of introspection. So what is an example of an extrospective technology? The James Webb Space Telescope is a good one. It offers a striking contrast to the internet’s introspective limitations. While we spend billions optimizing ways to look at ourselves, Webb actually shows us something new about our universe — it shows us more of it that we’ve ever seen before. Every image it sends back is a discovery — whether it’s the atmospheric composition of distant planets, the formation of early galaxies, or phenomena we hadn’t even thought to look for. Unlike the internet, which can only reflect what we already know about ourselves, Webb is quite literally a window for looking outward. It extends our vision not just beyond our natural capabilities, but beyond what any human has ever seen before. The imbalance between introspective and extrospective technologies in our society is striking. The entire James Webb Space Telescope project cost about $10 billion — roughly what Meta spends on its metaverse project in a single year. We have more engineers working on optimizing our digital reflections than on all of our outward-looking scientific instruments combined. The most talented minds of our generation are focused on perfecting the mirror rather than opening new windows to the universe. Of course, this isn’t just about how we spend our money — it’s about our relationship with discovery itself. The internet has made us incredibly efficient at examining and reprocessing our own knowledge, but it may have dulled our appetite for looking outward. We’ve become so accustomed to the immediate gratification of accessing existing information that we’ve forgotten the importance of the long, patient work of discovery. The technologies that can actually tell us something new about our world often operate on different timescales than introspective ones. A deep ocean sensor might need years to reveal meaningful patterns. A space telescope might require decades of operation before making a groundbreaking discovery. These extrospective technologies demand patience and sustained investment — qualities that our internet-shaped attention spans increasingly struggle with. Yet these are exactly the technologies we need most urgently. As we face unprecedented environmental challenges and explore new frontiers in space, we need more windows into the physical world, not better mirrors of our digital one. We need technologies that can warn us of environmental changes, reveal new resources, and help us understand our place in the universe. As enthusiastic as I am about things like the James Webb Telescope, I’m also fascinated by how much we still don’t know about this planet. Only 26% of the ocean floor has been mapped using high resolution sonar technology. Only 5% of the ocean has actually been physically explored. It has been estimated that the ocean’s ecosystem is home to somewhere between 700,000 and 1 million unique species. The vast majority of them — greater than 60% — remain undiscovered. Isn’t it astonishing how little we know about this thing that covers 70% of our planet’s surface? What could we create to learn more about the ocean? It has to be something truly novel — something other than a better submarine. The ocean is just one place to point an extrospective technology. Think of the greatest unknowns. How many of them will be illuminated by the internet? Will the internet expand our understanding of physics, or will it document what we find by some other means? Will the internet ever be more than a catalog of discoveries? Will the internet explain the nature of time, or will it just continue to draw from our finite supply of it? The internet will remain vital infrastructure, but it’s time to rebalance our technological investment. We need to direct more resources and talent toward extrospective technologies — tools that can tell us something new about the world beyond our screens. Only then can we move beyond endless introspection and toward genuine discovery of the universe that exists whether we look at it or not.

16 hours ago 2 votes
Gorilla Bites by Mostafa Abdelmawla

“Gorilla Bites” is a personal passion project—an imaginative chocolate brand with a bold, adventurous twist! The Legend of Gorilla Bites:...

7 hours ago 1 votes
Blown Away By the Unexpected

A friend gave me a copy of the book “Perfect Wave” by Dave Hickey. I’ve been slowly reading through each essay and highlighting parts with my red pencil. When I got to the chapter “Cool on Cool”, this passage stood out. I want to write it down and share it: there was this perfect, luminous pop single by the Carpenters that just blew me away. And, believe me, the Carpenters were the farthest thing from my kind of thing. But when something that is not your thing blows you away, that’s one of the best things that can happen. It means you are something more and something other than you thought you were. I find this beautiful. I should take more time to wonder at moments of surprise I did not expect. What a beautiful thing that I can be plowing through my existence and suddenly be surprised by something outside my taste, my beliefs, even my identity, that reaches in past all those things and rearranges me. Perhaps my boundaries are more porous than I assume. In an instant, I can become something different, something more that I ever believed was possible. Just think, that ability is lying there inside all of us. I don’t have to think of myself as a walled garden but an open field. Who knows where my boundaries will expand to next. All it takes is someone walking by and tossing out a seed I would’ve never chosen to plant myself. (Tangential: I love this interaction between Jerry Seinfeld and Brian Regan talking about being “blown away”.) Email :: Mastodon :: Bluesky

yesterday 3 votes
A Workplace in Perpetual Beta: A Design that Adapts, Inspires, and Evolves

In the heart of Bengaluru, a global asset management leader envisioned more than just a workspace—it imagined a sanctuary of...

yesterday 3 votes