One of the recent GearVR projects we did involved an APK that had over 350MB of video files embedded in it. Needless to say that it was really getting tedious to make a change and upload the APK – which took about 2 ½ minutes on average. This really ate into our debugging process. And before you say it, we were using a pre-loaded video file for most of development (this is a best practice for app development), but when you are working on the “final” build, you’ve turned off all the short-cuts that you’ve implemented to speed development and are working on the “final” version. Now upload was taking only a short part of the overall build process, but one of the tweaks we decided to implement from the the project post mortem was to do anything that would speed the editing-debugging cycle. It turns out that the variety of devices we have on hand exhibit a wide selection of upload speeds.
It turns out that we could take our old GearVR development platforms – the precursor to the Note 4’s – the Samsung S5 “Moonlight” (which had their own headsets) and use them for development platforms for our current project. In fact, since the S5’s came with USB3 plugs, we did some investigation on if it was possible to enable a high-speed USB3 connection. Turns out, it is possible. (Thanks to Nick Fox-Geig for pointing out the USB 3 ports!)
If you connect up an S5 with a USB 3 cable, you’ll need to actually connect it as a USB 3.0 Media device – this option will only be available if you are using a USB 3.0 cable on a USB 3.0 capable socket. You’ll then see this option become available.
I should not that this is a bit deceptive, as the USB 3.0 capability will auto-shut off after about 5 minutes.
I should note that when we were iterating on the video, we had a specialized video viewer app that the art department would upload the video to the device, and the app would then look for this video and run it. We’ve since made this part of our standard methodology of pipeline review when we’ve got a largish video that is in a process of iteration – thus the dev team does not need to get involved.