In my professional career, it's always a compromise between what,
like, the customers want, like, what the product is supposed to
be, what the product managers imagine their product to be, but in
this case, and that is why I enjoy to work on Dropshare so much.
It's just me, right?
The only one I need to argue with is me, and if I think it's
a good idea and like the feature, I'm just gonna implement it.
Welcome to Screaming in the Cloud.
I'm Cory Quinn.
For those who may not be aware.
I spend a lot of my time on the internet shit posting.
I enjoy finding tools that make that a lot easier for me
to do, and one that I've been using for years is Dropshare.
Timo Josten is the owner of Dropshare, the company which creates Dropshare
the product that I've been using for a while and just released a new version.
Timo, thank you for agreeing to talk to me.
Hi.
Thank you for having me be here.
Very glad.
This episode is sponsored in part by my day job, the Duckbill Group.
Do you have a horrifying AWS bill?
That can mean a lot of things.
Predicting what it's going to be.
Determining what it should be.
Negotiating your next long-term contract with AWS.
Or just figuring out why it increasingly resembles a
phone number, but nobody seems to quite know why that is.
To learn more, visit duckbillgroup.com.
Remember, you can't duck the Duckbill bill.
And my CEO informs me that is absolutely not our slogan.
So I have my own perspective on what Dropshare is, but I
don't generally like it when other people tell my story badly.
So I figure I'll do you the same courtesy.
What does Dropshare do?
Yeah, so it's basically a piece of software and app, as
you would say nowadays, that helps you share files, right?
So it allows you to drag and drop any file folder, anything you can think of
on your Mac or iOS device, and upload it to virtually any storage provider
you can think of, provide you with a link to share it, and that's it.
One of the things that I looked for back when I first encountered
this, I wanna say seven years ago or so, was I was talking to a
bunch of people on the internet, as one does, and wanting to send
people screenshots of things, also as one does, but everything else
that I was seeing at the time had their official domain tied to it.
It was always very clear what app someone was using,
and the flow of these things wasn't terrific either.
the initial thing that really got Dropshare onto my radar was
the fact that you could use whatever backend storage system
you want, like, oh, I don't know, an S3 bucket in my case.
And well, if you do that and then just slap something like CloudFront in front
of it, well suddenly you can wind up auto generating screenshots with a hot key.
Drag, drop, let go, and suddenly you can send those to everyone.
I mean, the domain that I use for this, not kidding, is
shitposting.pictures because that is usually what I'm sharing pictures of.
I sometimes forget that's what I'm using when I'm in
a client discussion and send something quickly to them
and then watching them do a spit take in a boardroom.
But you know, we all have our peccadillos.
Yeah.
Well that's rather funny.
There is a solution for that in the app, but let's dive into that later, maybe.
So funnily you say that it's other solutions, other providers that basically
do the same thing, but it's always like branded with their own identity, right?
So, and that's actually what made me start Dropshare,
like I think 12 years ago now, maybe 13 years ago.
I was relatively new on Macs, bought my first Mac and used
one of the, back then, market leading apps in taking a
screenshot, share it with link, and initially it was great.
But yeah, they started adding advertisements to their download
page, and everywhere it was like, obviously whichever was
using, unless I was to pay money for it, which is fine, on a
monthly basis for a tool that I use for taking screenshots.
Hmm.
I wasn't so sure about that.
And I was still a student and that was a no-no for me.
So, being initially a backend software developer, so
that is what I am by profession, I developed software.
I looked into how hard can it be to create a makeup, right?
How hard can it be?
The rallying cry of people who are about to learn a lot?
Yeah.
Precisely.
So I spun up Xcode for the first time, looked into it, and closed it again for
a year or so because yeah, it was like, other than anything I had seen before.
This weird programming language, objective
C object, sending messages to each other.
Very weird coming from a Python and Java background and yeah.
Anyway, I was still annoyed for a year and then I looked back into it
with how a friend who was back then looking to iOS development also
for the first time, and we helped each other out a bit, and that's
when I spent some time and created an app I called Dropshare, which
basically was a very tiny settings window that allowed me to enter a
host name, a password, and a path on my server where to upload files to.
Sometimes I share a screenshot of that on Twitter just for the fun of it.
And yeah, I started to use that, and suddenly I could just like,
upload files, capture screenshots with my own domain and my own
branding, and people were like, what are you using to do that?
And yeah, it was like my app.
It wasn't distributed anywhere.
It was just running on my Mac, and that's when I
started to think about maybe this can be a product.
I have to say, its flexibility is one of the things that attracted me to it.
At the time, you had a bunch of different cloud backend storage services
you could use, and now that I'm looking in version six, you have what
appear to be about three dozen of them, ranging from Amazon S3 to the other
cloud providers equivalent of it, to Google Drive, to Dropbox, to Imgur,
if you want to have your screenshots constantly interrupted with a popup.
"This looks better in the app." I digress, and I have angry feelings about it.
You can SCP or FTP files into places odd programmatically.
It is highly customizable.
You can also generate custom landing pages
that do whatever you want them to do it.
I confess it took me a little while to figure out the
right way to put the meta tags in the landing pages so
it would show up properly on Twitter and later Bluesky.
Yeah, so basically when I started to make it into a product, it
supported SCP uploading, so like assets aging into your server,
uploading files and Amazon S3, because back then it was like the
obvious way to get cheap storage that serves over the internet.
And there were, and I think still are free to use, so it
was basically very easy to set up, didn't cost anything.
I think the app was free back then as well.
So it was a win-win for everyone because it was an
application sitting in your menu bar, almost invisible, but
there if you wanna share a file or capture a screenshot.
And people started to download it and apparently to like it, and
that's when it grew, and more and more search providers came.
I figured out that basically all of the object storage providers
accepted their fate and implemented an S3 compatible APIs.
So that made it very, very easy to basically attach Dropshare to
any of the available storage providers and also allow any custom
S3 compatible API, if there is a new one that I didn't see yet.
And people ask for Google Drive and Dropbox and
OneDrive and yeah, basically everything that has an API.
Can be used with Dropshare, and if it doesn't, let me know.
I will probably find a way.
You hear from me every time S3 makes a significant change in this direction.
I have a history of tickets in my email inboxes, dating back, oh, uh, must
be to 2018 or so, where it's, "Hey, reduced redundancy storage isn't really
a thing. Now it's infrequent access." "Hey, now it's intelligent tiering. Can
I have the option to upload to that storage class automatically?" Yada, yada.
And your response is always the same.
"Oh, thanks for letting me know. I'll look into this in the next version."
And lo and behold, I would look a couple months later, and sure enough,
either you had emailed me to say it was available, or I discovered it first.
It was great.
It's not just that you cover a bunch of these storage
services, but you do it in some significant depth.
So I'm very grateful and thankful for the feedback for yours and for the
feedback of the community, which is a very nice community, I have to say,
because it's not possible for me to follow all the changes and updates
for all the storage providers, because some of them, yeah, communicate.
Some of them don't.
Some of them just change stuff and APIs breaks.
So, very thankful and grateful for all these tips, and, I mean,
unless it's not a good idea, I'm very happily looking into it
and implementing it, especially since like adding a new storage
class to the S3 support is like really not that big of a deal.
What?
You're not tracking this stuff constantly on an ongoing basis, so
that every change to every storage provider, no matter how minor.
Can't imagine why.
You must have something else to do with your life.
Exactly.
I wish.
And yeah, especially since why Dropshare obviously is
a business, and I've been doing that for 13 years now.
It's not my profession, right?
It's something I do on the weekends and when
I'm done with work and feel like doing it.
So, yeah, again, very thankful for any tips or hints when stuff doesn't work
anymore, or, yeah, just the services change their API or add new features.
I want to get into the idea of it as a business a little bit, because you have
an ancient old timey business model, which is I pay you once for a piece of
software, and then I effectively get free updates until the next major version,
which is sort of a nice splitting of the difference between the subscription
model and the, "Okay, we're just gonna take money once and then give you
free updates for life, which doesn't feel sustainable." How'd you land there?
Yeah, so I've tried it all, I'd say.
So the app started with a one-off purchase.
They were subscriptions somewhere in between.
I think on iOS, it's still possible to opt into a subscription if
you don't wanna use the app for a long time and don't wanna pay,
like, the big upfront or lifetime payment for a major version.
And now I'm back for many years in the pay ones
and receive updates for that major version scheme.
And
being an application that primarily targets, like, not businesses, but
individuals and looking at myself using software, while that might not be
the most businessy way to go, I think it's the most fair way to do it, right?
So, because I am not a big business because I don't
have an amada of support people helping, it's just me.
I think it's just fair to say pay once.
Buy as you've seen it, and whenever something breaks, please shoot me an
email, but it might take a week or two for me to fix the issue, right?
Or to get an update.
And I think that's just fair.
On the other hand, Dropshare is on setup for quite a long time now.
Setup is like the Netflix for applications on
MacOS, and it's like a subscription service.
So if someone does not want to pay for their software
individually, but rather have a big subscription and
get the app from that subscription, that works for me.
And as long as Azure has been used, I can participate on that.
So I have to confess that I use this so many times a day
that when I got the popup that, "Hey, there's a new major
version out," I didn't even bother to read the change log.
I hit the link, pulled out the credit card, bought the
upgrade, installed it, which was a seamless process by the way.
It even gets rid of the old one.
Nice work, and then, now I'm talking to you and realized I
didn't do my homework well enough, what changed in version six?
Because the honesty, the only thing I would've
been likely to notice is if something broke.
It didn't, it's been a couple of weeks.
That, that's very good.
So it, it's not like the Big Bang major update with everything
redesigned, and updated, and new UI, and the yada yada, because from
what I hear from my users and customers, it's fine the way it is.
Well, I wanna be clear the way that I use it, there is no AI to speak of.
I hold down three keys, and then I hold two modifier keys and I press
the number four, and then I drag and I let go, whatever I've just
selected on my screen is now instantaneously uploaded to my S3 bucket.
And the link to that, accessible via
CloudFront, is now placed into my clipboard.
I can just paste it and go.
It is one of the fastest ways I've found of working with these things.
I know you have a user interface in various parts
of the app, but I almost never have to look at it.
Yeah.
That I think that's like part of the magic out of, right.
It's like sitting in your menu bar almost invisible, and it's just there
if you need it, and if you don't wanna see it, you don't ever need to see
it because, as you've just perfectly explained, that's how it can work.
It can work in very different ways.
There can be a visible user interface.
The problem that you explained earlier with the shitposting domain,
well, theoretically you could, like, duplicate your F3 connection, right?
And have like two different upload targets.
One for the shit post and one for the business stuff.
The app allows that.
It will show you a question window to choose
a connection when uploading, if you want that.
But it's customizable the way you want it to be, so if
you don't ever wanna see that, it's never gonna pop up.
Yeah.
What changed in version six is, basically, there
were a few new storage providers supported.
Automatic upload deletions.
That is something that people have been asking for quite a while.
So if you want your uploads to disappear from your storage after a
certain period of time, that's possible now, but it's rather my way of
offering that app in a sustainable way, like offering a paid upgrade every
five to seven years looking back, then a big bang update that changes
everything and adds hundreds of new features and breaks stuff like usually.
So you should look it out.
You should check it out if you are using Dropshare already.
You should check it out when listening to this episode, obviously,
to see whether it can help your workflow, but it's not like to expect
major new, brand new features because the app is fine the way it is.
There used to be 80, I think, free updates for version five.
Some of them new features, some of them improvements,
but I just enjoy working on that product.
Strive to make it better, but I'm not gonna change it in any way that
will remove or change the workflow that people started to like and laugh.
This episode is sponsored by my own company, The Duckbill Group.
Having trouble with your AWS bill?
Perhaps it's time to renegotiate a contract with them.
Maybe you're just wondering how to predict
what's going on in the wide world of AWS.
Well, that's where The Duckbill Group comes in to help.
Remember, you can't duck the Duckbill bill, which I am reliably
informed by my business partner, is absolutely not our motto.
How do you look at a feature or an improvement and say, "Oh, I'm going
to put this into the next point release," versus, "This is going to be
a paid upgrade for the next major version." How do you draw that line?
Yeah, that's an interesting question.
So for the past seven years, there have only
been free updates for version five, right?
So, I released version five, which was a bigger update
because, like seven years ago, there were like the first MacOS
version with dark mode and UI needed updating to support that.
Everyone needs a dark mode for whatever reason.
I don't get this obsession with it so many people have.
It's, I, sure, okay, great.
Late at night, I do.
It's a little easier on the eyes, but I don't know that
I necessarily wanna make that the hill that I die on.
Yeah, precisely.
But then again, if all of your MacOS is black and then
the settings window pops up, and it's all bright and
white, people will write me emails been there, right?
I have no doubt that they will.
Yeah.
So that's like seven years ago when I needed to do like the big
update, I decided it to be paid, and then I just worked on that for
the past seven years, and I didn't even think about a paid upgrade
because, like, people are, thankfully, constantly buying the app.
But then again, looking back seven years, much things have changed.
Not only economy, but also everything got more complicated, supporting more
versions of MacOS and yeah, I thought about it might be a good point now.
It's a fair point to release a paid upgrade.
Actually, a friend of mine asked me why I'm not doing it, and
that only made me think about I could do it because I think
it's just fair from time to time to release a paid upgrade
because that's how the business stays sustainable in a way.
One thing that I keep being surprised at every time I discover
it, 'cause I confess I've never used it or configured or gotten it
working properly, is you have an iOS version as well, which I guess
in hindsight would make a lot of sense for me to have used it a bunch
of times where I'd just basically throw it over airdrop to from dry
desktop to do things that would've made things a lot more simple.
But it feels like there's not quite the same equivalent of the
friction-free approach of drag select, or even just just effectively the
hitting other hotkeys do a whole screen image and then stored into that.
It feels like there's a few extra steps that need to happen.
It is obviously, because that's the way iOS is, it cannot be integrated
that deep into the OS, but I think one of the primary use cases is that it's
upload history synchronizes through your iCloud magic synchronization thing.
So whenever you upload something on your Mac and you use an iOS
device with the same Apple account, your upload is will just appear.
So if you shared something and you need it on
your phone, you will have easy access to that.
And obviously back then when I implemented the
iOS app, it made sense also to allow uploads so.
Not all, but I think like 70% of the storage providers that are
supported on MacOS are also supported on iOS, and there's not so
many native, like S3 clients in the app store for, for iOS devices.
So many people just use that to drop stuff into S3
without even needing the like download url, right?
They just wanna put stuff in their bucket for later use,
and,so that's what makes the app so flexible, right?
You can basically do whatever you need to do with it.
You can share the files, you upload it or you don't, and
with, like, widgets and share extensions and all that
kind of stuff, you can integrate it in your workflow.
So I know that Federico Fund for for Mac updates laughed to use
the iOS version to upload his block pictures for the website.
Federico Vichi.
Or am I thinking of a different Federico?
Yeah, exactly.
This guy.
So he loved to use the iOS app to like upload, I think it was in Cloudflare.
It's also, I don't remember.
But yeah, to just get his block images, assets to his storage,
and then use it when updating an article on a website also.
So it can be whatever you need it to be as long as you need to upload something.
Yeah.
I very much like the idea of being able to have a
configurable self-deletion of a lot of these things.
Historically, I've approached that by having a lifecycle policy on
the S3 bucket, but I have a few screenshots that I've put up over the
years that really should have been aimed a little bit differently.
For example, one I sent to someone in passing.
Well, it wound up getting linked in a New York Times article.
It's, that's one of those things where I probably don't wanna move that
and break it, whereas, oh, that was a random misfire as I was testing out
a new keyboard shortcut that did not do what I thought it was going to do.
I wind up with things cluttering up that S3 bucket constantly.
I think last time I checked I had 7,000 images in that thing.
Yeah, so apparently also deleting is something that people wanted to have.
I was a little hesitant to implement that
because, like, people tend to forget stuff, right?
So data just disappearing from your storage, it's a little
scary, but it's like, I'd say, well hidden in the app and
made sure that it just precisely does what you want it to do.
And obviously only works if the Mac and the app is
running at the time because there's no, like intermediate.
Dropshare is always only gonna directly communicate with your storage.
There's nothing in between that will ever get in touch with your files.
But yeah, people love that and I've already gotten some
feedback on it and people requested more customization
options for the duration and the lifetime of the file.
So yeah, that is what I'm actually very grateful for the community
of the app because people like are very understandable for why there
is now a paid upgrade, and on the other hand have very good feedback
like you did many times in the past on how to improve the app, and
it's always like, in my professional career, it's always a compromise
between what, like, the customers want, like what the product is
supposed to be, what the product managers imagine their product to be.
But in this case, and that is why I enjoy to
work on Dropshare so much, it's just me, right?
The only one I need to argue with is me, and if I think it's
a good idea and like the feature, I'm just gonna implement it.
Part of the problem that I consistently run into is that I spend
all of my professional time fixing horrifying AWS bills, a small
problem that's affected basically everyone in the fullness of time.
And that's why I cared so much about getting intelligent tiering working
with this, and then I stop to think, I mean, really think about this, and
I check the numbers, and I'm spending about 7 cents a month right now on
storage for all the things I've taken pictures of over the last eight years.
And it turns out that I don't actually care about
optimizing that 7 cents down to five or whatnot.
What I do care about and why I like that deletion feature quite a bit
is that I will periodically, either intentionally or accidentally, take
screenshots of things that are somewhat sensitive, and that's fine.
There's a long random string that's part of the name of
these things that winds up being so it's not discoverable.
You can't list index these things.
And I know how S3 permissions work, so I'm mostly safe there,
but I still don't like having that data hanging around.
And being able to have that delete in the
fullness of time is of significant value.
It is, I think, and, well, something else that's hidden kinda well
in the app but has been there for I think, like, since basically the
beginning is something that I call Dropshare Safe, which is an option
to add the password protection and the link expiry to your upload.
So it's not touching the file itself, but just putting aside in front
of that file with the secret url you just mentioned, and allow you
to, like, set up a password to download it or set an expiry for just
the link, and if you then share that Dropshare Safe link, no one's
ever gonna find out the actual URL of that file without the password.
Yeah, obviously not gonna able to download
it unless you share the actual file anywhere.
I also have misled you.
I'm trying to remember off the top of my head.
That's why I checked and pulled this up.
Yeah, this has cost me 11 cents total over the past six months in storage.
So yeah, maybe that's not the first thing I should cost optimize.
Maybe I just get a medium coffee instead of a
large and cover the difference for the next year.
That sounds like a good plan.
I am curious as well about what seems to have,
I seem to have stumbled upon this on GitHub.
It feels like there's a thriving community around Dropshare, which I
wanna just say is a wild thing to say about a relatively straightforward
app that takes screenshots and puts them on the internet, but
specifically around various tailored landing pages, that the templates
of whenever something gets thrown up there and I drop the link, it's
not just a link to the raw image, 'cause that'll break a lot of things.
It's a bare bones HTML page that will in turn have
embedded tags so it displays properly on various websites.
I need to go back and look at that a fair bit more 'cause I suspect
there are better options in what I'm using that arrange for things
like, I dunno what the alt text equivalent is for use on social media
or changing the aspect ratio at which they display these things.
But I'm sure they're out there and I'm sure
someone has done that heavy lifting for me.
But it, it's one of those incremental improvements.
It's just quality of life stuff.
Yeah, precisely, and many of the landing pages, as I call
them that are built into the app are community made, right?
So someone just made their own landing page, shoved them on GitHub, and
tagged me, and said, "Hey. This is nice. Don't you wanna put that into the
app?" And that's what I did because I'm not really good web designer, right?
So I wouldn't come up with plenty of templates to use.
But if there isn't any that you like built into the
app, you can, as you said, just spin up the HTML editor
and create your own tiny landing page for your uploads.
Put some placeholders in there that will be replaced with a preview
image or the name of the file, the size of the file, whatever,
and have your own CI or whatever you need for your downloads.
Yeah.
It's also probably worth pointing out that, for better or worse, AI
can do a pretty decent job of banging these things together these days.
Yeah.
So that was rather a joke to be honest, but turned
out to be quite a helpful feature sometimes.
So, usually if you take a screenshot, it's very
simply named "screenshot" with a date, right?
So there is preview images of the files, obviously in the app,
but still sometimes if you actually need to find something that
you captured like two weeks ago, can be quite a hard, but yeah.
Sometime ago OpenAI came out with a model that was able to very efficiently
analyze a screenshot and give it a good name, and that's what the app can do
if you wanted to, so you can just hook it up with your OpenAI key and have
all the screenshots you take annotated for better findability in the app.
And it'll also, as a nice tidbit, add that
description to the metadata of the file on your Mac.
So also when using Finder for the local file, for
example, you will more easily find it based on what's in
the screenshot, and it turned out to work rather well.
Wasn't that hard to implement, and yeah, now
I can say I have an app that does AI as well.
I miss that option in the preferences that, that sounds super handy.
Not from the perspective of, "I want AI to do all of my work for
me," but oh my God, as I said, I have 7,000 images in an S3 bucket.
It sure would be nice to start annotating that in the fullness
of time, especially with S3's new metadata feature they
just launched at re:Invent and went GA about a month ago.
I still haven't wrapped my head around that, but once I do, don't worry.
You'll get another feature request that sounds like it
came from the freaking moon dropping into your chat box.
Looking forward to that.
Timo, thank you so much for taking the time to speak with me.
If people want to learn more, or as I strongly
suggest they do, buy, Dropshare, where should they go?
It was a pleasure.
So it's dropshare.app.
Very easy.
Excellent, and we will of course put a link to that in the show notes.
Thank you so much for being so generous with your time.
I appreciate it.
Pleasure.
Thank you for having me.
Timo Josten, owner of Dropshare.
I'm Cloud Economist Corey Quinn, and this is Screaming in the Cloud.
If you've enjoyed this podcast, please leave a five star review on your podcast
platform of choice, whereas if you've hated this podcast, please leave a five
star review on your podcast platform of choice, along with an angry, insulting
comment that you should then take a screenshot of for posterity, but lose
it because you don't have a reasonable app to upload it somewhere sensible.