Available Now! Transfer any File with a Zune

Published 10 July 07 08:30 PM | adrian

Transferring any file using Zune wireless capability is not a new thing. It's been around for a few months. But the trick is, you'll need to sync together a set of images with the file you're transferring. From what I've heard, it's not even 100% working. Sometimes it works, sometimes it's just not.

I've came up with an idea of embedding the file you're transferring inside an image metadata, in this case EXIF. Looking around, I've found several pieces of code that when combined together would enable this JPEG-with-file-embedded-in-EXIF-metadata. Unfortunately, this works for a limited size file, namely around 64K.

I've then tried another, simpler workaround. This time, I've appended the file to a place after the original image. I've also embedded the file size into the EXIF metadata for decoding. The result, a HUGE image capable of carrying any file.

To date, I've successfully embedded and synced (although not yet transferred) an image file containing Virtual PC 2007 installer (size around 30M). Anyone with a Zune nearby can try my program and send me a feedback.

I've attached the program into this post (called zic.exe - short from Zune Image Container). A short manual follows:

  • This is a console application. For those who didn't know what a console application, it's like a lovely DOS app with text as the only interface. You don't get icons or menu bar.
  • To embed a file into an image, type the following in your command prompt (without the quotes): "zic encode original_image file_to_embed". original_image is the path (I recommend 8.3 file name) to a JPEG image as the container, file_to_embed is the path to any file you want to embed into the JPEG image. The result of this operation is a file named file_to_embed.jpg. So if you type "zic encode icon.jpg setup.exe" the result would be "setup.exe.jpg".
  • To retrieve an embedded file from a JPEG, you type the following: "zic decode embedded_image". embedded_image is the file from the above point. If you type "zic decode setup.exe.jpg" the result file would be "setup.exe" (back to the original).
  • I haven't added support for spaces and special characters in the filename(s), so I encourage you to use 8.3 format.

Now, on to v.next. I'm planning on creating a plugin for Zune Software, which you can drag and drop any file not recognized by Zune Software (say, .exe, .msi, .doc) and reroute it to the program that generates a .jpg image to sync.

P.S.: the original image is still viewable from the Zune. This creates a unique opportunity to embed the file's icon (just like in Windows Explorer) so that users can easily identify the file they're looking without reading the filename.

UPDATE 11/07/07: It seems I left some debugging code that breaks the whole app. Please redownload for the correct version.

Share this post: | | | |

Comments

No Comments