Live data from Hacker News

Why Instagram is so fast at uploading photos

speakerdeck.com

91–100 of 103 posts

Re: Why Instagram is so fast at uploading photos

#91
post #5

A little devil's avocate: Isn't Instagram primarily a photo sharing app? I'm not sure why people are complaining that it starts the upload on filter completion. My only question is how long are photos not marked as user initiated uploads kept?

To me this seems way offside. What if I, a regular user, uses instagram for taking all my photos. What if I take nude photos of my wife. Should I really expect instagram to upload them without my permission? I'm guessing 99% of people would not only be surprised by this behavior, but also outraged.

Uploaded doesn't mean it's permanently stored, it only means that part of the file might have been uploaded already by the time you confirm the upload.

If your intention was in fact to upload the photo, good on you, you save a few precious seconds. If your intention was not to upload the photo, then they simply cut the connection, send a delete order and move on.

Re: Why Instagram is so fast at uploading photos

#92

Earlier quoted context omitted.

Image manipulation on a large scale is expensive. Leaving it up to the user's device to run the image through filters eliminates server strain.

Definitely the case especially since they were on Amazon, and thus had to pay for EC2 minutes. Now that they're at Facebook, server load shouldn't be a problem anymore though. So they could implement that.

What about sending a video stream to the server and then when you hit the button it just sends a timestamp that determines which frame to extract on the server and delete the unneeded ones?

The future is going to be sweeeeeet.

Re: Why Instagram is so fast at uploading photos

#93

Earlier quoted context omitted.

Because, uploading before pressing the "save this publicly" button is counter-intuitive to most people. Much like if texts were sent before I pressed the send button -- until i press that button there is the option to change my mind, edit what i say, etc. This is the mental model most people will have, way more so when presented with a "publish" button (akin to a send mms button).

> Much like if texts were sent before I pressed the send button -- until i press that button there is the option to change my mind, edit what i say, et Except that analogy doesn't fit. Other users cannot see, nor do you see on your account, the uploaded-but-not-explicitly-published photo. It only appears publicly when you choose for it to be. A text message that was sent before you pressed the send button would have…

I understand the technical aspects of it. There is still no guarantee that they delete the photo. They say they do, and I don't seriously doubt them, but the possibility exists that they keep them around for whatever reason. Further, there is a real possibility that an attacker could find a way into the Instagram systems or hijack the communication streams between users and the servers, and then you have a leak. It is a potential privacy concern that is caused by the "upload everything and throw away some of them" algorithm.

Re: Why Instagram is so fast at uploading photos

#96
post #90

So Instagram has photos I don't click "upload" on. Well that's nice to know. Edit: So I tried to use a proxy on my phone but it looks like Instragram on Android doesn't honour the wireless proxy server. Anyone else want to do some digging?

The easy technical workaround would be to pre-send the photos encrypted with a random key, and only send the key after you explicitly click "upload". At least that way you could verify with a proxy that they were, in fact, not seeing photos you haven't sent them the keys for.

Good idea.. they should do this.. Maybe the encryption is too "heavy" for mobile phones? (uses too much battery ore whatever) ?

Re: Why Instagram is so fast at uploading photos

#97
post #88
post #73

Their motivation for speed is very well put: "mobile experiences fill gaps while we wait. no one wants to wait while they wait" Awesome quote

I absolutely agree. I now have an instinctive reaction to reach for my pocket whenever I'm feeling the slightest bit impatient, and I have caught myself on a couple of occasions reaching for my pocket when I already have my phone out, because I'm waiting for a page to load in the mobile browser.

When I reboot my computer, I very often find myself trying to cmd-tab over into Safari to browse the web while I wait for my computer to boot.

Re: Why Instagram is so fast at uploading photos

#98
post #96
post #90

Earlier quoted context omitted.

The easy technical workaround would be to pre-send the photos encrypted with a random key, and only send the key after you explicitly click "upload". At least that way you could verify with a proxy that they were, in fact, not seeing photos you haven't sent them the keys for.

Good idea.. they should do this.. Maybe the encryption is too "heavy" for mobile phones? (uses too much battery ore whatever) ?

Or maybe it's just extra work and complexity that so few of their users actually care about.

Re: Why Instagram is so fast at uploading photos

#99

Earlier quoted context omitted.

I don't know a browser which does not do that. They need to start the download to get the metadata (file name and type), and they'll do it if only because shitty servers may react very badly to the browser just stopping with a full socket buffer.

They don't need to start it to get the metadata. All that's sent is the content-disposition header with the suggested file name.

> They don't need to start it to get the metadata. All that's sent is the content-disposition header with the suggested file name.

That is the start, unless you perform a HEAD followed by a GET (which takes 2 round-trips instead of one and may not even be correctly supported). And because any link can lead to that, every single link you click would have to be implemented via 2 round-trips, that's complete madness.

> All that's sent is the content-disposition header with the suggested file name.

Nonsense, there is no situation in which "all that's sent is the content-disposition header", that header is part of a full header section and immediately precedes the content itself.

Re: Why Instagram is so fast at uploading photos

#100

Earlier quoted context omitted.

Definitely the case especially since they were on Amazon, and thus had to pay for EC2 minutes. Now that they're at Facebook, server load shouldn't be a problem anymore though. So they could implement that.

What about sending a video stream to the server and then when you hit the button it just sends a timestamp that determines which frame to extract on the server and delete the unneeded ones? The future is going to be sweeeeeet.

Problem there is quality of the image.
Post reply on HN