Sign up

Jim Nielsen’s Blog

Not verified No WebSub updates No webmention support Valid

Public lists
davewiner/hackerNewsStars
Fetched

Jim Nielsen’s Blog Valid
Text

Aspect Ratio Changes With CSS View Transitions

So here I am playing with CSS view transitions (again). I’ve got Dave Rupert’s post open in one tab, which serves as my recurring reference for the question, “How do you get these things to work again?” I’ve followed Dave’s instructions for transitioning the page generally a...

Jim Nielsen’s Blog Valid
Text

Search Results Without JavaScript

I’m currently looking to add a search feature to my blog. It’s a client-side approach, which means I was planning on using my favorite progressive-enhancement technique for client-side only search: you point a search form at Google, scope the results to your site, then use J...

Jim Nielsen’s Blog Valid
Text

The Art of Making Websites

Hidde de Vries gave a great talked titled “Creativity cannot be computed” (you can checkout the slides or watch the video). In his slides he has lots of bullet points that attempt to define what art is, and then in the talk he spends time covering each one. Here’s a sampling...

Jim Nielsen’s Blog Valid
Text

Software Pliability

Quoting myself from former days on Twitter: Businesses have a mental model of what they do. Businesses build software to help them do it—a concrete manifestation of their mental model. A gap always exists between these two. What makes a great software business is their abil...

Jim Nielsen’s Blog Valid
Text

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 ...

Jim Nielsen’s Blog Valid
Text

UI Pace Layers

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 checkb...

Jim Nielsen’s Blog Valid
Text

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...

Jim Nielsen’s Blog Valid
Text

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 som...

Jim Nielsen’s Blog Valid
Text

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 c...

Jim Nielsen’s Blog Valid
Text

Consistency For Who? Thoughts on Overriding Basic Computing Controls

A note before we start: I don’t know how much of this I believe. I’m sketching out some feelings in this post and thinking through whether it actually makes any sense. I’d be curious where other folks land on this. I’m not sure I totally understand this impulse we have on ...

Jim Nielsen’s Blog Valid
Text

Relationship Advice for AI

You know what’s really helpful in solving my own problems? Writing them down, sending them to someone, and not hearing back. You ever do that? For me, it’s a bulletproof method to solving problems. It’s akin to those moments when you go to someone with a problem, you talk i...

Jim Nielsen’s Blog Valid
Text

Tools As Ways of Being

I took notes from Sean Voisen’s call for more hybrid tools. He speaks for a moment on generative AI and its inclusion into existing tools, but reading between the lines the insight I found was how our tools can trigger empathy for people and disciplines: One of the greatest...

Jim Nielsen’s Blog Valid
Text

Using Locally-Installed CLI Tools In Node Projects

You have a dependency that provides a CLI tool, how do you use it? Even though you did npm i from your project root, if you run <tool> <command> it won’t work because that tool is not in your global path. You could install <tool> globally, but then if you h...

Jim Nielsen’s Blog Valid
Text

Gotchas in Naming CSS View Transitions

I’m playing with making cross-document view transitions work on this blog. Nothing fancy. Mostly copying how Dave Rupert does it on his site where you get a cross-fade animation on the whole page generally, and a little position animation on the page title specifically. ...

Jim Nielsen’s Blog Valid
Text

Don’t Miss the Product for the Artifacts

Ever hear that idiom, “Don’t miss the forest for the trees”? The idea being, you miss the bigger picture because you’re focused on the minutia? Feels like the tech equivalent is: Don’t miss the product for the artifacts. Here’s Ryan Rendle in a recent piece on design artifat...

Jim Nielsen’s Blog Valid
Text

Social Inflation

Imagine you’re on a social network and you start getting tons of followers. You love it! Your follower count is going up! Instead of a nobody with a couple hundred followers, you’ve bypassed the 1k+ mark and it keeps going! You’re ecstatic! This is the “next step” you were a...

Jim Nielsen’s Blog Valid
Text

Push Notifications Are Organizational Marshmallows

It’s a notifications’ world, we’re just living in it. Companies can’t help but try and get your attention via email, text, or push notifications and drive you to their app. Push notifications in particular are a powerful tool — and where there’s power, there’s abuse. I’m sur...

Jim Nielsen’s Blog Valid
Text

You Can Now Subscribe To My Blog via Email

I don’t think you should. I think you should use RSS. But if you want posts delivered directly to your email, you can do that now. However, disclaimer: I don’t know if I’ll keep this feature. It costs me money. And I don’t monetize my blog. So sending you an email costs me ...

Jim Nielsen’s Blog Valid
Text

Podcast Notes: Vlad Prelovac on “The Talk Show”

Vlad Prelovac is the CEO of Kagi: a search engine you have to pay for. He’s on episode 416 of John Gruber’s The Talk Show to discuss why he thinks we should be paying for search. Hearing his point of view is compelling. I quite enjoyed the entire podcast. So much, in fact, t...

Jim Nielsen’s Blog Valid
Text

Christmas Day

It’s Christmas circa 2004. My teenage brothers, sisters, and I have all finished opening presents and we’re more than content to have absolutely nothing to do — it’s Christmas day after all! But not Dad. He’s in the bathroom laying tile. Again, this is Christmas day and Dad ...

Jim Nielsen’s Blog Valid
Text

Making o(m)g:image, Part IV: URLs

This is part four of my series of posts describing how I made my quiz game o(m)g:image. Project Announcement Pt. I: Design Iterations Pt. II: As Little JS As Possible Pt. III: The HTML Pt. IV: URLs The design of the game is simple: Each page has one question with four po...

Jim Nielsen’s Blog Valid
Text

Making o(m)g:image, Part III: The HTML

This is part three of my series of posts describing how I made my quiz game o(m)g:image. Project Announcement Pt. I: Design Iterations Pt. II: As Little JS As Possible Pt. III: The HTML o(m)g:image is presented like a quiz: You get one question at a time When you choose...

Jim Nielsen’s Blog Valid
Text

Making o(m)g:image, Part II: As Little JS As Possible

This is part two of my series of posts describing how I made my quiz game o(m)g:image. Project Announcement Pt. I: Design Iterations Pt. II: As Little JS As Possible One of my goals when making this project was to use as little JavaScript as possible. In retrospect, I ha...

Jim Nielsen’s Blog Valid
Text

Making o(m)g:image Part I: Design Iterations

I blogged about my recent project omgimg.jim-nielsen.com and I figured I’d write more details about my process behind making it. When the idea first struck, I jumped into Figma and started working out the idea. I had a pretty good idea of what I wanted: a quiz-like website ...

Jim Nielsen’s Blog Valid
Text

Introducing o(m)g:image

I was popping off on Mastodon with an idea for a physical board game then decided to just make a digital version. It’s called “o(m)g:image” and you can play it now: omgimg.jim-nielsen.com Here’s the idea: You have a bunch images Each image is a real-life og:image pulled fro...

Jim Nielsen’s Blog Valid
Text

Contrast Is Clarifying

Which is best? Generalist or specialist? Native or web? Web site or web app? JavaScript or Typescript? Framework or library? Server side or client side? Photoshop or Sketch or Figma? Designing in a tool or design in the browser? Skueomorphic or flat? Mac or PC or Linux? Th...

Jim Nielsen’s Blog Valid
Text

Nothing is Something

There’s a post on htmx.org about why htmx wasn’t the right fit for a particular project (which is dope, we need more websites that admit their thing might not be the right thing all the time). The bit on AI being unfamiliar with their tool choice piqued my interest: It’s wo...

Jim Nielsen’s Blog Valid
Text

Nabbing macOS Icon Artwork

I keep a personal collection of beautiful macOS app icons, which might make you ask: “How does he get those icons?” Apps in the App Store For apps in the Mac App Store, I have my ways. I don’t necessarily want to write about them because I’m semi-afraid Apple would frown on ...

Jim Nielsen’s Blog Valid
Text

Captchas Turned Notification Exploits

When my site analytics reported a large number of inbound traffic from Hacker News clones, I got curious and started clicking links.[1] I like to visit links. I am connoisseur of it. I love the feeling of landing on something you didn’t expect — which is precisely what happe...

Jim Nielsen’s Blog Valid
Text

Named Blogs

I think it’s endearing when people name their blog. I’m not talking about branding, like people do with professional blogs or newsletters. I’m talking about personal blogs that people name out of care and idiosyncrasy. It’s endearing, because you brand things you own, you na...