Skip to content

Dan Q

    • Articles
    • Everything
    • Notes
    • Reposts (shares)
    • Checkins (geo*)
    • Videos
    • Reviews
    • Comics
    • Tags
    • Stats
    • Subscribe
    • Blogroll
  • About
    • Semi-standard "slash pages" you might like to explore:
    • /about
    • /blank
    • /blogroll
    • /colophon
    • /contact
    • /cv
    • /license
    • /postcards
    • /privacy
    • /salary
    • /shh
    • /slashes
    • /stats
    • /subscribe
    • /where
    • Hide posts of type:
    • Choose how Dan's dressed:
    • Hair
    • T-Shirt
  • Contact
  • Podcast

Tag: user interface

  • Screenshot showing Opera's vertical tabs, showing a semi-readable DanQ.me page.

    Browser vertical tabs are great (and they're older than you think!)

    A conversation about the invention of browsers with (the option of) vertical tabs reminded me of how brilliant they are. I used them back in 2000, and (with a break in the middle) I use them again today, and they're wonderful. Let me tell you why!

    Read more (388 words)

    • Article
    • posted 21 September, 2026
  • Goal: get Claude to change the "Add to Cart" button to blue; do not let it change anything else.

    Opusfived

    Miloลก Novoviฤ‡'s experimental interactive fiction is a silly (but with a grain of truth!) simulation of what it feels like to attempt to use vibe-coding to make small, simple, isolated changes to an established codebase. Go play it!

    Read more (68 words)

    • Repost
    • of this original
    • posted 11 September, 2026
  • Screenshot showing a web form with Dan Q and three other passengers on the outbound leg of a journey. Personal details appear to be blurred, but are actually spoofed AND blurred, per Dan's tradition. A 'Return passenger information is the same' checkbox is checked.

    The secret API I used to tell LeShuttle about different outbound and return passengers

    Channel Tunnel operator LeShuttle's website wouldn't provide a working UI to specify that I'd have different passengers in my car for the outbound and return journeys. So, obviously, I reverse-engineered their API and pushed the information to their database directly.

    Read more - about 5 minutes (1012 words)

    • Article
    • 1 comment
    • posted 16 July, 2026
  • Close-up of the F4 key of a multi-function slim wireless keyboard, showing a 'moon' icon. Of the other visible function keys, F3 shows 'fast forward', F5 shows 'hourglass', F6 shows what appears to be an illustration of a supercollider spinning up, and so on.

    I Hate (Most) Keyboard 'Fn' Keys

    Sometimes keyboards come with a 'Fn' key that allows some of their context-sensitive keys to do particular general-purpose functions. Sometimes these are implemented in careful, considerate and configurable ways... and other times they just make me want to throw the keyboard out of the window.

    Read more - about 5 minutes (1151 words)

    • Article
    • with an accompanying podcast
    • 15 comments
    • posted 9 June, 2026
  • Why, when I change the temperature on the thermostat of my Renault Zoe does it change the fan direction, too? Is this a UI affordance for people who want their faces colder but their feet warmer? I don't understand!

    Full image of A white hand turns the thermostat knob in a car from 19โ„ƒ to 20โ„ƒ in 0.5โ„ƒ increments; the untouched nearby fan direction control seems to change of its own accord. Initially blowing towards the user's face it switches on 'towards feet' at 19.5โ„ƒ and switches off 'towards face' at 20โ„ƒ, and reverses the process when the temperature is turned down again.
    Alt

    A white hand turns the thermostat knob in a car from 19โ„ƒ to 20โ„ƒ in 0.5โ„ƒ increments; the untouched nearby fan direction control seems to change of its own accord. Initially blowing towards the user's face it switches on 'towards feet' at 19.5โ„ƒ and switches off 'towards face' at 20โ„ƒ, and reverses the process when the temperature is turned down again.

    • Note
    • 2 comments
    • posted 10 May, 2026
  • Image representing post: Molly guard in reverse

    Molly guard in reverse

    In his Unsung blog, Marcin Wichary's shared the concept of a 'reverse molly guard', which is awesome. I didn't actually know the originating term 'molly guard' until I saw it, though, although I've definitely seen (and implemented) then before. Hey: d'ya wanna hear about a molly guard I added to Three Rings the other year?

    Read more - about 3 minutes (656 words)

    • Repost
    • of this original
    • posted 23 April, 2026
  • The Dungeon of Dark Patterns A comic in four panels Panel 1. The adventurer and his fairy are in front of the door of a nightmarish dungeon, it's dark, foggy, and the inside the door we can't see anything except a deep red light. > Dungeon: "Welcome adventurers, to the Dungeon of Dark Patterns!" Panel 2. In one room of the dungeon, a giant beautiful and inviting door with a red carpet, and on the side, in the shadow a too little door. Writing on big door: Go to the trap, on small door: Go to the treasure. The adventurer crouch and do a little sign to the fairy to follow him to the little door. > Dungeon: "Ha ha, you're good!" Panel 3. The aventurer is now putting some effort climbing on an old rope in the middle of a room with a beautiful luxuous stairway with a red carpet on the side. A sign tells "GO TO THE TREASURE but pass by the trap" in direction of the beautiful stairs; and "(other options)" in small and in the shadow in direction of the rope. > Dungeon: "Impressive!" Panel 4. Top down view on the adventurers shrugging in front of the fairy, they reached a dead end. A short path on the right has on the ground the word "Now", and a longer path "Later". Both lead to a giant pool of green acid where bones and skulls are floating. > Dungeon: "So, when do you want to jump to the trap?"

    The Dungeon of Dark Patterns

    The latest episode of webcomic Mini Fantasy Theater - The Dungeon of Dark Patterns - is just excellent.

    Read more (98 words)

    • Repost
    • of this original
    • posted 22 April, 2026
  • Most-often when a toaster has a 'cancel' button it's simply labelled 'cancel', 'stop', or with a cross. But this week, I discovered a toaster that uses the 'eject' icon - like you'd find on a VHS tape recorder - on its button.

    Full image of Close up of the side of a toaster, showing an "eject" button (rectangle with an upward-pointing triangle above it).
    Alt

    Close up of the side of a toaster, showing an "eject" button (rectangle with an upward-pointing triangle above it).

    At first I thought this was an unusual user interface choice, but I'm coming around to it. It feels like a more-accurate and skeuomorphic representation of what actually happens than a cross suggests.

    But the existence of toasters like this one does necessarily mean that, some day, some Gen Alpha will see a tape deck in, like, a museum or something, and will say 'hey, that's cute: the button you press to pop the tape out is the same as the one you use to pop your toast out'.

    • Note
    • posted 26 March, 2026
  • Illustration showing 'slow content' going to FreshRSS, 'immediate content' going to email, Slack, and WhatsApp, and 'fast content' being eligible to be routed to either destination.

    Reducing Phantom Obligation in FreshRSS

    Terry Godier's fantastic article last week introduced us to the term 'phantom obligation' and reiterated something I've been saying for years: that 'RSS zero', unlike 'inbox zero', is not an admirable goal. And that reminded me to share with you how I personally make my FreshRSS installation feel more like a tool that serves me, not the other way around.

    Read more - about 5 minutes (1014 words)

    • Article
    • 14 comments
    • posted 6 February, 2026
  • A password form with the password S1dfCeg7!Ex;C$Ngban9-A entered; an error message shows 'Your password must be at least 12 characters log, contain at least one uppercase letter, one lowercase letter, one number, and one special character'

    Hive's Password Policy Makes Me Cry

    Hive's password form can't decide whether you need 8+ or 12+ characters, gives misleading error messages and... requires that you use a 'special character' except most special characters (including most common punctuation) is secretly banned, and gives you a misleading error message if you try to use it. Do better, Hive!

    Read more - about 3 minutes (650 words)

    • Article
    • 3 comments
    • posted 14 October, 2025
  • Did I just rank my LPG provider 10/10, or 1/10? I genuinely don't know.

    Full image of Slider from a web questionnaire, asking "In a scale of 0 to 10: How likely are you to recommend Flogas for bulk gas?". The slider below, though, is a scale from 0 to 100, not 0 to 10. The value 10 is selected on the slider, but this is only one-tenth of the way along its length.
    Alt

    Slider from a web questionnaire, asking "In a scale of 0 to 10: How likely are you to recommend Flogas for bulk gas?". The slider below, though, is a scale from 0 to 100, not 0 to 10. The value 10 is selected on the slider, but this is only one-tenth of the way along its length.

    • Note
    • posted 9 October, 2025
  • Image representing post: Egencia Mailing List Accessibility

    Egencia Mailing List Accessibility

    A special level of accessibility failure on Egencia's mailing list subscription management page: the labels for choosing which individual mailing lists to subscribe to are properly-configured, but the "unsubscribe all" one isn't. Click the words "unsubscribe all" and... nothing happens.

    But it gets better: try keyboard-navigating through the form, and it's hard not to unsubscribe from everything, even if you didn't want to! As soon as the "unsubscribe all" checkbox gets focus, you get instantly unsubscribed: no interaction necessary.

    Read more (79 words)

    • Note
    • 1 comment
    • posted 1 October, 2025
  • Developers just love to take what the Web gives them for free, throw it away, and replace it with something worse.

    Today's example, from Open Collective, is a dropdown box: standard functionality provided by the <select> element. Except they've replaced it with a JS component that, at some screen resolutions, "goes off the top" of the page... while simultaneously disabling the scrollbars so that you can't reach it. ๐Ÿคฆโ€โ™‚๏ธ

    Full image of Animation showing a dropdown menu for editing a personal profile on Open Collective. The dropdown menu is implemented using JavaScript, and has a bug that means that at some screen resolutions it goes off-screen and parts of it cannot be seen; because its appearance also disables the scrollbar, there's no way to get to the "missing" parts of the menu.
    Alt

    Animation showing a dropdown menu for editing a personal profile on Open Collective. The dropdown menu is implemented using JavaScript, and has a bug that means that at some screen resolutions it goes off-screen and parts of it cannot be seen; because its appearance also disables the scrollbar, there's no way to get to the "missing" parts of the menu.

    • Note
    • posted 21 September, 2025
  • A small white 10-key keyboard with hand-drawn icons on stickers on the keys. A finger reaches in to press one key, which flashes a purple LED from beneath.

    Lock All The Computers

    I wanted a button on my desk that, when I pressed it, would simultaneously lock every computer connected to my KVM system. Here's what I came up with.

    Read more (374 words)

    • Article
    • 6 comments
    • posted 23 July, 2025
  • Stacked area chart illustrating the evolution of the web platform in terms of number of features in core browsers (2003-2025)

    WebDX: Does More Mean Better?

    I like the work that the WebDX Community Group have been doing, but I find myself asking: are we at risk of implying that giving the Web 'more' features invariably makes it 'better'?

    Read more - about 4 minutes (735 words)

    • Article
    • posted 19 March, 2025

Posts navigation

Older posts

Get in Touch

I'd love to hear from you! Why not...

  • email me on blog@danq.me?
    (my spam filter is aggressive, so use a good subject line, i.e. not just "hello"; encrypt your email if you like)
  • say hi on Mastodon, where I'm @dan@danq.me?
  • send a letter or postcard to
    Dan Q, Unit 159610, PO Box 7169, Poole, BH15 9EL, UK
  • reach out some other way?
  • ยฉ Dan Q 1998-2026
  • Creative CommonsAttributionNon-Commercial except where stated (how to use)
  • powered by BloqClassicPressHTML5CSS3
  • privacy
  • Read articles, checkins, notes, reposts, and more...
  • @dan@danq.me
  • contact
  • subscribe
  • Dan Q
  • Creative Commons Attribution Non-Commercial license
  • ClassicPress
  • CSS is awesome
  • Created by a human, not by AI
  • LGBTQ+ pride flag (2018 progress variant)
  • Polyamory flag
  • Say no to Web3
  • Mastodon (it's like email... no, come back!)
  • Tested on Firefox
  • Best viewed on the Internet
  • PHP
  • Ruby
  • Debian
  • Caddy (webserver)
  • Find me on Melonland
  • Check out my GitHub
  • Three Rings - by volunteers, for volunteers, since 2002
  • I'm a fucking webmaster
  • Looks best at: any resolution!