10 ms·
Why Instagram is so fast at uploading photos
- cskau 14y agoDoesn't that mean they actually start grabbing the photos before really getting permission from the user? Surely they probably got it covered in the Terms, but it still strikes me as playing slightly dirty..
- panacea 14y agoPlaying the Devil's advocate (IANOCoder), but perhaps the bulk of the 1s&0s are being uploaded and then decrypted by sending a small string when the user selects "publish"? Probably not.
- mistercow 14y agoThat would be the responsible way to do it, surely, although they should still mention it in the TOS.
- eli 14y agoThat's a little silly. How is trusting them to correctly implement an encryption scheme terribly different from trusting them to responsibly delete aborted photos in the first place?
- minikites 14y agoTapping the green checkmark isn't enough permission?
- skeletonjelly 14y agoSo 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?
- yashg 14y agoIf you don't select upload then they can either stop the process if the photo hasn't been uploaded yet OR if its complete then they can send a signal and delete a photo. But yeah its waste of bandwidth for the user if he decides against uploading the photo.
- simonw 14y agoI imagine they start uploading when you click the greet "tick" button.
- NathanKP 14y agoExactly. All this outrage about photos being uploaded without permission is overblown, because tapping the green check button is just the same as clicking a submit button. Instagram just separates the upload process from the process for setting the photo's metadata, which is very intelligent and more efficient.
- skeletonjelly 14y agoIt isn't submit it's "upload". And it is only overblown outrage now that we know the facts right?
- avbor 14y agoOn slide 89 it mentions that they delete the data if the user cancels it.
- TazeTSchnitzel 14y agoAnd of course they do. They respect user choice and privacy. Whilst you can be all tin-foil hat and think they are going to keep these "cancelled" photos, I would seriously doubt it.
- skeletonjelly 14y agoPeople also doubted that Facebook retained deleted profiles a number of years ago. Is this an unhealthy opinion to form in an age of growing "cloud" data?
- veyron 14y agoWhere in the TOS does it allow them to upload photos that the users don't explicitly select?
- skeletonjelly 14y agoI just had a skim through and I can't see anything under T&S nor in the Privacy Policy.
- guan 14y agoThe user does explicitly either take the photo inside the Instagram app or select it. Note that the final button that published the photo to the user’s stream is labeled Done, not Upload. They don’t just arbitrarily upload photos from the camera roll or from the camera before the user has tapped the camera shutter button. 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.
- poglet 14y agoOn the Android version it says Upload instead of Done. I can't tell what point it starts uploading but it seems to appear pretty quick on my page.
- stephen_g 14y agoI think it's assumed that you are going to post any photos you take when you use Instagram - as the app doesn't actually save photos to your phone unless you post it (or if the upload fails). 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.
- ambirex 14y agoA 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?
- skeletonjelly 14y agoTrue. But there's a disconnect between the common person's understanding of the process and what's happening. It matters because it's user content. As for the deletion, who knows. They could say anything and the users would have no way to tell unless they slip up.
- chollida1 14y agoTo 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.
- dpcx 14y agoIf you're taking nude photos of your wife with an app that is specifically known for sharing photos, you're doing it wrong. 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".
- rogerchucker 14y agoThat's a pretty damn presumptuous thing to say... have you seen any studies or conducted one yourself where people admitted to leaning towards user-experience benefits about online photo sharing at the expense of privacy? 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.
- 14y ago
- hswolff 14y agoWhy is Speakerdeck polluting my back history? :(
- jeffjose 14y agoGmail used to do that with their attachment. You choose the attachment, and it silently starts to upload. Most applications wait for you to hit "Send" to start uploading.
- jpk 14y agoIt used to. It still does, but it used to, too.
- raganwald 14y agoThank you, Mitch Hedberg. Also, and strangely appropriate for an Instagram thread: 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?“
- gus_massa 14y agoThere was a progress bar that shows that the progresses of the file upload. It was not secret.
- stordoff 14y agoThere still is the progress bar.
- lucaspiller 14y agoDoes anyone know what the sign up slide is about (http://speakerdeck.com/u/mikeyk/p/secrets-to-lightning-fast-mobile-design?slide=82 http://speakerdeck.com/u/mikeyk/p/secrets-to-lightning-fast-...)? Do they create a user account when you hit the form, then fill it in with your details asynchronously later?
- maykelange 14y agoI think they're preloading the 'suggested' photos and data.
- bwill 14y agothat's probably when they were uploading all your contacts info so they could suggest friends to you...
- eli 14y agoI don't think that's playing dirty at all. I think it's quite clever.
- joe-mccann 14y agoThe iOS SDK I'm building at work ultimately does the same thing. Much better UX.
- rogerchucker 14y agoI trust Instagram to not engage in monkey business with my data. Having said that, this is flirting with the path-address-book kind of privacy-related scrutiny. There has to be a way of telling the user at WHAT POINT the data has started uploading. The progress bar of photo uploads has to mean what it shows or else it is a plain and simple deception (even if it's in the name of performance and user experience). I can't tell if this will erode trust though but don't be surprised if a few make a loud noise about it. 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.
- Aqua_Geek 14y ago> I trust Instagram to not engage in monkey business with my data. Do you trust Facebook to the same extent?
- rogerchucker 14y agoActually yes I do trust them to the same extent. But that's a choice I have made based on my perceived trust level. I am even OK with advertisers harvesting my photos (not sure if that is possible yet). My main desired privacy control is whether people that are not supposed to see my photos or browse through my galleries, actually get to do that. That's not necessarily a monkey business but an outcome of a privacy implementation flaw (assuming it is unintentional). That will certainly have an impact on my trust level for Facebook. The difference with instagram is that you go into instagram knowing that everything is public and so is the general sharing norm on that platform.
- waveturtle 14y agoI assumed this was the case because the "time since" label on a freshly posted photo is usually between 10-20 seconds, indicating they had my photo well before I tapped "Done." I think it's a pretty genius little UX hack to make the process feel quick.
- tomerv 14y agoI'm not an Instagram user, so I may be off base... but why not start uploading the photo right when the user snapped it, i.e. before selecting a filter. Then apply the selected filter server-side on the original photo. That way you save a few more seconds while the user is selecting the filter.
- leviathant 14y agoImage manipulation on a large scale is expensive. Leaving it up to the user's device to run the image through filters eliminates server strain.
- masklinn 14y agoDefinitely 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.
- VeejayRampay 14y agoWhat 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.
- masklinn 14y agoProblem there is quality of the image.
- sandipc 14y agofor previewing each filter's effects, this would require constant downloads of the processed images off the server in addition to the initial upload
- artursapek 14y ago
- hk__2 14y agoChrome does the same, when you right-clic on a file and select "Save as…", the download begin in a temporary file, and then when you select the emplacement where you want to put the new file, it moves the temporary file in it.
- icebraining 14y agoFirefox does that too.
- masklinn 14y agoI 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.
- skeletonjelly 14y agoThey don't need to start it to get the metadata. All that's sent is the content-disposition header with the suggested file name.
- masklinn 14y ago> 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.
- r0s 14y agoI've always wondered why client side resizing isn't more popular, it would give a major edge over any web upload.
- devinfoley 14y agoI'm pretty sure they do client side resizing as well.
- sikachu_ 14y agoI found it brilliant first time I founded that out myself. It's more like improving user's experience from their end.
- jpkeisala 14y agoI though it was slow
- bratsche 14y agoSeriously, why is this on hacker news? This is ridiculous. I'd downvote this if we were on reddit. :)
- bdittmer 14y agoI'm really surprised by the number of commenters who didn't figure this out already?
- darkstar999 14y agoYes. Any other questions?
- ajross 14y agoThe Google+ Android app does basically the same thing. It syncs everything from your camera to the cloud (configurable, but I believe the default is to sync always when on wifi), where you can choose to share them at your leisure. It's actually really handy. My wife is routinely not uploading cute kid photos to Facebook from her iPhone because it's too much of an annoyance (or because she doesn't want to compose the text to go with it). I can do it at my desktop whenever the mood hits me.
- yellowbkpk 14y agoIt's important to mention that when you install the Google+ app one of the configuration steps asks if you want to auto-upload your photos. You have three options: "Upload over wifi only", "Upload over wifi and mobile", and "Don't automatically upload". I believe the default is wifi-only. You can turn it off later in the settings quite easily.
- togasystems 14y agoWe used the same idea with video uploads.
- j2labs 14y agoIt's the little things...
- phil 14y agoDid Instagram v1 had this feature? 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.
- stcredzero 14y agoEverything he says is completely applicable to online games. Online games need to be designed around responsiveness. Another way to put it: the online game design should be pervasively focused on creating the illusion of low/no latency. 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.
- phil 14y agoThis is such a great deck. Unless you're working on a photo sharing app, this slide might offer more generally useful advice: http://speakerdeck.com/u/mikeyk/p/secrets-to-lightning-fast-mobile-design?slide=25 http://speakerdeck.com/u/mikeyk/p/secrets-to-lightning-fast-...
- zobzu 14y agoFYI Google instant (which is integrated, at least in AOSP) or smth does the same, by default. That is it uploads your pictures instantly to Google picture thingy. You can turn it off thanksfully.
- ot 14y agoTheir motivation for speed is very well put: "mobile experiences fill gaps while we wait. no one wants to wait while they wait" Awesome quote
- tb 14y agoI 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.
- eridius 14y agoWhen 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.
- MrKurtHaeusler 14y agoSurprised most are concerned on privacy grounds. My first thought was, wow this could chew up many users monthly bandwidth quotas.
- junto 14y agoI have just realised that Intagram have an abundance of phallus photos that were never intended for upload!
- jinushaun 14y agoI always suspected that.