O'Reilly Hacks
oreilly.comO'Reilly NetworkSafari BookshelfConferences Sign In/My Account | View Cart   
Book List Learning Lab PDFs O'Reilly Gear Newsletters Press Room Jobs  


 
Buy the book!
Mac OS X Panther Hacks
By Rael Dornfest, James Duncan Davidson
June 2004
More Info

HACK
#47
Rendezvous Picture Transfer
Everybody is using their Mac for storing and sorting photographs. But what if the device you want to get a picture from is connected to a different Mac? Rendezvous to the rescue!
[Discuss (0) | Link to this hack]

There are many clever features in Mac OS X 10.3 that don't appear on the cover of Apple's Panther page. One of my favorites is the new Image Capture application that enables you to network images directly from your digital camera to others who can view them with a Rendezvous-enabled browser. At first, this might seem more like a cool hack than anything truly useful. But depending on the features of your camera, this hidden Panther gem could bring new enthusiasm to your digital photography.

Our old friend, Image Capture (http://www.apple.com/macosx/features/imagecapture), is at the core of this digital wonderment. While iPhoto gets all the headlines, Image Capture continues to work under the radar and improve with each version of the operating system. Panther includes Version 2.1.0, and I think you'll be impressed by some of its new goodies.

I first saw a discussion about some of these features on the O'Reilly Mac Editors list that I follow. Then, I heard that David Pogue was playing with remote capture, and he included a demo in his keynote at the Mac OS X Conference (http://www.macdevcenter.com/mac/osx2003/), while I configured the remote camera. Later that day, he did the same demo on Tech TV. David focused on the "babysittercam" aspect, and he documented his findings in this follow-up article for his Tech TV appearance (http://www.techtv.com/screensavers/howto/story/0,24330,3559134,00.html). By the way, his demo was a big hit at the conference.

But now I'm going to broaden the conversation considerably and show you how to combine Image Capture and Rendezvous to add new flexibility for making your pictures available to others, as well as taking snapshots remotely. As a bonus, I'll show you how Mass Storage Device digital cameras can be used to easily broadcast any picture from your Mac over a Rendezvous network.

Setting Up Your Computer

Rendezvous should automatically be enabled on your Panther computer. You can check it by launching iChat and making sure you're logged in. Then, go to other computers on your network and open Safari. Add the Rendezvous button (shown in ) to the Bookmarks Bar (Preferences→Bookmarks→Include Rendezvous). This will come in handy once you start to actually broadcast images.

Figure 1. The Rendezvous button on Safari's Bookmark Bar

Now, launch Image Capture on your Mac. It's right there in your Applications folder. Open Preferences and click on the Camera tab at the top. Set the drop-down menu option to "When the camera is connected, open: Image Capture." This will prevent you from having to deal with iPhoto launching every time you plug in your camera. (This can be an irritating nuisance when you don't want to use iPhoto.) You can, of course, still use iPhoto by launching it manually when you do need it.

Connect your digital camera, put it in Playback mode, and turn it on. Go back to Preferences and now click on the Sharing tab (). Check all of the boxes, and you should see your camera appear under "Share my devices." Click the OK button to close the Preferences dialog box.

Figure 2. Enabling Rendezvous sharing in Image Capture's Sharing preferences

Now, go to another Rendezvous-enabled Mac on your network—it doesn't have to be running Panther; it could be running Jaguar—and open Safari. Click on the Rendezvous drop-down menu in the Bookmark Bar that you previously installed, and look for your shared device. You should see a Rendezvous-shared "page," as shown in , just like that of any other computer in the vicinity.

Figure 3. A digital camera found via Rendezvous.

Choose the page, and before you know it, you'll be looking at the pictures directly from the memory card on the remote camera! You can browse in thumbnail view, or, if you want to see a little metadata too, switch to list view for cool information such as file size, date captured, dimensions, bit depth, DPI, exposure, f-stop, flash setting, and color space. If you double-click any of the thumbnails, you can look at an enlarged view that will be constrained by the dimensions of your browser window.

But wait; there's more. You can actually download the image to the Rendezvous-connected computer and save it to your hard drive. And if you don't like the picture, you can delete it from the camera directly from the browser.

TIP

If it's not your camera you're browsing, you might want to show some restraint with this feature.

If you connect a second camera to the Mac, Rendezvous will broadcast it too, and users can toggle between both cameras (as shown in ) and view the images on each of them.

Figure 4. Toggling between multiple cameras in Rendezvous

Taking Pictures Remotely

Viewing pictures directly from the memory card of a remote camera is certainly useful and interesting. But with certain current models of digicams, you can also use Rendezvous-enabled Image Capture to actually fire the camera from any computer on the network. Once the camera records the image, it is then added to your browser window alongside the other images on the memory card.

Here are some of cameras that have this capability (thanks to David Pogue for this list):

  • Canon A60, A70, S400, S50, and G5

  • HP C618 and 912

  • Kodak DC280, DC4800, and DC5000

  • Nikon D1, D1X, and D1H

I tested this functionality with a Canon S400 Digital Elph, and the results were compelling, as shown in . Image Capture instructed the camera to set the zoom to 7.4mm (the wide-angle setting), turn on the flash, and set the shutter speed to 1/60 of a second and the aperture to f-2.8. The camera used the assist light to focus before firing off the exposure. It also used the image resolution that I had previously set. The remotely fired images looked great. Very impressive.

Figure 5. Firing the camera from the remote computer over Rendezvous

TIP

If you want the pictures to render faster on the screen, you can lower the resolution to 640 480. But don't do this if you plan on using these images later for prints; you won't have enough pixels for a decent enlargement.

You'll notice that next to the Image Browser tab there's another one called Remote Monitor. If you click on it, you go to a new window and the camera starts firing shots once a minute and displaying them on the screen. It doesn't save them to the memory card; rather, they are displayed only on the computer screen until they're replaced by the next shot.

There is a Preferences switch on the left side of the window. In theory, it allows you to change the frequency of the camera firing, but it didn't work for me. Once I clicked the Preferences switch, my Mac asked me for a Shared Name and Password. I provided the correct information, but it was repeatedly rejected. So, the moral of the story, at least with a Canon S400, is to be happy with once-a-minute automatic firing, or use the control button in the Image Browser view to shoot pictures manually.

More Flexibility with Mass Storage Devices

So far, Rendezvous image sharing has been limited to pictures stored on the memory card or displayed from the camera right after exposure via remote firing. But what if someone you're chatting with in iChat wants to see a collection of pictures that you have saved on your hard drive?

You could send the images one by one (or in a compressed archive) via iChat and let the person open them on her computer. But it's a lot more fun (and easier) for your audience to view them in a browser window as thumbnails and enlarge or download only the images that interest them.

I connected an Olympus C-5050Z, which has USB Mass Storage capability, and tried adding pictures from my iPhoto album to the camera, then sharing them over Rendezvous. (Olympus calls this capability auto connect.) As shown in , it worked!

Figure 6. Pictures uploaded from iPhoto to a camera, then shared via Rendezvous

The first two pictures were taken with a different camera, the Canon S400, and copied from iPhoto to the Olympus C-5050Z. The Olympus displayed the S400 images right alongside the ones taken with the C-5050Z. Cool!

Here's the procedure for sharing images from your hard drive with a USB Mass Storage camera:

  1. Connect the camera and turn it on.

  2. When the device icon appears on your Desktop, open it and navigate to a folder that contains pictures.

  3. Drag pictures from your hard drive into the folder. They will be copied to the camera's memory card.

  4. Turn off the camera, and then turn it on again.

  5. Open Preferences in Image Capture, and share the device.

  6. View the complete image catalog from a Rendezvous-enabled browser.

WARNING

Make sure you've already downloaded the native pictures that are already located on your memory card. There's a chance that, after you disconnect the camera, you'll get a memory-card error message and have to reformat the card. This happened to me only once during many tests, but beware and be prepared.

Real-World Use

For me, these new capabilities are going to be a handy way to distribute pictures to others directly from my camera. For example, I'm often asked to snap shots at work, which I don't mind. But I do hate uploading the images to my Mac, sorting through them, and sending the images that I think the requester might want via email.

Now, all I have to do is connect my camera and turn on Rendezvous sharing. Everyone can view the catalog in their browsers, grab the shots that they want, and I don't have to do a thing. Later, I can upload the pictures to my computer, if I want, at my convenience.

You'll need Panther on the computer that you use to serve the pictures. But any Rendezvous-enabled browser on the local network can view and download them. I successfully tested this functionality with an Olympus C-5050Z, Canon S400, Canon G2, and EOS 10D.

One thing to keep in mind is that your camera remains powered up while it's serving pictures across the network. If you have an AC adapter, this would be a perfect use for it. I don't have one, so I keep an extra battery on hand. I didn't run out of juice on any of the cameras while testing these procedures, so the drain rate must not be too bad. But, as with everything else in digital photography, be prepared; otherwise, you will certainly run out of power at the worst possible moment.

As for firing the camera remotely with this set up, well, it's fun, but since I don't have as much control over the camera's settings as I'd like, I don't see it as useful as the image-sharing functionality. But it makes for a great demo, and you might want to keep it in mind as an impressive Panther trick to show off Apple technology.

You can also use Image Capture to control scanners and share the images over a network. But that's another hack altogether.

Derrick Story


O'Reilly Home | Privacy Policy

© 2007 O'Reilly Media, Inc.
Website: | Customer Service: | Book issues:

All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.