yoink

alternate clickbaity title: the update I learned Swift and SwiftUI for.

I’m happy to announce Yoink for Mac v3.6.5’s immediate availability.
In addition to numerous quality-of-life improvements and adjustments, this update re-introduces the (judging from the inquiries I received about it) beloved Clipboard History feature, and its widget.

What’s Yoink?

Yoink offers you a temporary place (a “shelf”) for files you drag from Finder, or app-content like images from websites. It frees your hand and mouse cursor to let you more easily and quickly navigate to the destination of your files.

Yoink automatically appears at the edge of your screen when you start a drag a file, allowing you to place it there.

What’s New in Yoink v3.6.5?

Let’s talk about the most important thing first – the resurrected clipboard history and its widget.
Up until earlier this year, I had virtually no experience with Swift, let alone SwiftUI, and I was pretty happy to continue with my Objective-anCient ways.
But I realized it held me back. Things are clearly moving away from Objective-C and towards Swift, so at the beginning of this year (2022), I made a point of learning the basics of Swift as quickly as possible to have the option of using everything Apple’s platforms and APIs have to offer.

With macOS Big Sur, Apple got rid of its old-style Today Widgets (which could be written in Objective-C and a nice .xib-interface file) and brought over the new SwiftUI-style widgets from iOS. That’s why Yoink’s widget had been defunct for so long – I didn’t have the skills to replace it.

But enough chit-chat, here’s the nitty-gritty!

While the clipboard history recording still happens in Yoink itself in the background, the widget provides quick access to previous copies.
It comes in two sizes: medium and large.
The medium widget shows up to 6 copied objects, the large one up to 12.

Widget Configurability

That doesn’t sound like a lot, but you can have multiple widgets, and they can be configured to show
1) the most recent copies (medium: 1-6, large: 1-12)
2) older copies (medium: 7-12, large: 13-24)
3) oldest copies (medium: 13-18, large: 25-36)

So you can, for example, have one large and one medium widget to show the last 18 copied items, or three large widgets to show the last 36 copied items.

Apart from that, you can have the widget show only particular data types:

1) Only copied images
2) Only copied text
3) Only copied links
4) Only copied files
5) All copied items
6) Only pinned copies (pinning copied items is new in Yoink v3.6.5)

That allows the widget to be very flexible and useful.

How to use the Widget (Widget Clicks and Tricks)

– Click on an item in the widget, and it is copied to your clipboard
– Option(⌥)-click on an item, and it gets sent to Yoink so you can drag it out at a later time
– Shift(⇧)-click on an item, and it gets pinned (new in v3.6.5)
– Command(⌘)-click on an item, and it is revealed in the Clipboard History Browser (new in v3.6.5)

Pinning Items (new in v3.6.5)
A pinned item in the widget

When the Clipboard History reaches its threshold (up to 36 items), it will begin clearing out the oldest copies to make place for new ones.
In some cases, you might want to hold on to items indefinitely. That’s why you can now pin them. A pinned item will not be cleared out, unless you unpin it or delete it manually.

Clipboard History Browser (new in v3.6.5)

The history browser gives you a simple way to organize your copied items. Pin, unpin, delete, send to Yoink, copy, or clear out the entire history.

If you’d like to learn more about some of the implementation details behind this new widget, here’s a blog post for you.

What else is new in Yoink v3.6.5?

– It raises the minimum system requirements from macOS 10.10 Yosemite to macOS 10.12 Sierra.
– Instead of a TIFF file, a PNG file is created when pasting image data into Yoink.
In that vain, Yoink also transparently provides PNG and JPEG data when dragging out images of the types HEIC, HEIF or TIFF to broaden compatibility with other apps.
– It also fixes a couple of bugs and improves compatibility with, among other apps, DEVONthink, where items dragged from DEVONthink to Yoink and then out of Yoink are no longer moved, but copied, to ensure the integrity of DEVONthink’s files database.

What do I need to use Yoink for Mac?

Yoink runs natively on Apple Silicon and Intel Macs, and requires macOS Sierra 10.12 or newer.
It’s localized in English, German, French, Italian, Simplified Chinese, Japanese, Korean and Portuguese.

Where can I get Yoink?

Free Demo (direct download, ~28 MB, 30 days, notarized by Apple)
Mac App Store ($7.99, one-time purchase, no in-app purchases, update free for existing customers, as it’s been the case since v1.0)
Mac Productivity Bundle (Mac App Store, 25% off Yoink, Transloader and ScreenFloat)
Setapp (subscription service with over 200 Mac apps)

Yoink is also available for iPad and iPhone

For members of the press or anyone else who is interested, here’s a press kit.

I hope you like the update. If you have any feedback or questions, please do not hesitate to write me – I’m looking forward to hearing from you.

Enjoy 😊

Read more

Yoink for iPad and iPhone v2.3.5 introduced Background Clipboard Monitoring, which, if enabled, stores anything you copy, even if Yoink itself is in the background, effectively giving you a clipboard history.

With version 2.4, I’ve improved it by adding the ability to only monitor for specific data types, and to temporarily pause the monitor.

Background Clipboard Monitoring in Action on iOS 15 and iPadOS 15
Captured on my iPad using iPadOS 15, lightly edited for brevity but otherwise unaltered

For demonstrative purposes, I kept Yoink in the foreground as a Slide-Over app, just to show what gets added when.
But all of this works even if Yoink is not visible on your display and put in the background.

In the video above, I enable Yoink’s clipboard monitor and consecutively copy an image, a link, and some text; all get stored in Yoink.
I then use the Picture-in-Picture’s fast forward button to tell Yoink to only watch for text. With that option set, I again copy an image, a link, and some text; this time only the text is stored in Yoink.
I click the fast forward button again to make Yoink only save links, and repeat the copy-procedure of an image, a link, and some text; now, only the link gets stored in Yoink.
A final time I click the fast forward button to have Yoink only watch for images and – you guessed it – when I copy an image, a link and some text, only the image is added to Yoink.

Next, I pause the clipboard monitor by using Picture-in-Picture’s Pause button. Now, Yoink does not react to any copy events at all. By pressing the Play button in PiP, I reactivate the clipboard monitor.

Notes on the monitor’s behavior

The clipboard monitor attempts to ignore sensitive data, like passwords. For this, it refers to the pasteboard data types proposed at nspasteboard.org, and checks if there are any password-type app names contained in the pasteboard data types, like “1password”, or “keychain”, for example. If encountered, Yoink ignores the copy-event and waits for the next.

As for energy consumption, it is very light-weight.
The images you see in Picture-in-Picture are static – it doesn’t play video, it doesn’t play audio.
Yes, Yoink will continue running in the background because of this, but all it does is check your pasteboard every couple of seconds (and not even the data directly, only a “changeCount” value provided by the API).
If a change has occurred, it will save the content to Yoink and to disk.
Syncing – if enabled – only occurs when the app comes back to the foreground, so there is no added network activity.

Other Changes in Yoink v2.4

– I improved Yoink’s compatibility with GarageBand. Dragging an audio file to GarageBand from Yoink now works correctly
– Picture-in-Picture for arbitrary content now properly displays Map location items
– I fixed a memory leak and a couple of app crashes

Pricing and Availability

Yoink is available on the iOS App Store as a one-time purchase, for $5.99 / €5.99.
It is localized in English, German, Simplified Chinese, Japanese and Korean, with more languages to follow.

Links

Yoink for iPad and iPhone Website
Yoink on the iOS App Store
Yoink for iOS Usage Tips
Yoink for iOS Press Kit (.zip download)

Yoink is also available for Mac:
Yoink for Mac Website
Yoink on the Mac App Store
Yoink for Mac Usage Tips
Yoink for Mac Press Kit (.zip download)

I do hope you enjoy Yoink!
If you have any feedback or questions, don’t hesitate to mail me, I’d love to hear from you.

Stay healthy and safe!

Read more

After releasing Yoink v2.3, which brought the app up-to-speed on all things iOS 15, I have another great update out for Yoink for iPad and iPhone, which allows you to make the app monitor your clipboard in the background and save almost anything you copy or cut.

Background Clipboard Monitoring

In the video above, you can see it in action, running on my iPad.
Starting the Clipboard Monitor offers you three options:
1. a 5-minute timeout
2. a 30-minute timeout, or
3. no timeout at all.

So, were you to start clipboard monitoring with a 5-minute timeout, it would save anything you copy or cut, and automatically end after 5 minutes, if you didn’t copy or cut anything in that time.
Clipboard monitoring also ends as soon as you close the Picture-in-Picture overlay.

Of course, this also works on iPhone:

So in addition to sharing content to Yoink with its Share extension, manually pasting content into the app, and Siri Shortcuts, you can now have anything you copy stored automatically in Yoink.

Notes on the monitor’s behavior

Yoink attempts to *not* save sensitive data, like passwords. It does so by referring to the pasteboard data types proposed at nspasteboard.org. It also checks if there are any common password-type app names contained in the pasteboard data types, like “1password”, or “keychain”, for example. If that’s the case, Yoink ignores the copy/cut event and waits for the next.

Regarding energy consumption, it’s very light-weight.
The Picture-in-Picture content is just a static image that changes to another static image if a copy-event was detected. It doesn’t play video, it doesn’t play audio.
Yes, Yoink will continue running in the background because of this, but all it does is check your pasteboard every couple of seconds (and not even the data directly, only a “changeCount” value provided by the API).
If a change has occurred, it will save the content to Yoink and to disk.
Syncing only occurs when the app comes back to the foreground, if enabled, so there are no round-trips to iCloud every time you copy something.

Another (already released) cool new feature in Yoink for i(Pad)OS 15

Just because I think it’s awesome, I thought I’d mention another Picture-in-Picture feature Yoink has been offering since iOS 15 was released – displaying arbitrary content in PiP.
This means you can view photos, texts, PDFs, eMails, websites and more in the Picture-in-Picture overlay.
Check out this video of it, where I open a website in PiP and scroll through it using its controls.

Links

Yoink for iPad and iPhone Website
Yoink on the iOS App Store
Yoink for iOS Usage Tips
Yoink for iOS Press Kit (.zip download)

Yoink is also available for Mac:
Yoink for Mac Website
Yoink on the Mac App Store
Yoink for Mac Usage Tips
Yoink for Mac Press Kit (.zip download)

I hope you enjoy Yoink’s recent updates. If you have any feedback or questions, don’t hesitate to mail me, I’d love to hear it!

Stay healthy and safe!

Read more

Yoink v2.3 for iPad and iPhone is now available on the App Store and brings a couple of neat new features for users of iOS 15 and iPadOS 15.

Yoink is a file- and snippet “shelf”, in a “hold this for me while I do something else for a while” sort of way.
Anything you can drag, copy, share or download, you can store in Yoink.
When you eventually need it, you can access files either directly from within the app, Yoink’s custom keyboard, and Siri Shortcuts. It also syncs across your iOS devices via iCloud.

First things first, with this update, I’ve decided to drop support for iOS 11, up to and including iOS 13, and will only support iOS 14 and newer going forward. After taking a look at the app’s usage statistics Apple provides on App Store Connect, having Yoink support iOS all the way back to version 11, which I did up until today, doesn’t make sense anymore.

What’s New in Yoink v2.3 for iPad and iPhone [on iOS 15]

+ Picture-in-Picture, with a twist.
With Yoink’s Picture-in-Picture you can, of course, play videos.
But you can also show websites, images, texts, eMails and PDFs in PiP.
Below are two videos showing a website being scrolled in PiP, and images being shown in PiP.

A website being opened – and scrolled – in Yoink’s Picture-in-Picture mode. Scrolling also works in text-, eMail- and PDF files.
Images being shown in Yoink’s Picture-in-Picture mode.

Now, you might ask, as I have when I first came up with the idea: “Isn’t this what Slide-Over is for, or Side-by-Side?”.
Well, yes. Until you’ve used this.
If you need an overlay wherever you currently are, not wanting to worry about having to manage the Slide-Over app when switching between full screen apps, this comes in very handy. I haven’t used it for a long while yet (this feature is internally maybe two weeks old), but I’ve been using it daily ever since. It also focuses entirely on the content it displays, without the app’s UI taking up screen space.

+ Support for Quick Notes
Select a file in Yoink and you’ll be able to reference it in a Quick Note, as you can see in the video below.

+ Mouse/Trackpad Band Selection on iPad
A minor improvement, but still very useful, you can now draw a rectangle around files to select them if you’re using an iPad with a mouse or trackpad.

+ Inter-app Drag and Drop on iPhone
Not really a new feature of Yoink itself, but of iOS 15 in general is drag and drop of content between apps.
This makes Yoink’s keyboard on iPhone now on-par with the iPad version, because now you can drag content from Yoink’s keyboard directly into the text area; no copy-paste necessary.

What’s New in Yoink v2.3 for iPad and iPhone [aside from iOS 15-only features]

+ Improved Info Panel
I’ve improved the Info panel, especially for Stacks. Instead of just showing the size of the Stack, you now have quick access to all files contained within it, which you can drag out, copy, or share right away.

The improved Info panel for Stacks now shows the files contained within, which you can drag out, copy or share right away.

On iOS 15, the Info panel, depending on whether you’re using the app in full screen or not, is now presented as a sheet, allowing you to view more content at once.

The Info Panel as a sheet on iOS 15.

+ Audio can now continue playing in the background
+ Yoink now appears in “Open In” dialogs
+ Many, many performance-, compatibility- and reliability improvements
+ Even more bug- and crash fixes

Where can I get Yoink?

Yoink is available for iPad and iPhone on the App Store; it’s a one-time purchase of $5.99 / € 5,99 / £ 4.99.
It requires iOS 14 or newer. To sync across your iOS devices, an iCloud account is required.

Yoink is also available for Mac on the Mac App Store.

Further Links

Yoink for iPad and iPhone Website | Yoink on the iOS App Store
Yoink for iOS Usage Tips
Yoink for iOS Press Kit (.zip download)

Yoink for Mac Website | Yoink on the Mac App Store
Yoink for Mac Usage Tips
Yoink for Mac Press Kit (.zip download)

Read more