January 27th, 2016
The strange thing about the iPad/iPhone is how difficult it is to get files off it on to your PC. In fact, you’re pretty much forced to use itunes and a cable. But that isn’t a very satisfactory solution and flexible solution in the modern, wifi connected, world. Even the introduction of Airdrop to the iOS7 doesn’t enable you to wifi your files over. There are solutions that let you connect to the iOS device from the computer and “Pull” some files off over wifi – but that’s not quite what I wanted.
WHAT IS SEND TO PC?
Send to PC is different in that it involves an iOS app and a piece of software that runs on the PC. This bit of software acts as a server which the app can then connect to to pass files across. In this way we reverse the usual experience and present a more airdrop like environment.
The server component of this software is quite simple. It’s coded in VB .net and is simply a TCP stream receiver. For ease, it uses the HTTP protocol. Once a file is received the program either saves the file (adjusting the filename if necessary) into a folder or opens it up – depending on a user’s predefined preference. Some checks are made here to block executable files.
The server component also includes a UDP element to announce itself and to respond to requests from devices looking for computers to send files to. The component replies with its name (as defined by the user). This restricts our usage to single VLAN/Flat networks. Although the intention is to also integrate Bonjour service announcement in the future.
The bulk of work is within this app. This uses UDP to send a request seeking potential targets and lists these for the user. To handle different kinds of files the app can be seen as being able to be in two modes. The first mode is where the user has initiated the app from the icon. This allows the user to select the PC and then choose a photo or video from the media library on the device, which is then passed to the PC.
More files than just photos/videos exist on the device though. However, we are hampered by file sandboxing. Many apps support the “Open in another app” featured, which copies the file across sandboxes. The app utilises this feature to enable the user to send other kinds of files. To do this the app registers as capable of handling all known filetypes, thus making it show up for “Open in another app” on all occurences. When the Send To PC app is chosen it keeps track of the file and sends this file when a computer is chosen. From a user perspective they are then able to send a file from another application, such as keynote, to the PC!
Details of the component and app can be found on www.transferipadfiles.com .