For over two years, I've been trying to turn my iPad into a work machine capable of handling every MacStories-related task – from writing and assembling blog posts to research, email, and expense management. One particular requirement, however, has always been problematic for my use case: native image uploads to Cloud Files on iOS. Dropshare, developed by Timo Josten, brings integration with the iOS Photos app and any other image file through a share extension that can upload directly to Amazon S3, SCP over SSH, and Cloud Files, solving a major issue in my iPad workflow for screenshot generation and uploads.
Dropshare has long been available for OS X, where it supports the same services that have been brought to iOS as well as more advanced functionalities such as Markdown links, landing page generation for uploads, clipboard uploads, upload queue, and support for any file that is dragged from the Finder onto the app's icon in the menu bar.
Dropshare for OS X is the definitive version of Dropshare and its current iOS counterpart lacks all the extras of the Mac app, but that's enough for me. I've been using Dropshare to upload images natively to Rackspace for a month now, and I'm thankful for the time I'm saving thanks to this app and its share extension on iOS 8.
We've been relying on Rackspace Cloud Files since 2010, and when I decided to move to an iPad-centric setup, I knew that the absence of a good, native, and maintained Cloud Files client was going to be a problem. To allow me to upload files from my iPad and receive direct URLs to uploaded images, our Don Southard came up with a script that runs on our server, monitors a Dropbox folder for images, uploads them to Rackspace, and appends a URL to a text file – which is a fragile system that involves a lot of steps and that was prone to fail. But still, I needed to be able to work from the iPad, and I used that script (integrating it with Pythonista and Editorial) for two years in spite of its constant issues.
I've kept wishing for a native Cloud Files client on iOS, and I knew that many of my friends who depended on S3 for similar tasks did the same. They were relieved when they saw that Panic was bringing Transmit to iOS with S3 integration, but the app was still lacking Cloud Files support, so while I could use it to quickly transfer files to my Mac mini, I was left hoping that a Cloud Files app would come to iOS eventually.
The Dropshare app is basic and stripped out of its Mac version's powerful features, but it gets the job done. You can configure a connection in the Settings (multiple connections require an In-App Purchase) by authenticating via SCP, S3, or Cloud Files. I've only used the app with Cloud Files, which lets you specify a container where you want image uploads to go; I've seen that S3 supports the same feature, letting you enter a bucket name for uploads, so you can pick an existing one if you want to (personally, I created a separate Cloud Files container for Dropshare).
In the app, you can pick an image from your library and upload it to a configured service – many of the limitations of Dropshare can be observed in this first experience. The iPad app is an enlarged version of the iPhone app – not exactly an example of a unique iPad software design, but still better than nothing. Dropshare only supports images right now and only individual images: you can't upload multiple images in a row and get a list of URLs back, and you can't pick any file from the native iOS 8 document picker and upload it using Dropshare1. These are two obvious limitations, and I'd like to see improvements here soon.
Dropshare could also use more options for filenames. Right now, you can choose to not randomize filenames, completely randomize them, or add a random suffix with a specified length. You can't add prefixes, you can't choose from more variables for filename tokens, and you can't create your own reusable custom patterns to handle different uploads (imagine presets for iPhone-sized images vs. presets for iPad screenshots). I wouldn't say that Dropshare needs all the capabilities of something like Name Mangler for filenames, but more options would be appreciated (right now, I set the app to add a random suffix to each upload).
Dropshare has two features that make it superior to any other image upload workflow I've tried: a native share extension and the ability to receive a direct image URL in the clipboard when the upload is done.
The latter is obvious and awesome.2 When an image is uploading, you see a progress bar, and then its public URL is copied into the clipboard. If you're uploading multiple images in the Dropshare app, you can open the Clips widget every time you have a new URL, save it, then use the Clips keyboard to paste all the URLs in a couple of seconds in any other app. For me, this is the upside of a native app: I have a URL ready to use and I don't have to wait for a script to finish on my server.
The share extension is great because it brings Dropshare uploads to any app that supports share sheets for images. I've been able to upload images directly from the Photos app, but also from Mail, Pythonista, and Messages. In an upcoming iOS 8 app I'm trying, I was able to chain the iOS 8 document picker, the Dropshare share extension, and the Clips action extension in a single native workflow that doesn't even require me to open Notification Center to save multiple URLs for uploads. The extension is yet another example of iOS' new flexibility, and I'm loving the integration with the Photos app, which is where all my MacStories screenshots are anyway.
Dropshare for iOS isn't as powerful as its Mac counterpart, but it's a good start and a welcome debut on iOS. Thanks to Dropshare, I'm saving several minutes that I used to spend on my iPad waiting for my Mac mini to upload images for me; now, I can generate screenshots and upload them natively on iOS, without wishing I had a Mac with Cyberduck. In spite of its limitations, I'm glad that Dropshare for iOS exists, thankful for the script that served me well for two years, and relieved that I now have a native app with a better workflow for the future.