GemiNaut's clever solution to a peculiar problem

I’m a big proponent of the web being leaner and more text-based. In light of how strongly the web has veered in the opposite direction, it’s probably a radical position to say that I think less of the web should have any visual styling attached to it at all. More text channels where a reader can maintain a consistent, custom reading experience feels like a better solution than a bunch of disparate-looking sites all with their own color schemes, custom fonts, and massive headers1.

I often use text-based web browsers like Lynx and WebbIE. I also tend to follow a lot of people who maintain very webring-esque sites, even moreso than mine. But there is more internet than just the HTTP-based World Wide Web. Gopher is, or was, depending on your outlook, an alternative protocol to HTTP. It was more focused on documents that kind of reference one another in a more bidirectional way, and because it never really got off the ground in the way HTTP did, it also never really got the CSS treatment; it’s really just about structured text. Despite most of the information about Gopher on the web being historical retrospectives, enthusiasts of a similar mind to me are keeping the protocol alive2.

Then there’s Gemini3. Gemini is a sort of modern take on Gopher. For nerds like me, it’s wonderful that such an effort exists. If you’re interested in the unstyled side of the internet, Gemini is worth looking into. I do think it needs a bit of love, however, as curl maintainer Daniel Stenberg points out how lacking the implementation details are. I disagree with a few of Daniel’s points; Gemini falls into a lot of ‘trappings’ that HTTP escaped because HTTP development steered toward mass appeal. Gemini is for a small web, one for weirdos like me. The specification and implementation issues seem very real, however, and while I don’t think Gemini can or should get WWW-level acceptance, an RSS-sized niche would be nice, at least, and software sort of needs to know how to work for that to happen.

All of this only really matters for background context. I’ll likely post more of my thoughts on a textual internet in the future, and I’ll likely also be dipping my toes in publishing on a Gemini site. The point of this post, however, is to talk about a strange problem that happens with unstyled text-based content. While there are certainly far fewer distractions between the reader and the content, there’s also a sort of brain drain that comes from sites being visually indistinguishable from one another. I always just kind of assumed this was one of those annoyances that would never really be important enough to try to solve. Hell, the way most software development is going these days, I don’t really expect to see any new problem-solving happening in the UX sphere. But I recently stumbled across a browser that solves this in a very clever way.

GemiNaut4 is an open-source Gemini and Gopher browser for Windows that uses an identicon-esque visual system to help distinguish sites. Identicons are visual representations of hash functions, typically used for a similar version of the same problem – making visually distinct icons for default users on a site. If everyone’s default icon is, say, an egg, then every new user looks the same. Creating a simple visual off of a hash function helps keep users looking distinct by default. I’ve often seen them used on password inputs as well – if you recognize the identicon, you know you’ve typed your password in correctly without having the password itself revealed.

Don Parks, who created the original identicon, did so to ‘enhance commenter identity’ on his blog5. But he knew there was more to it than this:

I originally came up with this idea to be used as an easy means of visually distinguishing multiple units of information, anything that can be reduced to bits. It’s not just IPs but also people, places, and things.

IMHO, too much of the web what we read are textual or numeric information which are not easy to distinguish at a glance when they are jumbled up together. So I think adding visual identifiers will make the user experience much more enjoyable.

-“Identicon Explained” by Don Parks via Wayback Machine

And indeed, browser extensions also exist for using identicons in lieu of favicons; other folks have pieced together the value in tying them to URLs. But GemiNaut uses visual representations of hashes like these to create patterned borders around the simple hypertext of Gopher and Gemini sites. The end result is clean pages that remain visually consistent, yet are distinctly framed based on domain. It only exists in one of GemiNaut’s several themes, and I wish these themes were customizable. Selfishly, I also wish more software would adopt this use of hash visualization.

Aside from browsing Gemini and Gopher, GemiNaut includes Duckling, a proxy for converting the ‘small web’ to Gemini. The parser has three modes: text-based, simplified, and verbose. The first is, as one might expect, just the straight text of a page. Of the other two, simplified is so stripped-down that apparently this blog isn’t ‘small’ enough to fully function in it6. But it does work pretty well in verbose mode, though it lacks the keyboard navigation of Lynx, WebbIE, or even heavy ol’ Firefox.

I had long been looking for a decent Windows Gopher client, and was happy to find one that also supports Gemini and HTTP with the Duckling proxy enabled in GemiNaut. But truly, I’d like to see more development in general for the text-based web. All the big browsers contain ‘reader modes,’ which reformat visually frustrating pages into clean text. ‘Read later’ services like Instapaper do the same. RSS still exists and presents stripped-down versions of web content. There is still a desire for an unstyled web, and it would be great to see more of the software that exists in support of it adopting hash visualizations for distinction.


A dismal sea of color

I have been deeply into audio equipment for as long as I can remember. When I was in high school, I was always scouring Goodwills and Hamfests for the next old thing that would bump up my hi-fi game and look good while doing it. The latter part wasn’t difficult; not everything was Bang & Olufsen, but audio equipment from the ‘70s and ‘80s pretty much universally looks interesting if not outright lovely.

Hollow hearts

An interesting thing that I’ve noticed over the past few years of internetting is how we’ve established conventions around like, favorite, &c. buttons, and how frustrating it is when sites break those conventions. The meaning of such a button is largely determined by its context; saving for later (say bookmarking, or wishlisting) for an e-commerce site, acknowledgement or praise for social media, and somewhere in between those two for blogs and other content consumption platforms. This isn’t a hard rule, obviously. Twitter, for example, has a bookmarking function, but also lets you easily browse through liked tweets. Bookmarking is a more buried option, as its intent isn’t to display praise, and I would guess that because of this intentional design decision, a lot of people simply use likes in lieu of bookmarks.

Iconography is also generally pretty standard, often hearts or stars. This defines context in its own way; users famously had concerns when Twitter moved from stars to hearts. Which makes a lot of sense – slapping a star on the tweet ‘My cat Piddles died this AM, RIP’ has a pretty different vibe than a heart. Since this happened retroactively to everything anyone had ever starred… it was certainly jarring.

Other iconography certainly exists; bookmark-looking things clearly define their intent, pins do the same to a lesser extent, bells indicate notifications1, and sites with voting systems will often use thumbs-up/down or up/down arrows for this tri-state toggle. Medium, notably, went from a straightforward ‘recommend’ (heart) system to ‘claps’, a convoluted variable-praise system represented by a hand. While dunking on Medium is not the purpose of this post, I think it’s worth mentioning that this shift was enough to essentially prevent me from ever reading anything on the site again2. Having to rate any given article from 1-50, and then sit around clicking as I worry about that decision is anxiety-inducing agony, especially when I know it affects authors’ rankings and/or payouts. It also feels incredibly detached from the real-world phenomenon it’s supposed to mimic. Clapping for a performer in an isolated void is a very different experience than reacting in real-time with the rest of an audience. But to get back on track, clapping additionally violates our expectations by no longer being a toggle. It increases, maxes out, and if you want to reset it to zero, you have to hunt for that option.

Which brings me to my point, and my frustration. These things are usually a toggle between a hollow heart or star3 and a filled one: ♡/♥︎ or ☆/★. This is very easy to understand, it mimics the checkboxes and radio buttons we’ve been using on computers for decades. Empty thing off, filled thing on. So long as we know that this icon has meaning, and that meaning brings with it a binary on/off state4, a hollow or filled icon indicates what state the content is in. If a user can’t toggle this (a notification, say), it’s simply an indicator. If a user can, then… well, it’s a toggle, and there’s likely a counter nearby to indicate how many others have smashed that like button.

This is great, and intuitive, and it works very effectively. Which is why it’s extremely frustrating when sites violate this principle. Bandcamp, for example, uses a hollow heart at the top of the page to take you to your ‘collection,’ a library which is a superset of your wishlist. Wishlisting is represented by a separate on/off heart toggle. This toggle, on an individual track/album page, has a text description next to the heart; the collection button at the top of the page does not. This is utterly backward, as the toggle works intuitively, and the button… has no meaning until you click it5. Etsy, on the other hand, uses a hollow heart at the top to bring you to your favorites page. But it does two things right: it has a text label, and it brings you only to things that are directly connected with a matching heart toggle.

GoComics is an equally perplexing mess of filled hearts. A comic itself has both a heart (like) and a pin (save)6. Both are always filled, with the toggle being represented by a slight change in brightness: 88% for off, 68% for on. It’s very subtle and hard to scan. These are actual toggles, however, unlike in their comments section. Their comments also have filled hearts to indicate likes, but they only serve as indicators. To actually like a comment, you must click a text-only link that says ‘Like,’ and isn’t even next to the heart. At this point, the text does the same absurdly-slight brightness shift from #00A8E1 to #0082AE. While it’s difficult to scan the comic’s heart icon’s brightness shift, the comment’s ‘Like’ text’s brightness shift is nearly imperceptible. A comment’s heart icon doesn’t even appear until there’s at least one like, and clicking it just brings up a list of users who have liked it. Suffice it to say, I click this accidentally on a near-daily basis. Humorously, GoComics understands the hollow/filled standard: they use it on their notifications bell icon.

These are just two examples in a sea of designs that prioritize aesthetics over intuition and ease of use. Medium tacks a filled star on after the read-time estimate for no apparent reason. Lex has both a functional heart and star toggle on every post, but no immediate explanation as to what differentiates them. Amazon seemingly has a heart toggle on its mobile app, but not its website, and it’s unclear what differentiates this from the regular wishlist. Ultimately, I don’t think this is a space that needs innovation (like, arguably, Medium’s claps), or one that merits subtle aesthetics. Folks have largely realized the perils of excessively abstracting ordinary checkboxes and radio buttons, and this relatively new breed of binary toggle should intuitively work in exactly the same way.


Yet another baffling UX decision from Adobe

As of mid-June 2020, Adobe seems to have fixed this. Whether it was a bug or a poor decision is hard to say. I’m leaving this post up for two reasons: first, it is entirely believable that Adobe would do this intentionally; and second, regardless it’s still a good case study in the impacts of this sort of decision.

Adobe apparently updated Acrobat DC recently, which I’m only aware of because of a completely inexplicable change that’s wreaking havoc on my muscle memory (and therefore, my productivity). I haven’t seen any sort of update notification, no changelogs. But on multiple computers spanning multiple Creative Cloud accounts, this change popped up out of the blue. The change? Online help is now accessed via F2 instead of F1.

Actually, this isn’t true. Presumably, sensing that such a change would break years of muscle memory for folks who use F1 to access help1 and/or realizing that this change completely violates a de facto standard that has been nearly universal across software for decades, Adobe actually decided to assign both F1 and F2 to online help. F2 is, however, the key blessed with being revealed in the Help menu.

So, good! Adobe didn’t break anyone’s muscle memory! Except… for those of us who spend all day in Acrobat doing accessibility work. As I wrote in a 2017 post about efficiently using the keyboard in Acrobat, F2 is was the way to edit tags (and other elements in the left-hand panel) from the keyboard2.

Properly doing accessibility work in Acrobat often requires going through an entire document tag-by-tag. Unlike, say, plaintext editing of an HTML file, this is accomplished via a graphical tree view in Acrobat. It is comically inefficient for such a crucial task; attempting to make the most of it was largely the purpose of that earlier post. Fortunately, there is a new way to edit tags via the keyboard: CtrlF2.

This is an incredibly awkward chord, and I have Caps Lock remapped to Ctrl; it’s far, far more awkward using the actual Ctrl key. But let’s pretend for a minute that it’s no more miserable to press than F2. I cannot see any reason why this decision was made. It presumably won’t be used by folks who have muscle memory and/or decades worth of knowledge that F1 invokes online help. It isn’t (currently, maybe they do plan to remap F1 freeing up an additional key. It breaks the muscle memory of users who need to manipulate tags, objects, &c. It’s completely inexplicable, and therefore entirely predictable for the UX monsters at Adobe.

It’s worth noting, in closing, that this isn’t solely an accessibility issue. However, it’s extremely frustrating that there is one tool in this world that actually allows accessibility professionals to examine and edit the core structural elements of PDFs, and that the developers of this tool have so little respect for the folks who need to do this work. I could come up with countless features that would improve the efficiency of my process3, yet… Adobe instead insists on remapping keyboard shortcuts that make the process even slightly manageable. Keyboard shortcuts that I’ve been using for versions upon versions. It’s incredibly disheartening.


On Animal Crossing and native UX

Nintendo (of Australia) has revealed that Animal Crossing: New Horizon will only support one island per console. Different cartridge? Same island. Different user account? Same island. This obviously reads as some money-grabbing garbage (that they’re releasing a special edition Switch alongside the game doesn’t help), but there’s another issue here that I feel will largely go untouched-upon. Using a computer these days is a horrible mess, and to me this is largely due to the use of non-native UI widgets.

On the Kensington Expert Wireless (and other pointing devices)

I’ve expressed once or twice before my disappointment with the current selection of pointing devices. This hasn’t improved much, if any. To make matters worse, Trackpoints are becoming less and less common on laptops. Such is the case with my HP Spectre, a deficiency I knew would be an issue going into things. When I was writing about pointing devices back in 2016, I ended up acquiring a Logitech MX Master. I still use that mouse, and also own an MX Master 2. They are incredibly good mice, the closest thing that I have found to the perfect mouse.

Thinking of pointing devices to use with the Spectre, I immediately figured I’d get an MX Anywhere to toss in the pouch of my laptop sleeve. What a horrible mistake. The truly standout feature of the MX Master is its wheel. It scrolls with individual clicks like wheel mice of yore until a specific speed is reached, at which point it freewheels like a runaway train. It’s the perfect physical manifestation of inertial scrolling. It also, notably, still clicks to perform the duty of middle-click. Both of these things are broken on the MX Anywhere – you have to manually select freewheel or click scrolling, and you do that by depressing the wheel. Middle click is a separate button below the wheel, with no regard for muscle memory. I returned the MX Anywhere and will likely just buy a cheap slim mouse to throw in the sleeve; it seems unlikely there are any travel-sized mice out there with modern inertial scrolling.

I also have considered I might need a pointing device other than the touchscreen for certain higher-precision activities while lounging in bed. And, three paragraphs in, we get to the meat of this post: my experiences so far with a trackball, the Kensington Expert Wireless. Trackballs, even more than mice, feel resistant to progress. Only a handful of notable companies are producing trackballs, and of the available models, relatively few are Bluetooth. Kensington has been making versions of the Expert for over twenty years, and the latest change came four years ago with the introduction of the Bluetooth model. The basic layout that has remain unchanged over the years is a large ball surrounded by four large buttons at the corners. The current iterations, both wired and wireless, also have a ring around the ball for scrolling.

Most modern trackballs seem to have a traditional scroll wheel. This, to me, is absurd. You’re not getting modern inertial scrolling with these (even Logitech’s MX-branded trackball has traditional clicky scrolling), and you have a perfectly good device capable of inertia right in front of you: the ball. I would love to see a designer in hardware/firmware simply dedicate a button to switching the ball into scroll mode. As it stands, however, Kensington’s ring is the least obtrusive of the lot, and the four buttons are all very easily accessed. And, while it is a bit convoluted, ball-scrolling behavior is attainable in Windows1 via software.

The first bit of the puzzle is the official KensingtonWorks software. This allows configuration of what each of the four buttons does, as well as the upper two buttons pressed together, and the lower two buttons pressed together. These upper and lower chords do have a limitation – it seems they aren’t held, they’re only momentary presses. There’s also no way to achieve the desired ball-scrolling effect here, so this stage is just minor tweaks to buttons. By default, starting at the upper-left and moving clockwise, the buttons are middle-click, back, right-click, left-click. I use middle-click more than right-click, and thought that swapping these would make sense, but the pinky-stretching actually made that a bad choice. I ultimately settled on swapping middle-click and back, and assigning forward to the upper two buttons pressed together. I haven’t decided what to do with the lower two in concert yet.

The next step is a third-party bit of software, X-Mouse Button Control. From here, I’ve intercepted middle-click to be ‘Change Movement to Scroll’. Within this option, I have it set to lock the scrolling axis based on movement, and to simply send a middle-click if there’s no movement. Thus, clicking the upper-right button sends a middle-click whereas holding it and flicking the ball around turns into scrolling. It works so well that I am again shocked that this isn’t scrolling behavior being designed into any trackballs.

I would love to see Kensington integrate this behavior into firmware or KensingtonWorks. I would love to see Kensington replace the scroll ring with the SlimBlade’s rotation-detecting ball sensor. I would love to see Kensington release a Bluetooth version of the SlimBlade. But for now, I have a pretty clean solution: an unobtrusive, solid-feeling trackball with decent customization options in a software layer.


Cats, dogs, and birbs (according to my phone)

2021-02 update: Because the turds at Viacom have removed all of the cross-posts of Garfield comics from Garfield.com, I have changed the link to the Garfield comic in the birds section to point to GoComics. This is bullshit.

I’ve never really used iOS’s automatic thing-detection for photo categories before, but I was looking for a specific picture of a dog from my ~8 years worth of photos, so I gave it a shot.

The 231 photos my phone thinks are of cats include:

The 214 photos my phone thinks are of dogs include:

The 76 photos my phone thinks are of birds include:

NIRB, Birb don’t want nirb scirbs a scirb is a birb that can’t get nirb lirb from birb!


Oh-so-many colors

The app and website that I generally turn to for weather forecasts is Dark Sky. Recently they made some great changes to the app (like being able to save locations, bizarre that that took so long to implement and that you can still only save six). Alongside these other changes, they swapped out their old monochrome icons with new colorful ones from The Iconfactory. The icons are lovely, the artists who created them did a fantastic job. But when I see them all lined up on the screen, I get… something resembling anxiety.

I really freaked out a little bit when I first saw them, and I still find them very unsettling, and the whole thing made me reflect on my relationship with colorful things… I’ve always gravitated toward monochromatic photography, I spend as much of my computing time as possible in fairly monochromatic terminals, my blog looks like this, I had the same sort of disturbed feeling when Microsoft switched to color emoji (and still pine for the monochromatic ones), I miss laptops with monochromatic LCDs (and still play Game Boy DX games on the Game Boy Light), etc. Obviously this isn’t a universal issue in my life, I love a lot of colorful animation and other media1, but even then… I definitely prefer muted palettes.

I’m not entirely sure why I felt the need to write about this, though if nothing else it’s something to mull over in design. I’m sure the muted palette of this blog is received negatively by some, just as very colorful things seem to cause my mind considerable unease. I think part of it is simply that more colors make for a busier presentation – it’s more visual data providing the same amount of information. And to that tack, perhaps the constant bombardment of ‘eye-catching’ advertising ubiquitous throughout the world, providing nothing but noise competing with the signal of life has taken its toll.


Trying Twitterific

[N]ot to worry, for the full Twitter experience on your Mac, visit Twitter on web.

I could not stop laughing in disgust when I read the email in which Twitter, a company known primarily for taking user experience and ruining it, announced that they were shuttering their Mac client. The idea that Twitter in a browser is in any way a palatable experience is horrifying, and the only explanation I can offer is that the entire Twitter UX team is comprised of unpaid interns.

As part of our ongoing effort to streamline our apps and provide a more consistent and up-to-date Twitter experience across platforms, we are no longer supporting the Twitter for Mac app.

To be fair, the official Mac app was horribly neglected, and just… a bad experience. It didn’t support the latest changes to the Twitter service (like 280 chars), it was a buggy mess when you tried to do simple things like scrolling, and it crashed at least once a week on me. It was a bad app, yet still infinitely more manageable than using a full-fledged web browser for something as miniature-by-design as Twitter. Enter Twitterrific.

The idea of paying a third party so that I can access a service so rampantly overrun by TERFs and nazis that I feel the need to maintain a private account never really made sense to me. But, unlike the other great UX nightmare, Facebook, I don’t hate the company and the service with every atom of my body. I guess I’m kind of a sucker for the shithole that is Twitter. So, I have paid for Twitterrific. And, it’s pretty good.

Twitter clients were once this sort of UI/UX playground, and while I don’t entirely think that’s a good thing, some genuinely positive user interaction experiences were born of it. Twitterrific (speaking only of the MacOS edition for this post) feels largely native, but still has enough of these playground interactions as to frustrate me. The biggest one is that threads (etc.) don’t expand naturally, they pop out in little impermanent window doodads, and if you want to ensure you don’t lose your place, you have to manually tear them off and turn them into windows.

There are some other little issues, like a lack of granular control over notification sounds, but all in all the thing is better than the official client has been for years. Mostly just in that it reliably updates, it knows how to scroll, and like any good MacOS app it does not freeze every other day. I’ve been using it since Twitter made their shitty announcement (mid-February), and it’s a solid product. I guess this post has been more rant than review, but the facts are simple: if you use a Mac and you use Twitter, your experience either has gone or will go to absolute shit. Unless you use a third-party Twitter client. And Twitterrific is a pretty good one.