I had that complaint about Mail too. Then I realized you can begin dragging an email (from the list view), switch apps with your other hand, and drop it into, say, a todo. Of course, this is less discoverable, so I agree a Share button would not go amiss.
HN user
grincho
Location: Durham, NC
Remote: Yes
Willing to relocate: No
Technologies: Python, OCaml, Elixir, Postgres, Elasticsearch, LLVM, ML, PyTorch, scikit-learn, Django, JavaScript, TypeScript, and many others
Résumé/CV: https://www.linkedin.com/in/erikrose/
Email: grinch@grinchcentral.com
Wrote the ML-optimized data-flow language that powers Firefox autofill. Designed the secure self-update mechanism for Let’s Encrypt, the world's largest certificate authority. Added hash-based reproducibility to Python’s standard packaging tool, pip. Wrote 5 Python packages in the top 1% downloaded.20 years of experience, across web, Mac desktop, and language stuff. Drop me a line! I’d love to make beautiful things with you!
I can't solve all your problems, but here are a few I can do off the top of my head. I hope they help somebody.
Hold keys and click to move a window: https://mmazzarolo.com/blog/2022-04-16-drag-window-by-clicki.... I love it. Bind it to a mouse button with USB Overdrive for extra convenience.
In the terminal, use emacs-style bindings like ctrl-A and ctrl-E to move to the beginning and end of lines. On the Mac, Home and End are for beginning and ends of documents.
Use USB Overdrive or Steermouse to bind mouse buttons to whatever you want, including Paste. Select-to-copy might be impossible, though you could certainly do select-and-click-to-copy.
Cheers!
I've been doing this for >10 years with https://manytricks.com/butler/. Works great! You can also bind snippets of text, scripts, etc.
I can't overstate how important it is to have a keyboard that groups function keys into "islands" of (generally) 4 so you can touch-type them. An ergonomics consultant once observed that the source of my neck pain was that I looked at the keyboard while typing. As a touch-typist, I found this puzzling—until we realized it was just the function keys. :-)
Btw, LaunchBar (https://obdev.at/products/launchbar/index.html) makes an excellent 2nd-level util for things not common enough to merit a single keychord.
Hit command-return to open the folder the file is in.
One good source of Mac mechanicals is Matias, e.g. https://matias.ca/quietpro/mac/. In fact, it's the only company I've found that makes a true Mac layout: that is, a full symmetric set of command, option, and control keys on each side.
Yes, this is why I implemented hash-checking in pip (https://pip.pypa.io/en/stable/topics/repeatable-installs/#ha...). Running your own server is certainly another way to solve the problem (and lets you work offline), but keeping the pinning info in version control gives you a built-in audit trail, code reviews, and one fewer server to maintain.
To me, most shortcuts gain nothing by being on mouse rather than the keyboard (which, of course, has much more room). However, when a shortcut modifies a mouse action or otherwise comes into scope while mousing—that is when you get useful leverage.
Here are the best uses I've put extra mouse buttons to:
1. Double-click. Great for selecting word-at-a-time and really relieves the RSI. If you double-click the double-click button, it turns into triple-click, which selects paragraph-at-a-time.
2. Close window. I live the "window closing lifestyle". If I'm not slamming a browser tab, I'm closing an editor or Finder window—which I often opened by mousing to a link, icon, or existing window a split second before. In fact, I can get quite a furious window-closing hurricane going, targeting window after window, focusing each with a click and then hitting the close-window mouse button. It's a great way to clean up after finishing a task.
3. Option-click. I use this almost exclusively for clicking on a different application and hiding the previous one, a standard Mac behavior that becomes smoother by being one-handed. It also activates rectangular text selection in BBEdit, as a bonus.
4. Exposé/Mission Control. Hold a button, have all your windows flatten out, then mouse to one to bring it to the fore. I have several quicker ways of unearthing windows, but this is a nice fallback when all else fails.
Those are the big 4. I have extra buttons I've been auditioning for some other bindings like Open In New Window and Back, but what I really wish for are...
5. Grab-scroll. I had this with the old ADB Kensington Thinking Mouse driver. Hold down a mouse button, yank on some scrollable content, and the content would follow your mouse pointer, just like today's 2-finger trackpad gesture. If anybody knows how to set this up today, I'd be grateful to hear it!
6. Drag window. It seems like we're all looking for faster ways to arrange windows these days: tiling managers, grid snapping, hotkeys bound to specific positions. In my perfect world, I could drag a window anywhere I pleased but without the expensive targeting of the small draggable region first. If I could place my pointer just vaguely over a window, hold a certain mouse button, and drag the window thereby, I'd be thrilled. I've never managed to set this one up but would love to hear ideas.
Funny enough—and maybe this is just an artifact of Mac software design—I've never found so-called "right click" profitable enough to actually earn it a button. :-)
Width-based media queries are simply a corrupt idea altogether. In addition to the problem complained noted in the post, they give rise to other pathological behaviors I encounter daily. I increase the zoom of a page to better see an image, only to have the image shrink due to a layout change. I shrink a window to remove a huge empty margin, only to have the text recede even further.
They way they're implemented in browsers, width media queries are a UI antipattern. They violate the principle of least astonishment because their boundaries are invisible, causing the user to be surprised every time.
The Mac has provided easy access to symbols since 1984, with nice mnemonics like these:
option-= ≠
option-< ≤
option-> ≥
option-/ ÷
option-o ø
option-w ∑
I don't know why other OSes haven't adopted something similar. The first couple of these were even idiomatic in HyperCard's scripting language.If you're on a Mac, Moom (https://manytricks.com/moom/) can do this.
Then charge for bug fixes. Charge for updates that make the application run on a new version of the OS. If those things provide sufficient value, users will pay for them. I've been paying for that for decades for my commercial text editor.
And can subscriptions be canceled in practice? If you cancel your Photoshop subscription, your documents suddenly become unopenable. In this way, software subscriptions—at least for software you create with—are like protection money: "Nice documents there. It'd be a shame it anything were to happen to them."
Check out https://blog.webmemex.org/. It serializes pages, inlining their external resources, full-text indexes them, and saves them locally. Browser extensions are available for Firefox and Chrome.
Note that HN formatting ate the single asterisk before and after. You'll need to enter them as well.
I paid $20 for USB Overdrive, an excellent third-party driver, so I could continue using my ancient MS Intellimouse when its drivers took a turn for the worse. You can set speed and acceleration separately, and the curves are as good as the MS ones.
iMessages are encrypted, but it's Apple who hands the client one or more public keys with which to encrypt them—and that's each time; there is no key pinning. They could easily hand you a public key whose private key they or another malicious party knows. See https://support.apple.com/en-us/HT202303 and especially page 58 of the linked https://www.apple.com/business/docs/iOS_Security_Guide.pdf.
A proper Mac keybaord has symmetric modifier keys (3 on each side of the spacebar) and an asterisk key in the upper right of the numpad.
You can set that up only per application, and you can't do anything fast like dragging all your apps into the window. You have to click the + button once for every app on your machine and manually select it from an Open dialog. And the dialog doesn't remember the last directory used. It's utterly hostile.
Absolutely. The links even resolve on different devices, as long as you have access to the same mail accounts.
Yes. My strategy is to do a daily review. In the first few minutes of the day, I pull maybe 14 tasks out of the big list and into a Today list. Then I see only a manageable number the rest of the day.
Things (https://culturedcode.com/things/) does pretty much that. It has a little Quick Entry daemon which lets you press control-option-space in Mail.app to make a new task linked to the selected mail. By default, the subject ends up as the task's title, though you can change it before hitting Return.
In general, I highlight recommend Things. It does all the typical GTD stuff, in a mostly Maclike way, and has a great iOS client.
[Edit: In fact, you can actually drag a mail right into a Things window as well, just as you propose. I never knew that!]
iOS won't let an app keep a socket open very long once it's out of the foreground. (In generally backgrounding on iOS is unreliable. It's a double-edged sword: it keeps rogue or badly written apps from burning down your battery.) People who do a lot of SSHing generally use something like screen on a remote host.
(Actually, using something like Blink and mosh seems like a better idea. See some of the comments below.)
Make sure you have another copy; flash does degrade over time.
Which headphones?
And then, when you want to plug them into an (even Apple) laptop, you detach the adaptor and forget to bring it with you.
Most devices can't remember more than 1 phone at a time, so you have to continually put the thing back into pairing mode. Every device has a different way of putting it into pairing mode. Sometimes there's a code to type, adding an additional step. Then it's several clicks on the phone to connect to the device.
Plugging in a cable is often a lot simpler, and it works every time.
In software, at least, I've argued that subscription pricing is innately deceptive and, long term, deleterious to the quality of the product. It's a market distortion born of the App Store model, where it's difficult to charge for updates. And that, in turn, is an artificial constraint imposed by OS vendors who have an incentive to keep people on the latest OS (without breaking their apps). There's a full-length rant at https://www.grinchcentral.com/an-open-letter-to-subscription....
That's the advantage of B2: straight storage, bring your own (encrypting) client. If Backblaze proper had a decent restore story (rather than typing your key into a web page and getting a zip), I'd recommend it wholeheartedly.
It isn't enough to explain how fast Firefox feels now.
That's because we've been making a dedicated effort to find and stamp out sources of UI lag! It's called Quantum Flow; see https://wiki.mozilla.org/Quantum/Flow for more.
Thanks for clearing that up!