title: iPhone: Strategies for uploading large files from phone to server
body: <p>We're running into issues uploading hires images from the iPhone to our backend (cloud) service. The call is a simple HTTP file upload, and the issue appears to be the connection breaking before the upload is complete - on the server side we're getting IOError: Client read error (Timeout?).</p>
  
  <p>This happens sporadically: most of the time it works, sometimes it fails. When a good connection is present (ie. wifi) it always works.</p>
  
  <p>We've tuned various timeout parameters on the client library to make sure we're not hitting any of them. The issue actually seems to be unreliable mobile connectivity.</p>
  
  <p>I'm thinking about strategies for making the upload reliable even when faced with poor connectivity.</p>
  
  <p>The first thing that came to mind was to break the file into smaller chunks and transfer it in pieces, increasing the likelihood of each piece getting there. But that introduces a fair bit of complexity on both the client and server side.</p>
  
  <p>Do you have a cleverer approach? How would you tackle this?</p>