Why Instagram is so fast at uploading photos
speakerdeck.com
speakerdeck.com
"mobile experiences fill gaps while we wait. no one wants to wait while they wait"
Awesome quote
My only question is how long are photos not marked as user initiated uploads kept?
As for the deletion, who knows. They could say anything and the users would have no way to tell unless they slip up.
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.
99% of people are probably very happy that their uploads don't take 5 minutes once they hit save. To them, it's worth the privacy "risk".
I agree with your point though that users have a responsibility to figure out the objective of the app in order to understand the context of its intended use.
Just because you and I are are thinking about security, doesn't mean most people are. And I don't even feel like this is a horrible thing for Instagram to do. It is an app specifically for uploading and sharing photos.
I totally agree with the philosophy behind your claim that users see privacy as part of a utility function where sometimes the value of the experience trumps privacy controls and it also depends on the value one attaches to the information he/she is sharing. So from that perspective, especially given the publicly accepted norm that everything on instagram is public (like in Twitter), this "privacy calculus" will probably work out in favor of Instagram's decision here. And yes, it is not a horrible thing for them to be doing either.
But it does break the trust for those who are accustomed to the connotations of certain UI features (like "Done" button and progress bar).
Instagram will get away with this, but if somebody with a less trust level was engaging in such pre-"Done" uploading activity, there would be pushback. What I fear is that the co-founder by sharing this with the developers community will encourage this behavior in other startups/apps and this will then become an industry best practice even for the shady apps (just like it did for the address book).
I'm a complete paranoid when it comes to privacy issues, and I don't see any issue with an upload that starts after I click a green check mark that, to me, means, "Hey, upload my photo, please!" There's the question of what happens to the uploaded photo on their servers when you cancel at the metadata stage, for sure, but that's a data retention question, not acquisition.
After taking a photo with your camera (or selecting one that you have stored locally), you get to a details page with a big button that says "UPLOAD" at the top right. So assuming that one does take naked photos of oneself or someone else, you'd have to confirm the upload. I only bring this up because FTA, the iOS screenshots just say "Done".
Now, if Instagram does indeed upload before you press the big green "UPLOAD" button, I'd say that's a breach in trust with the app.
You know that Instagram can load photos from your camera roll, right? "what would this nude photo look like with that filter?" is a common use-case, I'd guess. And a strong expectation that it would not be sent to an outside party as a result.
On the iPhone at least, it only saves photos if you post them. You wouldn't be able to use it as a camera for private photos unless you didn't want to keep them.
There is one work around - you can get it to save the photo if the upload fails, so if you put your phone in airplane mode, you can take a private photo. Apart from that, Instagram only works as a sharing app, not a general camera. I think since it works this way, 99% of people won't care.
Ah, if that's the case, then this seems much better.
I was under the assumption that photo's were uploaded after being taken.
If the user has to explicitly say, "Upload this picture" and only then does the upload start, then this seems to be much better.
But then again that is like writing erotic short stories in your twitter apps drafts and be outraged that they are saved online.
OT: If there isn't a novelty twitter account for this I'm disappointed.
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 to be held at an intermediate (such as BBM servers or iMessage servers), and of course makes little sense due to the size of a text vs. the size of a photo.
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.
If it put responsiveness before everything else, it could even start uploading before the filters are applied and apply the filters server-side when they are validated.
While this would significantly increase server load (and duplicate the work, as filters would be applied both by the phone and by the server), it would make the visible upload window even lower (or even not exist at all).
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?
But yeah its waste of bandwidth for the user if he decides against uploading the photo.
And of course, I'm sure all this fake outrage has nothing to do with Instagram's recent purchase by Facebook.
One time, this guy handed me a picture of him, he said,"Here's a picture of me when I was younger." Every picture is of you when you were younger. "Here's a picture of me when I'm older." "You son-of-a-bitch! How'd you pull that off? Lemme see that camera... what's it look like?“
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.
Now that they're at Facebook, server load shouldn't be a problem anymore though. So they could implement that.
The future is going to be sweeeeeet.
You can turn it off later in the settings quite easily.
An example in an online game I'm designing: damage and deaths are finalized with a one second delay. This way, the clients can optimistically render ships and combat effects, but everything is still verified/finalized on the server.
EDIT: And as others have pointed out, photos are only uploaded after the user has selected a filter and tapped the green check mark, not as soon as they are taken.
I would understand the concern if it acted like a camera app - ie, you take a photo, it's saved to your phone's photostream, and afterwards you can choose to hit upload, but since you can't use it in that way (it's either post it or the photo is gone) I don't really see a problem.
http://speakerdeck.com/u/mikeyk/p/secrets-to-lightning-fast-...
Surely they probably got it covered in the Terms, but it still strikes me as playing slightly dirty..
Probably not.
They added high-res photos in v2 and the early upload seems like maybe an attempt not to have the app start feeling much much slower.
Privacy concern and trust form a chicken-egg problem. I wish the Stanford-esque brains behind these tech companies had a better grasp on it.
Do you trust Facebook to the same extent?