Ask HN: Which tools/services have your favorite UI/UX?

53 points by Bridgeburner4 ↗ HN
e.g.: * Linux with its pipes * i3 with its window management * vim * emacs * fzf * pgsql * google.com * wikipedia.com

I can't help but think that we could do so much more with some tools.

86 comments

[ 2.3 ms ] story [ 138 ms ] thread
Things 3 the macOS app and iPhone app has some amazing UI/UX, yeah it's a glorified todo app but one that is a joy to use.
Netlify is consistently held up as an example of how to do developer focused UX. I'm def biased as an ex employee but I can attest that i've seen from the inside how closely design and accessibility are integrated in the dev process.

as far as up and comers, i'd recommend checking out https://supabase.io/ - love the minimal black/green aesthetic. they recently released a Tailwind/React design system too https://ui.supabase.com/

Supabase is really such a dream. It’s obviously early days yet for them, but I love working with the little subset that I picked — it really goes a long way to making Postgres easy. I wonder how accessible it is to newcomers though - feels more useful for the “I’ve used postgres before and am doing a side project” crowd (eg me) versus the Firebase audience of “hello I want something called back end plz”
I always wonder where the “hello I want something called back end plz” crowd come from (is it coding bootcamps?). Backend is so much easier than frontend, an so many problems and complexities can be avoided by putting things in the backend.

When I joined my company, there were a couple of junior devs on my who had barely touched the backend, and never used SQL (because we used to be on firebase). They were up, running ans productive with both in under 2 weeks.

Mac's Window manager. I love how each separate screen had its own "space" that can be cycled through with control and arrow
I'm using it with https://github.com/ianyh/Amethyst . It's ok and I couldn't manage without.
Thanks!

I run Ubuntu on my personal machine and haven't found a suitable alternative yet. The more time I spend on my Mac work machine the more I'm thinking about switching my personal one due to this

I went from using i3 on my personal Linux machine, to my macOS machine for work. I've had the same thoughts about switching back, but it wasn't an option. Amethyst pulled me through the worst. It can't compare to i3.

There's also this: https://github.com/koekeishiya/yabai, but I haven't tried it out because of the disclaimer: "You acknowledge that you understand the potential risk that may come from disabling arrow_upper_right System Integrity Protection on your system"

The caveats section notes that

> If you are running on macOS High Sierra 10.13.6, you can reenable SIP after the scripting addition has been installed.

I'm not sure if that applies to only that version and no later versions.

Amethyst is a poor man's reimplementation of xmonad. Just use it on your Ubuntu machine.
Interesting, can you expand on your workflow a bit more? I'm of the exact opposite opinion - I think Mac's window management is the absolute worst thing about using a Mac - so I'd love to know what I'm doing wrong.
I use one external monitor and MacBook screen. I full screen all applications and switch between them using control and the arrow key.

So my external monitor has email, IDE, and misc stuff.

Screen has browser, terminal, chat application.

Pressing control + up allows you to easily reorder and move elements. It's helpful to turn off the default option of automatically sorting your screens

Ah, interesting. I think we've arrived at a very similar setup, albeit implemented in different ways. I too use a MacBook and external monitor, and fullscreen my apps, but I just let them take up the whole screen minus the bar at the top, rather than explicitly use the fullscreen new workspace feature. I then swap between apps by binding all my most common apps to F1-F6 using Thor, which I find is easier to navigate than remembering workspace positions.

How do you handle split screen? Do you never have two programs side-by-side on the same screen? I've tried doing that in the official fullscreen mode but found the whole experience a pain, so I use rectangle to shift windows left and right.

Whenever I want to look at two things at once I display each item on a different screen.

If I really want to do split screen (very rarely), I press control + up and then drag one screen over.

I use full screen apps on my Mac and switch between them using ALT-Tab. But there is a bug whereby you don’t always get the window of the app showing if you ALT-Tab too quickly, even though it is selected. I might try something like your setup, or the one above instead.
I'd definitely recommend giving dedicated hotkeys (one per app) a try - it's very hard to go back to alt-tabbing after being able to switch so effortlessly. As I say, I use Thor, but I'm sure there's a bunch of alternatives out there.
I’m a big fan of how GitLab approaches things. Their design library is a tremendous resource: https://design.gitlab.com/
I've found GitLab as a product to be more difficult to use than GitHub. The pages seem more dense with lots of color, many more actions: they just feel busy. Basic features, like getting a permalink to a line of code, take 3-4 clicks in GitLab, when it's just 1 in GitHub.
> Basic features, like getting a permalink to a line of code, take 3-4 clicks in GitLab, when it's just 1 in GitHub

That doesn't seem right.

In Gitlab: Right click the line number, choose Copy Link in the context menu. Two clicks.

In Github: Click the line, click the three dots, then click "Copy permalink". Three clicks. Alternatively, click the line, click the URL bar (or press F6 or ^L) copy the link. Still Three clicks.

What's the one-click method in GitHub I'm missing?

What's different is you get functionally different links. GitLab aliases to the branch name, not the commit hash. So it isn't really a "permanent" link to a line of code. It's whatever happens to be on line N in file X on branch Y at time T, whenever you open the link. This is inconvenient when I might find an old link in an engineering Slack thread, referencing something now much different since the file was amended over time. In fact, the file may not even exist anymore.

GitHub, by default, includes the commit hash. So the line of code will be the same at any point in the future: the file, at that line number, with that commit hash, is immutable (unless developers force push history rewrites, but you get my broader point).

To do this in GitLab, click the permalink button before copying the line.
Coming from bitbucket I find gitlab design too busy as well and missing some basic obvious functionality which could be there but it's not intuitive. For example, when viewing a merge request I can't find a way to copy the target branch name.
Heroku. It abstracts SO much work away and just lets you get on with writing software. It's probably the most underrated platform online. Following that, I think the UI/UX are learned appreciation. Vim and Emacs are amazing once you "get it", same with tiling window managers, etc. Good UX is supposed to be discoverable in a sense and most power tools for developers aren't exactly known for being approachable.
Monday.com

Avaza

Fogbugz

Anything JetBrains

Was monday.com a UX you instantly enjoyed or did it take some time? I am not finding it a breeze myself.
Not OP - it took me a bit of time, and I was often frustrated by the things you can't quite do with the product. This was a few months ago though, so things might have changed.
Harvest: https://www.getharvest.com/

Simple, discoverable, does not abuse the SPA paradigm, and lets you turn off features you don't need so it doesn't clutter the UI.

I’m glad they’re still going strong - I used them to track time as a freelancer a decade ago!
Terrible UX: If you cancel you lose all the time you paid upfront. Very shady.
Really? I find using harvest a real chore.
I find Excalidraw to be really cool with respect to UI/UX
Azure Data Studio. It’s a bit buggy still but this kind of visual/textual hybrid is very clean and powerful.
command line with flags and manpages
ipython + jupyter-notebook are such killer applications. I use both daily for everything from trying out code, calculations & notes.
They really hit a sweet spot of ease/accessibility, flexibility, and efficiency (Jupyter lab for me specifically)
It's a small detail, but after moving to iOS from Android recently I discovered Universal Clipboard: https://support.apple.com/en-gb/HT209460.

You copy text on one device and paste it on the other. A great piece of UX, and an example of the best interface being no interface at all.

Don’t forget Airdropping a URL from your phone browser to your desktop is nice as well.
KDE Connect has a shared clipboard plugin.

https://userbase.kde.org/KDEConnect#Clipboard

Too bad Google blocked it in Android 10
Thanks for the info. Well, F-Droid is still an option, if anyone is interested.
Does it still work with the F-Droid version?
I'm not using it any more because Syncthing does what I want to do much better. I had it working on Android 10, although I'm not using a stock ROM.
Sublime Text just oozes productivity.
As much as I like Sublime Text, there’s plenty of solid text editors out there and I’d be happy enough with an alternative.

I spent an eternity looking for a good Git client, and found nothing even remotely pleasant to use until Sublime Merge came along.

Step Two (https://steptwo.app) brings a smile on my face every time I copy a 2FA token from it.

Especially when coming from Authy, which has by far the most horrible UI ever created.

Vim (recent versions) + the `term` command. All shells and REPLs as Vim buffers, also run any command asynchronously. Paired with the `sendtowindow` plugin, can have two-way communication between any REPL and any other buffer.
If you have good resources on this, please share.
There’s not much to say about it, as it does basically one thing, but that thing is powerful. It was added to Vim in v.8. Just type `:term bash` to get a buffer with a bash shell running in it. Or type `:term <command>` to run a command async and see the output in another buffer. Once you have bash, or another interactive prompt with a command like `:term julia`, then, if you have the sendtowindow plugin installed, you can select any text in visual mode and send it to the REPL with the shortcut that you define. You can send in any direction, so you can arrange your buffers as you like. You can switch to the REPL and send output back into your editing buffer. There are many other plugins with similar functionality, but I like sendtowindow because of its simplicity and generality.
The Julia REPL. Unicode, colored stacktraces, special modes for documentation and package management, accepts LaTeX commands to enter special characters, has paste mode:

“In Julia mode, the REPL supports something called prompt pasting. This activates when pasting text that starts with julia> into the REPL. In that case, only expressions starting with julia> are parsed, others are removed. This makes it possible to paste a chunk of code that has been copied from a REPL session without having to scrub away prompts and outputs.” → https://docs.julialang.org/en/v1/stdlib/REPL/

- Letterboxd, as a movie fanatic, this app is great, and its community seems very welcoming.

- Feedly, it almost makes me forget I'm really missing Greader.

- Stripe, docs, dashboard, landing pages--everything they do ends up being top notch.

- Github (this is a weird one), didn't really appreciate the care for the UI until I had to use Gitlab extensively, the worst offenders are the PR UI--everything looks so cluttered, and it doesn't happen on Github.

Letterboxd is a shining pinnacle of a website for me. It's more or less unchanged in the 7+ years I've used it as their product is so good that they don't feel the need to change it up to much. This is so counter to most other websites and social networks where there's a disastrous rebrand every 3-5 years.

All they've added is solid features that add value to the product without ever touching the branding or core platform that has been working for them for so long

I know I'm not in the majority but I deeply enjoy using GNOME. I barely have to tweak the defaults to feel right at home.
(comment deleted)
Gerrit, the code review tool.

It's a perfect example of a tool that looks terrible if you've never seen it before, but after learning its core concepts you will never want to use any other code review system. It's fast, it's optimized for daily use, and it doesn't attempt to woo you with flashy features up front.

It has a tradeoff that most developer tools these days are too scared to pull off, the one where you can't onboard someone within a minute, but you will win them over once they start using it for a while.

Please provide a link.
Here's Go's Gerrit instance and an arbitrary change request: https://go-review.googlesource.com/c/tools/+/313749

Prepare to be disappointed and confused. It really doesn't click until you use it, and you discover features like: attention sets, a working dashboard, commit==CR==multiple patchets, stacked changes, push-to-update/rebase/stack, zero friction comments, comment porting, customizable checks and labels, lightning fast keyboard shortcuts, ...

Used (an older version) of it in Amazon in 2016 - it was pain in the ass I've not seen in dev tools before.

GitHub's PRs and even Microsoft's internal tool for reviews (in 2012 only working with Source Depot) are about 5x more pleasant to use subjectively.

I absolutely hated Gerrit when I was first introduced to it. And I absolutely agree with what you've said.
gcloud and kubectl with completion bindings
I like DigitalOcean's site for deploying servers - simple, clean and fast. A few missing advanced features in certain cases, but much more user friendly than AWS.