[HN Gopher] Engineering Dropbox Transfer: Making simple even sim...
       ___________________________________________________________________
        
       Engineering Dropbox Transfer: Making simple even simpler
        
       Author : nicksundin
       Score  : 110 points
       Date   : 2020-06-26 16:06 UTC (6 hours ago)
        
 (HTM) web link (dropbox.tech)
 (TXT) w3m dump (dropbox.tech)
        
       | gaogao wrote:
       | This was a great writeup! I loved start to finish view, that
       | didn't get bogged down in technical details.
        
       | Eric_WVGG wrote:
       | wow, that was a very exhaustively informative explanation of how
       | to clone WeTransfer
        
       | [deleted]
        
       | jrochkind1 wrote:
       | > helped us break away from preconceived notions based on what is
       | easy and incremental to build on top of the Dropbox stack.
       | 
       | In my experience, this is one of the biggest challenges for
       | developers involved in product design, expressed succinctly
       | there.
       | 
       | And to try to step out of this is why it's so important to have
       | product owners/managers who are NOT technical staff, and who
       | technical staff doesn't unduly influence. When you've invested
       | your time and energy in building a hammer, you really want to
       | figure out how to treat anything as a nail.
        
         | yjftsjthsd-h wrote:
         | > When you've invested your time and energy in building a
         | hammer, you really want to figure out how to treat anything as
         | a nail.
         | 
         | And to be fair, this is reasonable, right up until it isn't.
         | When every tool costs onboarding and maintenance effort, it
         | makes sense to leverage as few tools as possible to the
         | greatest effect - but much as "everything should be made as
         | simple as possible, but not simpler", you want the fewest tools
         | that will do the job well, but sometimes that _is_ N+1, and a
         | new tool _will_ pay for itself.
        
           | jrochkind1 wrote:
           | Absolutely.
           | 
           | But it's really hard to tell when it is and isn't reasonable,
           | when it comes to UX.
           | 
           | I find that the only thing you can do is try to have peopel
           | who aren't developers and don't even _know_ what 's "easy to
           | build incrementally on top of the existing stack" determining
           | the appropriate UX for the customer/market/business need.
           | 
           | Then the developers can say "OK, but if we did it like THIS,
           | it would be a lot cheaper to implement because we can
           | incrementally add to what we've got", and the product
           | manager/owner can push back "Eh, that's not going to meet the
           | market need", "OK, but we can't afford it" -- it's a
           | negotiation. But in my experience you really have to have
           | someone who isn't a developer at all standing up for the user
           | need, for anyone who will be involved in the implementation,
           | no matter how smart and user-centered, it's just too tempting
           | to decide that the thing that can be met with the incremental
           | change to existing stack is "nearly as good" no matter what,
           | when it's _so_ much easier and more elegant under the hood.
        
       | pmccarren wrote:
       | This is awesome! Firefox Send[0] is another very similar product
       | in the space. Excited for more file transfer players!
       | 
       | - [0] https://send.firefox.com
        
         | newscracker wrote:
         | And Firefox Send has much higher limits too, for free. Without
         | a Firefox Account, the user can upload up to 1GB. And with a
         | Firefox Account, the limit is 2.5GB. Dropbox Transfer, in
         | comparison, provides (just) 100MB in the free tier.
        
           | knjoy wrote:
           | Yea but it doesn't seem like Firefox Send lets you right
           | click on any file anywhere on my computer and just right
           | click to Transfer. The uploading with Dropbox Transfer
           | (through the desktop client) is super reliable too -- I have
           | Time Warner internet and when it invariably craps out, my
           | upload auto-resumes. Looks like this here:
           | https://www.dropbox.com/t/jJNe5IBPrezaw7aE
        
         | knjoy wrote:
         | As an existing Dropbox user, Firefox Send or WeTransfer is not
         | as good a product for me. Because I already have the Dropbox
         | client installed for file storage, I don't need to visit any
         | websites to upload to Transfer. I can literally just right
         | click on any file anywhere on my laptop and click "Transfer" --
         | then it automatically pops up, I can add more files into it,
         | rename it, etc. and then just send an email or copy link. I
         | screenshot how it looks here
         | https://www.dropbox.com/t/jJNe5IBPrezaw7aE (and it's so easy I
         | find myself just automatically use it). What I really like
         | about it is that it sends a copy of the file and my grandma
         | won't just delete my photos like the good ol' Dropbox links.
        
           | kyawzazaw wrote:
           | Is visiting send.firefox.com that much of a friction?
        
             | dhosek wrote:
             | Compared to the dropbox option, yes.
        
       | tananaev wrote:
       | Please make Dropbox Transfer email notifications configurable. I
       | use it a lot and I don't want to be spammed with emails.
        
         | nicksundin wrote:
         | This is something we started providing recently (based on user
         | feedback we heard, like yours). There's now a "let me know when
         | someone downloads" checkbox when you're making a Transfer (both
         | on Desktop & web)
        
           | tananaev wrote:
           | I see it now. Thanks for adding this feature. It would also
           | be nice to control other notifications. For example, an email
           | notification for transfer creation doesn't really make sense
           | in 99% of the cases. And I think ideally all those controls
           | should be in the main Dropbox settings (notifications tab).
           | Or at least defaults should be there.
        
           | toomuchtodo wrote:
           | Can you also support "Let me know when the download completes
           | successfully?" I assume this is easy if the recipient is
           | adding to their own Dropbox account, or downloading to their
           | client using a Dropbox client, but may be slightly more
           | tricky with a browser download.
           | 
           | EDIT: In the event my comment was ambiguous, I meant these
           | notifications should be configurable by the sender.
           | Essentially "delivery confirmation" for bits.
        
             | nicksundin wrote:
             | We're definitely looking into ways to make the recipient
             | side smoother. Stay tuned ;)
        
       | faitswulff wrote:
       | Does anyone know if there's a CLI tool to transfer files? Ideally
       | I'd want to give it a file as an input and then have it return a
       | shareable URL that transfers the file directly from my computer
       | to whoever clicks the URL.
        
         | dguido wrote:
         | yep, https://github.com/warner/magic-wormhole
        
           | faitswulff wrote:
           | I did look at magic-wormhole, but it's difficult for non-tech
           | people to use since, IIUC, you need to use the command line.
        
             | [deleted]
        
             | ColanR wrote:
             | So you do or you don't want a CLI tool?
        
         | pornel wrote:
         | Firefox Send has a CLI: https://github.com/timvisee/ffsend
        
           | timvisee wrote:
           | Thanks for sharing, dev here. It's an unofficial tool, but
           | fully featured for sure. Supports link shortening or QR code
           | generation as well.
        
       | dguido wrote:
       | Firefox Send, SendSafely, and Magic Wormhole are all end-to-end
       | encrypted.
       | 
       | https://send.firefox.com/
       | 
       | https://www.sendsafely.com/
       | 
       | https://github.com/warner/magic-wormhole
       | 
       | https://webwormhole.io/ (magic wormhole over WebRTC!)
       | 
       | This seems like table-stakes for a modern file transfer system.
       | Accepting unencrypted files and storing them temporarily in the
       | clear on your own servers seems like it only introduces tons of
       | additional risks without much gain.
        
         | cryo wrote:
         | cryo a new file manager also supports end-to-end encrypted file
         | transfers.
         | 
         | https://cryonet.io
         | 
         | For confidential content OnionShare is another good option.
         | 
         | https://onionshare.org/
        
         | zaroth wrote:
         | If I might ask a lazy question - do any of these work with
         | basic (e.g easily available on a lightweight container) command
         | line tools on the terminal? I assume not since they must all be
         | Javascript-based.
        
           | ColanR wrote:
           | magic wormhole is a command line tool.
        
           | pezdeath wrote:
           | Found this: https://github.com/timvisee/ffsend
        
             | timvisee wrote:
             | Thanks for linking, dev here. Yes, perfectly usable for
             | automation!
        
       | yahyaheee wrote:
       | Not sure why it still stakes hours to days to upload a video from
       | my iPhone.
        
       | nicksundin wrote:
       | Author here. Happy to answer questions!
        
         | rkagerer wrote:
         | User here. Just want to say:
         | 
         | 1) Thanks for your hard work advocating for us and for that
         | interesting writeup, and
         | 
         | 2) This was never a problem I needed solved until Dropbox
         | killed the Public folder four years ago. It took exactly two
         | clicks to create a direct link I could send to anyone, and it
         | just worked.
        
         | godzillabrennus wrote:
         | Great work on this. I had to send 100GB files last year (1TB in
         | total) and it was extremely difficult to send them as-is. Most
         | clients that upload data choked while attempting it. Had to
         | break the files up into smaller ones using a compression tool.
         | It actually increased the file size overall but the transfer
         | could then be facilitated.
         | 
         | Hope to see you guys add a feature like DocSend next. It's like
         | a missing puzzle piece from a utility perspective. I have no
         | idea who downloads a shared file once a url is generated. Would
         | be nice to request emails and get alerts when it's downloaded.
        
           | aroch wrote:
           | If you use 7zip on Windows or just split/cat on macOS/Linux,
           | you can split without compressing or archiving, saving you
           | unnecessary CPU cycles (and space).
        
           | jdxcode wrote:
           | You gotta wonder how much easier it would be to put a stamp
           | on a letter with an SD card in it sometimes
        
             | [deleted]
        
           | raun1 wrote:
           | No Syncthing, rsync, or multi-connection FTPS/SFTP with split
           | archives?
        
           | nicksundin wrote:
           | Hi! Sending groups of files was definitely one of the focus
           | areas here so hope Transfer can be helpful in this role.
           | 
           | Re: Tracking content, we actually do provide this in
           | Transfer. If you specify a set of email recipients, rather
           | than copying a shared link, we provide a few tracking
           | features for you.
           | 
           | 1) Record who has viewed or downloaded your content. 2)
           | Remind your recipient if the content you sent is about to
           | expire. 3) (Optionally) notify you to let you know when your
           | recipient has downloaded your content.
        
         | pkamb wrote:
         | "Send with Transfer..." pollutes the context menu of every
         | folder on my Mac, not just in the Dropbox folder. Is there a
         | way to remove that menu item?
         | 
         | https://apple.stackexchange.com/questions/389415/remove-drop...
        
           | butz wrote:
           | Same issue on Windows. If you are adding new context items
           | automatically, please have decency to add option to remove
           | them, without hacking the registry. Also, please do not add
           | it back in later update, which happen quite often.
        
         | psadri wrote:
         | What was the most technically challenging part of the project
         | for you? And do you do any tricks for handling failures during
         | very large downloads or uploads (Eg ranges)
        
           | nicksundin wrote:
           | The most technically challenging part was probably wiring the
           | storage & sharing side up to not behave like a traditional
           | Dropbox shared folder or shared link (e.g. not take up
           | storage quota or sync down to your machine). There were
           | certainly a long tail of internal reliability work to get
           | that operating smoothly (there are many internal services to
           | work with here).
           | 
           | In terms of tricks at handling failures:
           | 
           | The first (and probably most important) thing is finding the
           | failures. Bug bashing sessions and also just reading failure
           | logs can help catch the trickier transient problems our
           | integration or unit tests do not catch.
           | 
           | In terms of mitigating them, retries and correct error
           | handlers in code are essential (e.g. Promise.catch case
           | should not be ignored!). Retries on the client side are made
           | a bit easier as we chunk uploads into 4mb blocks so any
           | upload errors of actual content can be retried piecemeal.
        
         | WJW wrote:
         | Why is there so much talk about hypotheses and market
         | validation in the article when the product is a straight up
         | clone of WeTransfer almost down to the name?
         | 
         | For those who don't know: compare the visual design of
         | https://www.dropbox.com/transfer with the design of
         | https://wetransfer.com/. Design and location of key elements
         | are super similar.
        
           | txcwpalpha wrote:
           | Even if the internal discussions were "other services do this
           | and we want a piece of that pie", no company is going to come
           | out in a product launch announcement and directly say
           | "another service is doing this and we want a piece of that
           | pie".
           | 
           | And in this case, I would still hope they did do market
           | validation internally, even if it is just a copy of
           | wetransfer. Just because some other company is doing
           | something doesn't automatically mean it's a good fit for
           | _your_ company to do it, too.
           | 
           | As for the design, it's pretty hard to say that "a generic
           | file selection panel in the middle of a page and a Sign Up
           | button at the top right of the page where it typically is on
           | most sites" is a "straight up clone". The color schemes are
           | similar, but that's just because the main color branding of
           | both companies happens to be light blue.
        
           | DandyDev wrote:
           | The author is happy to answer questions unless they're
           | somewhat embarrassing
        
             | yjftsjthsd-h wrote:
             | The author answered the question, and did so before you
             | remarked on it.
        
           | nicksundin wrote:
           | Right, this is a really good question. Dropbox Transfer
           | achieves the same purpose as WeTransfer with a few
           | differentiators. Unpacking this a bit, there are two parts
           | here:
           | 
           | 1) For a company with an established sharing model (shared
           | folder, live-updating links), a departure or addition to this
           | needs to be thoughtfully orchestrated. Moving to snapshotting
           | content, gathering content inside and outside your Dropbox,
           | and enforcing expiration in this tool is a very different
           | paradigm.
           | 
           | 2) However, specifically because we are also a storage
           | provider, we can provide a much faster sending experience for
           | them as we can remove the upload step, which is especially
           | important for folks sending really large files. We have a
           | large user base storing their content in Dropbox, this is a
           | net new added value/functionality for them.
        
             | [deleted]
        
       | errantmind wrote:
       | I uninstalled Dropbox and moved my files elsewhere because there
       | was NO WAY to disable the annoying notifications asking me to
       | 'upgrade' my account (when my account was almost full). My whole
       | family used Dropbox with paid accounts and I'm actively moving
       | them elsewhere because of this.
        
         | inopinatus wrote:
         | The client is now full of all kinds of irritating nagware to
         | enable this and that unnecessary feature, even though I'm a
         | paying customer already. Doing so whilst ignoring the design
         | language of the OS is a hallmark of applications arrogantly
         | deluded of their own importance. The Dropbox client UX now puts
         | me in mind of 90s-era RealPlayer, which surely ranks as one of
         | the worst software products of all time.
         | 
         | I do not appreciate intrusive micromanagement and passive-
         | aggressive interdepartmental memos from humans, let alone from
         | my file sync utility, and when this occurs separately on every
         | god-damn device and even after a time machine recovery, I find
         | myself verbally abusing it, and the product managers that
         | spawned it, aloud in the most vulgar language.
         | 
         | Not good, Dropbox.
        
           | new2628 wrote:
           | The web interface also went downhill from its initial
           | simplicity. Hitting the download button for a pdf file in my
           | own dropbox folder (99.99% of my use case) has become a
           | whack-a-mole, with a constant danger of accidentally
           | connecting some app with the document, entering some kind of
           | crazy collaborative editing/commenting mode, updating my
           | "profile", installing a dropbox app, getting notified of
           | something, or activating some kind of sharing feature, none
           | of which I ever used or wanted.
        
       | ykevinator wrote:
       | Firefox send (send.firefox.com) is an excellent unknown product
       | and I highly recommend it
        
       | leetrout wrote:
       | Related I've been wearing out webwormhole.io to send large files
       | to coworkers.
       | 
       | Not a 1:1 here but very useful tool in the same space.
        
       ___________________________________________________________________
       (page generated 2020-06-26 23:01 UTC)