yoink

Yoink for iOS Icon

I’m happy to announce the immediate availability of Yoink v1.1 for iPad and iPhone.
It’s currently being featured on the App Store under “New Apps We Love”.

What’s Yoink for iOS 11?

Yoink strives to improve and simplify drag and drop and speed up your workflow.
It accepts almost anything you can drag, copy or share on your iPad and stores it for later use. This way, your fingers are free for more important things.

It’s a storage place for anything you might need later – an image from a website, a text snippet from a document, a URL, etc.

Here’s a quick YouTube video of how it works (check your sound, there’s some music) :

And a second one (with music, again) :

What’s New in Yoink v1.1?

Aside from numerous improvements and bug fixes, like an improved keyboard extension, the ability to create stacks by dragging items onto one another, smarter Spotlight indexing and a new take on the Share extension (it doesn’t need confirmation anymore for adding items), there are a lot of new features:

Clipboard Integration
When you open Yoink and have something new on your clipboard, Yoink will automatically offer to store it for you.
(You can configure this so Yoink doesn’t ask at all, and anything new gets automatically stored when you launch the app).

Download URLs
When you use Yoink’s Action extension to send something from another app to Yoink, the extension automatically detects if it’s a URL you are saving.
If that’s the case, you have the option of downloading the file the URL points to instead of saving the link to the URL in Yoink.
An optional notification can inform you about finished or failed downloads.

Today Widget
From the Today Widget, you can quickly copy the most recent items stored in Yoink to your clipboard, and save content from your clipboard in Yoink.

Quicker Sharing, Copying
Instead of having to tap Edit any time you’d like to share an item from Yoink with another app, each item and stack in Yoink now has a button that lets you quickly access those options.

Better iPhone Awareness
Quick Actions (via 3D Touch on the Home screen) for quickly adding your clipboard contents from your home screen, or to start a download.
Peek and Pop for items and stacks in Yoink
Full iPhone X  support

URL Scheme
You can now communicate with Yoink from other apps using Yoink’s URL scheme.
For more information, please visit the Yoink for iOS Usage Tips website and read Tip #6 🙂

File Provider
Finally. After being rejected by Apple for the initial version of Yoink (over and over again), the file provider extension has now been approved and is part of the Yoink experience on your iOS device.
Any app that uses the documents browser can now access items stored in Yoink.

Pricing and Availability

Yoink for iOS is available on the App Store right now, a little longer for the introductory price of $2.99 (€3,49). An iPad or iPhone with iOS 11 is required.

Yoink is also available on the Mac.

Links

Yoink for iPad and iPhone Website: https://eternalstorms.at/yoink/ios
Yoink for iOS Usage Tips: https://eternalstorms.at/yoink/ios/tips
Yoink for iPad and iPhone on the App Store: https://itunes.apple.com/app/id1260915283?mt=8
Yoink for iOS Press Kit: https://eternalstorms.at/press/Yoink-iPad-1-Press-Kit.zip

Yoink for Mac Website: https://eternalstorms.at/yoink/mac
Yoink for Mac Usage Tips: https://eternalstorms.at/yoink/mac/tips
Yoink on the Mac App Store: https://itunes.apple.com/app/id457622435?mt=12
Yoink for Mac Press Kit: https://eternalstorms.at/press/Yoink-3-Press-Kit.zip

Eternal Storms Software Logo

– – – Do you enjoy my blog and/or my software? – – –
Stay up-to-date on all things Eternal Storms Software and join my low-frequency newsletter (one mail a month at most).
Thank you 🙂

Read more

Yoink for iOS Icon

It’s here.
After an unnecessarily long, extended time in App Review, I’m so happy to be able to tell you that Yoink for iPad and iPhone with iOS 11 is now finally available on the App Store.

What’s Yoink for iPad and iPhone?

Yoink strives to improve and simplify drag and drop and speed up your workflow.
It accepts almost anything you can drag, copy or share on your iPad and stores it for later use. This way, your fingers are free for more important things.

Here’s a quick YouTube video of how it works (check your sound, there’s some music) :

How can I add stuff to Yoink?

Obviously, especially on iPad, Yoink was designed for drag’n’drop use, and using it as a Slide-Over or Side-by-Side app, I’d say that’s the best way to use it. Just slide Yoink over any app you’re in and drag to it anything you need later. Then slide it back out, if it’s in your way.
There are, however, other ways to add items to Yoink. It can grab the contents from your clipboard and it offers a Action / Share extension, so that whenever you use a Share sheet in iOS, you can add that shared item to Yoink – no drag and drop required. The app doesn’t even have to run.

How do I get stuff out of Yoink?

That’s just as easy. Either use drag and drop, or copy the items, or share them from within the app.
Yoink comes with a custom keyboard extension, which lets you use items you’ve stored in Yoink without having to leave the active app you’re currently editing text in – just switch to Yoink’s keyboard and drag out (or copy, if you’re on iPhone) the items to the destination in your text.
All items in Yoink are indexed by Spotlight, so you can use the system-wide search to find items. The results are draggable as well.

Yoink Custom Keyboard

How are items in Yoink represented?

Yoink creates a rich preview for every item you add, so that, at a glance, easy identification is possible (for example, web link items show part of the website, map locations show a preview using Apple Maps).
A full look at the item is available by tapping onto the item.

Deleting Items

Yoink doesn’t delete items right away. Instead, like in Photos.app, items you drag out of Yoink or delete are put into the Trash, where they remain for a specified amount of time, after which they’re really deleted.
So should you find you still need an item, you can restore it right away.

Pricing and Availability

Yoink for iOS is available on the App Store right now, for the introductory price of $2.99 (€3,49) – it will rise in November.
An iPad or iPhone with iOS 11 is required.

Yoink is also available on the Mac, and for the occasion, its price has also been reduced for a limited time! 🙂

Links

Yoink for iPad and iPhone Website: https://eternalstorms.at/yoink/ios
Yoink for iOS Usage Tips: https://eternalstorms.at/yoink/ios/tips
Yoink for iPad and iPhone on the App Store: https://itunes.apple.com/app/id1260915283?mt=8
Yoink for iOS Press Kit: https://eternalstorms.at/press/Yoink-iPad-1-Press-Kit.zip

Yoink for Mac Website: https://eternalstorms.at/yoink/mac
Yoink for Mac Usage Tips: https://eternalstorms.at/yoink/mac/tips
Yoink on the Mac App Store: https://itunes.apple.com/app/id457622435?mt=12
Yoink for Mac Press Kit: https://eternalstorms.at/press/Yoink-3-Press-Kit.zip

Delay of Release

I had planned and was ready for releasing Yoink for iPad together with iOS 11, on September 19th, 2017. As you may know, that didn’t work out. The app was ready, I was set, but App Review wasn’t happy with the app and so I missed the date, while other, let’s say similar apps, were allowed in.
After a lot of discussion by mail and phone with the App Review team, and having to remove some things from the app, Yoink was finally approved yesterday.

Thank you for your patience, and I hope you enjoy the app 🙂 Please spread the word and if you have the time and like the app, please consider leaving a little review on the App Store – it would mean a lot to me!

Eternal Storms Software Logo

– – – Do you enjoy my blog and/or my software? – – –
Stay up-to-date on all things Eternal Storms Software and join my low-frequency newsletter (one mail a month at most).
Thank you 🙂

Read more

Earlier today, I released Yoink 3.4 for Mac with supposed “PopClip by Pilotmoon Software” Integration.
Only that it doesn’t work, because I screwed up. My sincere apologies, it worked in testing but I managed to remove it from my Mac App Store submission by mistake, so the button does effectively nothing.

So, here’s how to fix it:
Instead of using Yoink’s “Install PopClip Extension” button in Yoink’s preferences (which is, on top of everything, badly aligned – because it’s just that kind of day for me), download the extension below and double-click it. If you have PopClip by Pilotmoon Software installed, it’ll do the right thing and ask you if you’d like to install it.

 – Download Yoink’s PopClip Extension – (then double-click in Finder)
(A logout/login or restart of your Mac might be necessary for macOS to recognize Yoink’s new system service)

Again, my apologies, this wasn’t how I wanted this to go 😉

I hope you enjoy Yoink besides this little hiccup, you can be sure it’ll be fixed with the next update!

– Matt

Read more

One of Yoink v3.3‘s new features is the detection of favicons for webloc files dragged into the app, making it easier to quickly identify individual weblocs at a glance. (A webloc file is something Finder creates when you drag a URL/link to it).
Think of it as QuickLook icon previews, just for websites:

Yoink with webloc files without favicons

weblocs without favicons

Yoink with webloc files with favicons

weblocs with favicons

The advantage is obvious right away, that’s why I jumped on it the second the feature was suggested to me.

Optional Setting

Even though I really like favicon detection and have it enabled on my Mac, I decided right at the start that favicon detection would be opt-in (disabled by default), for a couple of reasons:

  1. It requires an internet connection
  2. It uses data (very little, but still)
  3. I thought I’d use a Google Service for this (which I discarded after the prototype) and wasn’t comfortable having users use it without their “consent”

1) Internet Connection

Yoink is not an app that should require an internet connection at all.
It’s a “local” Mac app, it helps you with drag and drop, why need an internet connection?

As a side note, the connection itself actually doesn’t happen in the main Yoink app, it’s an XPC service that has the sandbox privilege, so the main app isn’t affected.

2) Data Volume

A Mac usually connects to the internet over WiFi or an Ethernet connection, and the data transferred for favicons *is* very small.
But there’s still a chance you’re using weblocs like crazy on a Mac connected to the internet via your iPhone’s Personal Hotspot on a data plan, which also makes it obvious why the user needs to be able to turn this option on and off.

It just made me more comfortable to have users opt-in to this option, instead of opt-out.

3a) Google?

Google has a nice favicon detection service, which is just a URL you pass another URL into to receive the image data:

http://www.google.com/s2/favicons?domain_url=PERCENT-ESCAPED-URL

There’ no need to parse the HTML yourself for the URL to the favicon, Google does it all for you.

3b) So Why Not Google?

What if the service goes away?
With Google having a bad rep for some users, would they use this feature?
What about privacy? (I don’t know, but they might collect your IP and then know what URL a favicon was loaded for, etc.)

So even though it worked very nicely, I decided to implement it myself.

Getting the Favicon

With Google out of the picture, I had to roll my own detection and parsing.
What I do is actually very, very simple.

I load the webloc’s URL’s HTML content, and then look through the header part.
In particular, I look for one of the following lines:

rel=“apple-touch-icon”
rel=“shortcut icon”
rel=“icon”
rel=“apple-touch-icon-precomposed”

in that order. (I’m sure there are more I could go through, but those were the ones that I came across while testing.)
Should none of those exist, I just try something like:

•) http:// … /favicon.ico
•)  …/favicon.png
•) rinse and repeat for every image format you can think of

If I have no luck there, either, I bail and return macOS’ default webloc icon.

If I am lucky and I find a “rel” I’m interested in, I figure out what the href contains (an absolute link to the image, a relative path to the image, or just the name of the image file itself). Once I know that, I can load the image file and composite it into the final icon.

The final icon is cached so Yoink won’t have to connect to the internet and re-download favicons for weblocs that point to the same base URL.

Drawing the “personalized” webloc icon

I went through three iterations, each at its own, unique laziness level.

Iteration 1, laziness level 3 (extremely lazy)

Just show the favicon:

Iteration 1 of Favicons in Yoink

No wonder I didn’t use it. It’s so lazy.
Second, it doesn’t even remotely resemble a webloc file anymore. It actually looks more like an image file’s QuickLook preview icon, and that’s a bad thing, as it could very possibly confuse users.

So I went on to

Iteration 2, laziness level 2 (pretty lazy)

Show the favicon super-imposed on the webloc icon:

Yoink Favicon Icon Iteration 2

That’s better. But not good, either. Favicons can be transparent, like the one here, but they can also be opaque, blocking the WEBLOC text in the icon and making the overall icon look more blocky and less nice.

Onwards and upwards!

Iteration 3, laziness level 1 (not that lazy)

Crop out the “Safari” part of the webloc icon and paint the favicon below it:

Yoink Favicon Icon Iteration 3

If the favicon is transparent, I draw it on top of a white background (so it would fit with the rest of the original webloc icon), if it’s not transparent, the favicon’s background is used, solving everybody’s problems. And you can still see that it’s a webloc file, at first glance!

Eternal Storms Software Logo

– – – Do you enjoy my blog and/or my software? – – –
Stay up-to-date on all things Eternal Storms Software and join my low-frequency newsletter (one mail a month at most).
Thank you 🙂

Read more