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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Jim Nielsen’s Blog Valid

Reading and Writing as Human Expression & Connection

Why do we write? We write, in part, because our own reading was given as a gift to us and we want to extend that same magic we received to others. Here’s Mandy Brown (and my notes) in a recent article: The more compelling and interesting reason that most writers seek out re...

Jim Nielsen’s Blog Valid

The Beauty of Building

Jan Miksovsky has an absolutely tremendous article about how he cobbled together some disparate pieces of hardware and software in order to help improve the quality of life of his mother who has amnesia. Everything about this article illustrates what got me into making websi...

Jim Nielsen’s Blog Valid

Navigations on the Web

When trying to define the difference between a link (<a>) and a button (<button>), a general rule of thumb is: links are for navigation, buttons are not. That can take you pretty far. However, like most things, there’s nuance and that mental model can fall apart ...

Jim Nielsen’s Blog Valid

Persisting State to localStorage in Recoil Across Browser Tabs

I was working on a project using Recoil for state management in React. I needed to persist some state to localStorage, and there’s some info on how to do it in Recoil’s docs. That works; however it doesn’t respond to state changes from other instances of your app in multipl...

Jim Nielsen’s Blog Valid

Job Screening Blog Post

Take a look at these two animated gifs. First: Second: Can you tell the difference between them? Do you care? If not, we might not be a good fit. #designEngineering Reply via: Email :: Mastodon :: Twitter Tagged in: #designEngineer