By Werner Ruotsalainen on Wed, 07/13/2011
UPDATE (20:15 CET, the same day): a reader at MacRumors, Night Spring, has mentioned I've forgotten to point out the other and, in this case, Phone Disk-less and even Windows-friendly way of quickly transferring a complete directory structure to GoodReader running on the iDevice: zip all the files up into one big ZIP file and drop it into the File Sharing frame of GoodReader in iTunes. I've even prepared a video showing this:
Then, on the iDevice, in GoodReader, just tap the newly transferred ZIP file and let it decompress.
This doesn't require any kind of an iDevice file manager app – you can compress a directory in OS X Finder (as is shown in the video) or in Windows' Total Commander, both without installing any third-party apps.
Note that GoodReader supports HUGE archives – you can throw even a 700-800 Mbyte ZIP file at it (on an 512 Mbyte machine like the iPad2), it'll happily decompress everything in it. That is, in most cases, you can just ZIP the rot directory of the entire directory structure you'd like to transfer and you're set. It's pretty easy, isn't it?
Of course, the point of the whole (original) discussion still remains valid as GoodReader is only of the (several) apps that allow using subdirectories. There are a lot of similar apps (e.g., multimedia players) that don't support recovering a full directory structure by simply decompressing the contents of a ZIP file. It's then that you may want to stick with using Phone Disk (if you're on OS X), unless you jailbreak your iDevice so that all file accessor tools can access the writable subdirectories of your applications.
Original article follows:
Before I publish my forthcoming, huge “File system accessor and third-party synchronization tools – the Roundup”, let me give you a REALLY good tip widely usable in real world and not published anywhere else before by anyone else.
I tend to keep a lot of reference PDF files on my iPads. They are of tremendous utility when, say, lecturing on iOS programming or asked a specific question. Then, if I am not able to answer without external help, I still generally remember which book (if any) I've read the question of so I can quickly look it up.
If I only have one of my iPads around (and not my MBP with its superfast built-in, multi-document searching capabilities offered by SpotLight*), then, I have to locate the PDF file first in GoodReader (the most useful PDF reader on the platform), and, then, commit the search once inside the book. Note that iAnnotate PDF and iRead PDF (both by Aji Ltd) are capable of searching in more than one book. However, as of the most recent version (released about a month ago, in June 2011), they are still unable to search for compound strings with one (or more) space(s) in them, unlike GoodReader (more info on all this HERE). As I prefer searching for compound strings, I, therefore, prefer GoodReader.
*: Speaking of the iOS and the OS X differences in SpotLight, Apple really should add the ability to search in files in third party apps' directories or even that of Apple's own iBooks. Unfortunately, not even the latest (iOS5 beta3) version supports this. Too bad Apple hasn't added this, while it's been present in OS X for ages.
In order to quickly find a PDF document (of the, sometimes, hundreds), I prefer keeping them nicely organized in subdirectories. An example directly structure I use:
OpenGL\Outdated now with a newer edition
(As you can see, I even keep older versions of a book nicely separated in a subdirectory; this can be handy when I remember having read something in an older edition of a book and want to look it up quickly.)
It's, however, a real chore to actually build this directory structure in GoodReader because, even as of the latest, just-released iOS 5 beta3 and its accompanying iTunes version, it's (still) impossible to drag directories into the File Sharing area of iTunes. That is, if you drag a directory (with PDF files inside) to iTunes, it just won't be transferred. If the source directory is expanded and the files are also dragged, they do get transferred – but into the root directory structure on the iDevice.
Recreating a multilevel directory tree inside GoodReader and moving PDF files in there is really a long process. (Did I mention you can't drop files into existing directories in iTunes either?):
1. You drop a directory-ful of PDF files into GoodReader in iTunes. (Not more so that you don't need to decide “which file should be put in which directory”. Just transfer all the files in one directory at a time.)
2. Tap Manage Files, then New Folder. Name it. (If it'll be a subdirectory in another directory, you go there first, before tapping Manage Files.)
3. Select the PDF files you'd like to move to the new subdirectory and tap Move
4. Select the target directory in the pop-up window and tap “Move X item(s) here” in the lower right. (Incidentally, you can also create subdirectories here, with the lower left “New Folder” button; then, you won't need to create directories as explained in Bullet 2)
Phone Disk to the rescue!
If you use a capable(!) file copier tool like the Mac OS X version (but not the Windows one!) of Phone Disk, you can create the directory structure on your desktop and just drop the entire thing in the Documents directory of the GoodReader app on your iDevice and you're set. The time difference is tremendous: I could have saved hours(!) of my life wasted on GoodReader organization if I had known of these tricks before particularly because I, generally, refuse simply updating my devices – I love completely initializing [Restoring] them to make sure there aren't any leftovers causing bugs, slowdowns etc. (Yes, the old Windows Mobile way of updating.)
Yes, all this even without jailbreaking.
Currently, the easiest way of doing this is using the above-mentioned Phone Disk by Macroplant, which is, in my opinion, a must if (and only if!) you have a Mac computer. (It can't transfer files to individual applications' directories under Windows unless you do jailbreak the phone / iPad; therefore, I do not recommend it for Windows users.) I've thoroughly tested all the alternatives and found out that, unless you do jailbreak your device (opening the way to access the whole file system for “traditional” file accessor tools), Phone Disk is the only way of doing this easily and quickly. Well worth the price – if and only if you're under OS X, that is.
I've created a demo video of all this in action. The source directory (the one I transfer to the iPad) is as follows:
Transferring it to the device is done the following way:
In the video, I needed to restart Phone Disk two times. Unfortunately, it's pretty much bound to crashing (even the latest version). However, this only happens when you either change the connected device (unplug one and plug in another) or change the mount point (the directory it connects to). Nevertheless, regardless of this (in my opinion, minor and easy-to-live-with) problem, it's still the best tool for this kind of complete directory transfer. In addition to crashes, you will often want to manually quit it and restart when it doesn't notice a device plugged in. (It just shows “No iPhones connected...” instead of the name of the iDevice and its taskbar icon is also gray [disconnected] instead of yellow [connected]. If you encounter situations like this, just choose “Quit” from the context menu of the taskbar icon.)
BTW, this (Phone Disk needs to be frequently restarted) is why I've moved the “PhoneDisk” icon from Applications to “Places” in Finder so that it can be quickly restarted.
The most important thing is to switch the “Mount point” from the default Media (which allows for browsing the photos in Camera Roll, the voice notes on devices with a Voice notes app built-in etc.) to the application, that is, GoodReader. This is done at 0:15, and, after the crash, at 0:33 in the video. After the second (successful) mounting attempt, I switched to the new removable drive and stepped in the Documents subdirectory there (0:39). Then, I just dragged the files from another Finder window to this Documents subdirectory (0:45). File copying started; after this, I just show you some of the source directories (there are quite a few subdirectories there...) so that you can have an idea of why this kind of full directory structure transfer makes one's life much easier.
After the transfer, the copied directory structure shows up in GoodReader as it should:
Note that this kind of directory transfer can not only be used for GoodReader or, more broadly, PDF / document readers with subdirectory support, but also a lot other types of applications; for example, media players. This can be very handy if you want to
1.) synchronize your media library with more than one desktop computer and you run into the problem of “only one desktop computer can transfer media to an iDevice at a time”. This problem is particularly painful on the iPhone, where there can't even use third-party tools like the excellent, OS X-only (for Windows, use SyncPod of the same developer; note that I don't recommend the OS X version of SyncPod that much; I'll explain in my forthcoming article why), free FreeSync by iSkysoft. On the iPod touch / iPad, you can add media files (both audio and video) to your media library from any number of desktop computer (with, for example, the above-mentioned SyncPod (Win) / FreeSync (Mac)), but they do get deleted the next time you sync with your “home”, main computer officially linked to your media library on your mobile device. And, again, this all can't be used on the iPhone, only on the non-phone iOS devices.
2.) want to listen to / watch audio / video files not supported by iTunes or don't want to transcode them to avoid quality loss / don't want to waste time on transcoding. E.g., GoodPlayer can natively play WMA files, which is a pain in the back to even convert in iTunes under OS X. (Generally, you need to use a Windows box and run the Windows version of iTunes to convert WMA to AAC.)
3.) the built-in iPod / Music player is plain incompatible with your AVRCP headphones. For example, starting with iOS 3.1, resuming playback has never worked on the excellent Bluetooth A2DP headphones Plantronics Pulsar 590 (it doesn't work in iOS5 beta3 either). With AVRCP-capable players, this problem can be fixed; for example, resuming in AVPlayerHD works just fine with this particular headphone model.
Nevertheless, you won't want to use these third-party players as a regular one, only when it's absolutely necessary (in cases shown in previous bullets). Some of they don't support the system-level iPod playback controls (on the lock screen and, with at least third-generation small-screen devices and the iPads, the controls in the bar accessible via double-pressing the Home button), including AVRCP (remote Bluetooth control when listening to music via a A2DP headphone). They don't support the built-in equalizer in Settings at all. Some of them don't even support being sent to the background when playing back audio (only). For example, GoodPlayer can't be backgrounded; some other third-party players that can:
a.) OPlayer HD by olimsoft (this doesn't make use of the system-level playback controls)
b.) BUZZ Player HD by BUGUN Software (this can't play back WMA)
c.) AVPlayerHD by EPLAYWORKS.Co.Ltd (here, it must be enabled explicitly; see Settings / Use Multitasking; also note that this app has problems with resuming WMA playback, unlike OPlayer HD by olimsoft; nevertheless, it does make use of the system-level playbacks controls, unlike OPlayer HD)
(Note that I'll soon publish a HUGE article “Everything you'll ever need to know about media playback on iOS”; in it, I very thoroughly compare these apps - in these regards too.)