In fact, Apple seems to not want us to think about files and file systems at all. But, the fact is that the rest of our computing environment is dominated by traditional ideas of file systems and files. In any case the result is that we have limited abilities to transfer files to, or from, our pretty wonderful iOS devices.
I've tried a number of file transfer methods to either retrieve data off my iOS devices, or insert data into them. None have been entirely satisfying, primarily because we're talking about Apple's design abstinence.
In any case the challenge my girlfriend gave me was - can she easily transfer a video or audio she had on her laptop over to her iPhone, so she could carry the phone around listening to something-or-other while she's doing other things.
In the past we'd worked up a solution using a box.net account. The box.net application for iPhone/iPad lets you designate certain files as "favorites" that are then persistent on the device. You can then take the device elsewhere, like an airplane, and still play the video or audio. While that worked for her, it was complex and took extra time. You had to first copy the file to a cloud storage service, box.net, and then copy it back to your device.
What we wanted was a SIMPLE way to copy video/audio files DIRECTLY to the iPhone, and a way to play them. It also needs to play pretty much anything, because it's confusing to know which files need transcoding for playback on iOS, and even how to transcode video files.
That's a tall order, but fortunately a solution exists. Better yet it relies on open source software.
VLC, the video application for Linux systems, has grown up considerably and is now available for Mac OS X and for iOS devices and perhaps other devices as well. The VLC for iOS player installs easily on any sized iOS device. You can also visit their website, VLC for iOS on videolan.org for more information.
After launching the VLC for iOS app, tap on the VLC icon in the upper left corner and the menu of options shows up. Tapping on "all files" or "TV" or "Music" shows you different kinds of files available on the device. I haven't plumbed all the app can do, but have focused solely on the file transfer capability.
Obviously the VLC app can connect with some kind of streaming service, and maybe even a media center server.
Tapping on the WiFi Upload option and it enables a little webserver, in my case at http://10.0.0.8. Connect with the URL provided using your desktop computer web browser and you'll be greeted with a screen like this:
You can then either drag files to this window, or select them from the file system, and they'll be transferred to the VLC app on your iOS device.
Once the transfer is finished, tap on the All Files choice and the file will be available. Tap on the file, and it plays. Well, assuming it's a file VLC can play. Obviously as a video player, it doesn't make sense to upload an Libre Office spreadsheet, or a PDF, to the VLC app because showing those kind of files are not within its capabilities. VLC may also be limited in the video formats it plays, I haven't checked yet, and the videolan.org website should have more information. They do claim these features:
- Play all files, in all formats, including exotic ones, like classic VLC media player.
- Play MKV, multiple audio tracks (including 5.1), and subtitles tracks (including SSA!).
- Support for network streams, including HLS, MMS or RTSP.
- Include video filters, playback speed manipulation, and fine seeking.
- A video media library, with WiFi Upload, Dropbox integration and optional passcode lock.
- Integration for bluetooth headsets and AirPlay.
- Local Network service discovery with UPnP
- Supports iOS 5.1 or later including the first iPad.
- Completely free, libre and open source.