RobGalbraith.com
Go to advertiser website.
     Home
     RSS
     CF/SD/XQD
     About
     Contact
Go
Go to advertiser website.
 
Review: blueSLR remote trigger and geolocation system for Nikon  
Thursday, January 27, 2011 | by Rob Galbraith
There's no shortage of GPS units for digital cameras out there, especially for Nikon shooters. From the company's own GP-1 to third party units from Dawn, foolography, Solmeta and more, owners of Nikon digital SLRs can select from a smorgasbord of geolocation device options. Few offer remote camera triggering as well, while only one that we know of, the blueSLR module and app from XEquals, turns an iPhone or other iOS device into the trigger unit. The potential benefit of this approach is cool: if your phone is an iPhone, then you'll almost always have your wireless remote trigger close at hand.

Introducing blueSLR

blueSLR is a combination of Bluetooth module and companion app for the iPhone, iPod touch and iPad that enables Nikon digital SLRs to be wirelessly triggered with the press of an on-screen shutter button within the app. The app also passes geolocation data to the camera, which in turn embeds the information into the EXIF data of pictures as they're shot. The photos below show the version of the module for Nikons with a 10-pin remote port, plus some of what you'll see on the camera when blueSLR is active.

Open in new window
Open in new window
Side Saddle: The XEquals blueSLR module for Nikon digital SLRs with a 10-pin remote port, left, and attached to a Nikon D3S, right. Click photos to enlarge (Photos by Rob Galbraith/Little Guy Media)
Open in new window
gps_position_menu.jpg
Iconic: When blueSLR is active a GPS icon appears on the camera's top LCD display. Click to enlarge (Photo by Rob Galbraith/Little Guy Media) We're Here: The Position submenu in the GPS menu of a D3S with blueSLR in use

Launched last month, blueSLR is a two-trick pony that sets itself apart from other GPS/remote triggering options by turning the phone you have with you into the trigger unit. As long as your phone is an iPhone, though support is planned for Android and Blackberry devices in the future. We've experimented with GPS and Nikon cameras before, but blueSLR is the first such system I've personally wanted to get to know. Its geolocation abilities were secondary. The main draw was the idea that with the blueSLR module attached to the camera and my iPhone 3GS on my hip, remote triggering would always be an option, whether on assignment or at play.

blueSLR is the only product we know of that offers geolocation embedding and wireless remote camera triggering from an iOS device and that doesn't also require a computer, which makes it potentially very appealing. If it works, which is what we set out to learn.

All but the D3000 in Nikon's current digital SLR range supports the embedding of location information and provide a way to connect an external shutter release. Both functions are handled through the same port on each camera model, from the D3100 to the D3X, but there are effectively four different port variants in Nikon's existing digital SLR lineup. XEquals has released modules for three of the four port types, with a fourth in the works. The three released modules and the cameras they support are:
  • blueSLR for Nikon Essential DSLR Connects to the GPS port of the D3100 and D5000
  • blueSLR for Nikon Advanced DSLR Connects to the GPS port of the D90
  • blueSLR for Nikon Professional DSLR Connects to the 10-pin remote port of the D2Xs, D3, D3S, D3X, D200, D300, D300S and D700
Conspicuously absent from the list is the D7000. While it features the same GPS port as the D90, XEquals' Derick Cassidy indicates the D7000's port is turned 180, relative to the D90. This means the module that fits the D90 sits upside down on the D7000. This prompted the need for a fourth module, one that will be for the D7000 exclusively. Cassidy says the D7000 module is in development but no release date has been set.

The other half of the blueSLR equation is the blueSLR app, which is a free download from Apple's App Store. As the brains of the operation it handles the gathering of geolocation data from the iOS device and pushing that over Bluetooth to the blueSLR module, remotely triggering the camera as well as setting blueSLR preferences such as how often the module receives fresh geolocation data or how long a burst of pictures should be captured when the app's electronic shutter button is pressed.

Though rudimentary in its design, the app offers some nice touches too, such as its ability to keep feeding geolocation data to the module even when the iOS device's screen has been manually or automatically locked.

blueSLR_on_iphone4.jpg
On the Go: Version 1.3 of the blueSLR app running on an iPhone 4

The blueSLR app is meant for the following iOS devices:
  • iPod touch (2nd, 3rd and 4th generation)
  • iPhone (3G, 3GS and 4)
  • iPad
iOS 3.1.3 or later is required. If your device is running iOS 4, make sure that it's at least v4.2.1. Bluetooth support in earlier iOS 4 versions is buggy in ways that directly affect communication with the blueSLR module.

We'll talk more about the app's specific features and performance in the remote camera triggering and geolocation sections ahead. Here we'll say that it launches quickly, links reliably to a paired blueSLR module in no more than two or three seconds, is stable and works as advertised. XEquals' Cassidy says that a lot of effort went into ensuring the app would be crash-free, and it shows: the current release of the app, v1.3, has been solid, and it does serve its intended purpose.

It would, however, benefit from an overhaul of the user interface. For instance, it presents only in horizontal orientation, which seems odd given that an iPhone or iPod touch is most comfortably held vertically while using the app, plus the bulk of the interface is reserved for displaying location information with no option to change things up so the shutter and settings buttons could be larger (a bigger shutter button would make it easier to press when not looking directly at the device). When the app is active the top bar of the iPhone or iPod touch's interface isn't shown, which means to check the time, battery life or Bluetooth status it's necessary to leave the app.

Remote camera triggering

To us, and probably many of you too, Bluetooth has long been synonymous with short range. Not so with blueSLR. Completely reliable line-of-sight triggering from an iPhone 3GS to the blueSLR module has been possible at distances of about 200ft/61m, while an iPad managed about 230ft/70.1m in the same test. The system will successfully trigger through multiple office walls, from the basement to the second floor here at Little Guy Media HQ and from across a large gym filled with volleyball players. For pretty much any remote triggering use for which we might consider blueSLR, it will clearly have the range and reliability to do the job. This is a pleasant surprise we had not expected from Bluetooth, even with longer-range Class 1 devices like the blueSLR module, iPhone 3GS and iPad.

blueSLR won't, however, replace a pair of PocketWizards for triggering remote sports action cameras. The blueSLR's firing delay is approximately 150-200ms. This figure is an approximation derived from a crude stopwatch test, but it gives you an idea of the slight lag you'll feel after releasing the blueSLR app's shutter button, even with autofocus switched off at the camera. The lag introduced by a PocketWizard, by comparison, is less than 1ms, which is the same as saying there's no transmitter-induced lag at all.

For the many situations in which hyper-responsive triggering isn't required, though, blueSLR's slight lag is just that: slight.

The blueSLR module's Bluetooth component can remember up to 16 iOS device pairings, to allow it to quickly relink with whatever combination of iPhones, iPod touches and iPads you want to use it with.

It can be actively connected to only one iOS device at a time, while the blueSLR app can similarly communicate with only one blueSLR module at a time. If you need to trigger multiple cameras from one transmitter simultaneously, blueSLR won't do this. If you need to trigger one camera from multiple transmitters in a single session, blueSLR won't do this either, or at least it would be darned impractical. In both instances you're back to PocketWizard. blueSLR does, however, smoothly handle connecting, reconnecting and triggering one camera from one iOS device, and this is undoubtedly going to be the most common intended usage for blueSLR.

The app enables you to simulate both a half press of the shutter button, to activate autofocus, and a full press, to take a picture, with a measure of control over how long it spends doing each of those things.

blueSLR_app_af_time.jpg
blueSLR_app_shutter_time.jpg
Quick Time: The half press (Auto-Focus Time) and full press (Shutter Time) settings screens in the blueSLR app

The half press and full press intervals, called Auto-Focus Time and Shutter Time, respectively, can be set to 100ms, 200ms, 500ms, 1s, 2s, 3s, 4s, 5s and 10s. If either setting is turned off, then the app falls back to a default value for each that's in the neighbourhood of 400-500ms. Or at least it should: version 1.3 of blueSLR contains a bug that prevents the app from switching back to the default value for both Auto-Focus Time and Shutter Time. Instead, it continues to use the last-stored value for each setting. Cassidy indicates this bug will be corrected in the next release of the blueSLR app. In the meantime, a workaround is to quit and relaunch blueSLR.

We're not too sure when we'd want to adjust the half press interval to change how long autofocus is activated. Extending the full press interval, however, can be used to rattle off a burst of pictures or, with the camera set to Bulb, to capture a time exposure. With the D3S we've done most testing with, this works well. The only real drawback is the limited number of intervals the app provides and the fact the longest interval is 10 seconds, which is too short for typical long exposure photography.

blueSLR_app_self_timer.jpg
The app also includes a self-timer, which can be set to count down from 3s, 5s, 15s, 20s, 30s, 60s or 90s. Once the countdown time is reached the app can trigger the camera to shoot between one and 10 frames in succession.

The countdown part of the self-timer is complete with a beep tone and functions as it should. The option to shoot one or more frames in succession is at best intermittently successful, however, at least with the D3S. Regardless of whether the camera is set to capture single (S) or multiple (CL, CH) photos, it will hiccup through the sequence, often capturing no more than seven sporadically-timed frames when set to shoot 10.

We've fiddled with the Shutter Time setting and tried both engaging and disengaging autofocus, but haven't found a combo that allows the app to consistently and evenly fire off the number of frames requested.

The app also allows you to cobble together a basic intervalometer with control over three parameters:
  1. How long before the first frame is captured (up to 90 seconds)
  2. The interval between frames (up to 10 seconds)
  3. The total number of frames (up to 10)
The self-timer handles the first and third parameters, while the second - how long the camera will pause between frames - relies on the Shutter Time value. This means you can't combine blueSLR intervalometer and Bulb shooting at the same time; the camera's actual shutter speed setting needs to control the exposure time, leaving Shutter Time to effectively dictate the interval between each photo in the sequence.

All of that said, the pseudo-intervalometer function is subject to the same missed-frames error described a few paragraphs back. We have a sneaking suspicion that the missed frames and sporadic triggering problems are specific to one camera model or perhaps one remote port type, but with only a single blueSLR module at the moment we can't confirm this suspicion.

Our remote triggering experience with the blueSLR system sums up this way: triggering range is really good, while triggering reliability has been excellent as long as the multiple-frame setting of the self-timer is left on 1. This isn't a serious drawback, though, given that the intervalometer built into numerous Nikons is both reliable and more versatile than that of the blueSLR app anyway.

blueSLR geolocation

The geolocation data the blueSLR module passes to the camera comes exclusively from the linked iOS device; the module itself has no location-determining capabilities of its own. This means it's as accurate as the iOS device can muster, based on its location-finding hardware and the settings you've chosen within GPS Accuracy in the blueSLR app.

As mentioned earlier, my personal interest in blueSLR is more about remote triggering and less about geolocating. That said, we can appreciate the coolness of knowing precisely where you were when making a picture, plus having geolocation information embedded into a picture file can speed up the process of entering metadata later.

Here's what we know about blueSLR geolocation. The iOS device can determine where it is from up to three different sources: surrounding Wi-Fi networks, its proximity to cellular towers and from GPS satellites. Only the iPhone and iPad with 3G can draw on all three sources, while the iPod touch and non-3G iPad depend on Wi-Fi alone.

It's definitely a case of three being better than one, though we can see from cruising around town, alternating between an iPhone 4 and non-3G iPad as the sender of geolocation data to the blueSLR module, that the location information coming from just Wi-Fi networks is often close to the mark and sometimes right on the mark. Outside of populated areas, though, your iOS device won't know where it is unless it can snare some cellular towers and/or satellite signals. For all-purpose geolocating with blueSLR, an iPhone will be the best iOS device choice.

The blueSLR app doesn't provide a way to choose which geolocation sources it looks to. Instead, you select a desired degree of accuracy in the app's GPS Accuracy settings and the iOS, says Cassidy, does the rest, determining which sources to use and then feeding the resulting geolocation data to the app.

There are two parameters in GPS Accuracy: Accuracy and Distance Filter. The former determines the degree of location accuracy the iOS device will try to achieve, while the latter determines how far you have to move before changed location data will be sent to the blueSLR module on the camera.

Accuracy can be set to Best, 10m, 100m, 1 kilometer or 3 kilometers. In the case of an iPhone or iPad with 3G, the Best setting forces the iOS device to always try for a GPS fix (assuming it has GPS hardware of course), with a corresponding bigger drain on the battery. With my iPhone 3GS, it also eventually causes the phone to self-restart or become unresponsive, though this problem might be in my specific phone rather than something endemic to the iPhone 3GS in general, and we couldn't make the same thing happen with an iPhone 4.

On any of the other four Accuracy settings, including the 10m setting we've standardized on, the iOS itself sorts out when to use GPS, cell tower and/or Wi-Fi data. Set to 10m, my iPhone 3GS doesn't misbehave and the blueSLR app generally reports an accuracy level of +/-17m.

We've done very little experimenting with the Distance Filter setting. Set to 10m it appears to work as it ought to, sending changed location data often when the app detects that the iOS device is on the move.

A related setting is GPS Update Frequency, which dictates how often the app sends location data, whether changed or not, to the blueSLR module. Early on, we had constant problems with location data not being inserted into pictures in the camera. The source of the problem was an update frequency that wasn't frequent enough for the D3S' liking. Changing from 5 seconds to 2 seconds corrected the problem, and we've standardized on 2 seconds subsequently.

Cassidy says that some cameras can tolerate a longer update interval, hence the 1s - 5s range, and longer intervals drain the iOS device's battery less quickly too. With the D3S, though, we're going to keep it locked on 2s, and the out-of-the-box default for the app is now 2s also.

blueSLR_app_gps_accuracy.jpg
blueSLR_app_gps_freq.jpg
In Position:The GPS Accuracy and GPS Update Frequency settings screens in the blueSLR app

The app will display up to six pieces of information, depending on what your particular iOS device supports. The six are latitude, longitude, altitude, heading, speed and the time of the last location update. The latitude, longitude and altitude figures include an indication of the current accuracy level, expressed in metres.

Of the six, four are given to the camera: altitude, time of the last location update (expressed as UTC time), latitude and longitude. The latter two are displayed with three decimal places of precision for the minutes figure, for example 51 03.216'.

Enough about blueSLR settings: does blueSLR geolocation actually work? Yes. Once we'd come up with app settings that kept the D3S' link to the blueSLR module alive while also preventing my iPhone 3GS from going dead, the embedding of geolocation data in JPEGs and NEFs has worked flawlessly, both when stationary and while driving.

An example is below. The rear LCD screenshot on the left shows the information put into the picture file while photographing in front of Peter's Drive-In, a landmark here in Calgary, Canada. On the right is a screenshot of the same photo after being imported into Apple iPhoto for Mac. Click the screenshot for a larger version; in that you'll see a red pushpin has been automatically placed on the map based on the picture file's embedded geolocation data. That pushpin is no more than a few steps from where the photo was snapped.

The exact shooting location isn't pegged as accurately as this in all 35 of the photos shot over a few minutes time in front of the restaurant. But the geolocation data coming from the blueSLR app on my iPhone 3GS wasn't out by more than 20-30ft/6.1-9.1m in any of them.

gps_loc_rear_lcd_menu.jpg
Open in new window
In Camera: A photo's embedded geolocation data In iPhoto: The same photo, displayed and automatically mapped in iPhoto for Mac. Click to enlarge

iPhoto is one of many Mac and Windows programs that can interpret geolocation data. If you want to try this for yourself in the program of your choice, download a ZIP archive containing the original JPEG and NEF of the above photo.

Observations and tips

blueSLR is designed to pass geolocation data to the camera and to trigger it, and it does those two things pretty well. If you're considering a blueSLR purchase, however, there are a few more things you'll want to know. Okay, make that more than a few.

iphone_bluetooth.jpg
Pairing Before the blueSLR app can communicate with the blueSLR module, the module has to be paired with the iOS device. Pairing with an iPhone 4 and iPad has been quick (no pairing code is required) and painless.

Once paired with one of these devices, connecting and reconnecting has been similarly smooth. The blueSLR module will automatically reconnect to the device it lasted paired with, which means if you have only one iOS device, such as your iPhone, then whenever the blueSLR module is powered up the Bluetooth link between the two will seamlessly reestablish, usually within a few seconds.

The same applies when the iPhone goes out of range of the blueSLR module for awhile. Once back in range, the reconnect is automatic.

Changing the module's active Bluetooth link from an iPhone 4 to an iPad, or from an iPad to an iPhone 4, also has gone smoothly in testing. Once connected, the link has remained intact and active for hours without a hitch.

The blueSLR module can store up to 16 Bluetooth pairings with different iOS devices. When attempting to pair with device #17, the module clears out the oldest previous pairing to make room. There's no manual method for removing a pairing entry from the module.

An unsolved iPhone 3GS mystery In our testing of the pairing, connecting and reconnecting process, it has been nothing but sunshine and rainbows with either an iPhone 4 or iPad. The iPhone 3GS has been a whole other story. While the initial pairing went fine, attempts to switch the link to another iOS device and then back, or to keep the link active for an extended period, has led only to grief. Symptoms have included slow and erratic phone behaviour, crashes in the iOS software component responsible for Bluetooth communication (this results in the app thinking it's still connected to the module when it isn't), an inability to link to the blueSLR module at all even after restarting the phone and other hair-pulling weirdnesses.

Cassidy has been unable to duplicate the problems we've reported, and my iPhone 3GS has subsequently been given a clean bill of health by Apple, so as of now the strange behaviour is an unsolved mystery.

The good news is that none of the symptoms appear as long as my iPhone 3GS is the only iOS device connecting and reconnecting to the blueSLR module and the link isn't kept active for more than an hour or so. This isn't ideal, but nor does it really restrict how I intend to use blueSLR either. If your phone is an iPhone 3GS then you'll want to know these problems could affect you too, though it's entirely possible that - despite passing an Apple diagnostic check -  my personal iPhone 3GS is knocking on death's door and its bad behaviour stems from that fact.

Geolocation without wireless triggering When the link between the blueSLR app and module is active, and the app's geolocation option is switched on, location data will be embedded into picture files whether you fire the camera from the app or by pressing the shutter button on the camera itself. If you're mainly interested in blueSLR for its geolocation abilities, you can start the app on your iOS device, confirm the link, press the screen lock button, put the iOS device in your pocket or backpack and begin shooting as you normally would. The app will continually forward geolocation data to the camera, for as long as the iOS device's battery will allow. (Or, in the case of my iPhone 3GS, for an hour or so before phone stability problems take down the Bluetooth link.)

No app-to-module communication means no embedded geolocation data When communication between the app and the module ceases, either because the iOS device has gone out of range or because you've quit or switched out of the blueSLR app, the embedding of location data into picture files stops too. The app has to be frontmost and the link to the module active for geolocation to happen. Ideally, the blueSLR module would instead give the last known location to the camera for a period of time, five minute perhaps or a user-set interval. Cassidy indicates this isn't possible within the current module hardware.

The blueSLR module and brackets All three of the blueSLR modules ride partially or entirely on the camera's left side (the upcoming fourth module, for the D7000, is expected to do the same). If you often use a camera mounting bracket that hugs pretty close to the left side, there's a chance the bracket and module won't be able to coexist. It will come down to the adjustability and shape of the bracket.

Bluetooth insecurity While connected to one iOS device it's not possible for the blueSLR module to pair, connect or reconnect with another iOS device, which is good since it prevents accidental or even malicious taking over of the Bluetooth link by someone else's iPhone, iPod touch or iPad. But, if the blueSLR module is powered on (as it will be whenever your camera is turned on), and not actively connected to your iOS device, it sits in ready-to-pair state and will hook up with any other iOS device that comes calling.

If you're photographing the view from the top of a mountain then you've little reason to be concerned. If you're neck deep in other photographers at a press conference, however, any one of them - or in fact anybody at all within the blueSLR module's excellent range - could in fact pair and connect, which will prevent you from doing so until out of range of their device. And if they have the free blueSLR app installed they could trigger your camera. This is one potential downside to blueSLR's easy pairing process, and also reason number one for why it's not practical to leave the module attached to the camera all the time.

Battery life considerations Reason number two is camera battery life. While you can significantly reduce the drain on your iOS device's battery by adjusting the GPS Accuracy settings or by turning off the geolocation feature of the app altogether when all you require is remote triggering, there is no similarly easy way to reduce camera battery drain when the module is attached. Well, other than manually turning the camera off. But if you're old-school newspaper shooters like we are, you'll agree that when the camera is out it ought to be on or good moments could be missed.

auto_meter_off_30min.jpg
The official XEquals recommendation is to set a Nikon digital SLR's Auto Meter-Off Delay setting to 30 minutes. It's necessary to get it beyond about the 1 minute mark or the pairing process can fail, while a longer time, such as the recommended 30 minutes, will ensure the camera doesn't attempt to cut power to the blueSLR module too often. When it does the module will immediately lose its link to the iOS device, which in turn interrupts your ability to trigger the camera.

Regardless of the Auto Meter-Off Delay setting, however, it's important to know that with the blueSLR module attached, the D3S, D3X and probably other supported Nikons stay powered up perpetually. Until the battery runs dry, that is. When the Auto Meter-Off time arrives, the camera enters its power conservation mode for only a fraction of a second before powering up to full readiness again. The camera's brief sleep is long enough to interrupt the blueSLR module's link with your iOS device, but not long enough to conserve the battery.

We don't know if all three modules force this behaviour, with all compatible Nikon digital SLRs, though it seems likely that they do.

No on/off switch An on/off switch on the module itself would solve both the battery life and potential Bluetooth link takeover problems, thereby making it more practical to leave the blueSLR module on the camera most of the time. Before the blueSLR module arrived here, we had anticipated keeping it attached to a camera's remote port pretty much always, since it's the best way to capitalize on the fact that as an iPhone owner the blueSLR transmitter is never far away. The constant camera battery drain and lack of an on/off switch has ruled that out.

No secure mounting Here's one more knock against leaving the module attached all the time: there's no good way to secure it to the camera. The Essential and Advanced blueSLR modules would benefit from something like a lanyard hook and short cable, so that if they worked loose from the camera's connection port they would still be tethered to the shoulder strap rather than sitting on the ground somewhere.

The 10-pin remote socket on all supported Nikons incorporate a threaded mount, but the Professional module doesn't make use of this and instead press-fits into place. A design that provided the option of screwing on the module would have been preferable, especially since brushing up against the module while carrying the camera is enough to dislodge it.

Conclusion

If you've read this far, thank you. You've just ploughed through a whole lot of words about what is ultimately a simple product.

As you've probably figured out, the blueSLR app and module's significant strengths and weaknesses make it hard to summarize. For those who want remote triggering from an iOS device it does that well, except you can't leave the module on your camera all the time. For those who are keen to take advantage of its geolocation feature it does that well too, except that leaving the app running on my iPhone 3GS for extended periods brings the device to its knees.

Suffice it to say that a recommendation for or against blueSLR isn't possible. You do need to know what you're potentially getting into before plunking down US$149/$CDN149 for a module that fits your camera. Put another way, you'll want to decide whether its virtues fit your needs well enough to workaround the shortcomings. Or, whether it would be smarter to look at an alternative product, one that won't offer the slickness of an iOS app but might be a better overall fit for you. The most similar offering is perhaps the Unleashed series from German outfit foolography (an Unleashed overview is in an earlier story).

I've personally chosen to stay in the blueSLR game, and that's largely because of its excellent range and certain features of the app I don't want to be without. Keeping the module perpetually attached to the camera's remote port isn't going to happen, so the current Plan B is to let it ride on the camera strap instead. The photos below show how a neoprone business card holder has morphed into a carry pouch for the blueSLR Professional module (velcro tabs keep the pouch closed when the module is inside). Velcro is also going to help keep the module from slipping off when its in use.

Open in new window
Open in new window
Macgyvered: A neoprene business card holder transformed into a pouch for the blueSLR module. Click photos to enlarge (Photo by Rob Galbraith/Little Guy Media)
Open in new window
Open in new window
Sticky: Velcro on the blueSLR module and matching location on the camera body. Click photos to enlarge (Photo by Rob Galbraith/Little Guy Media)

The module is small and light as a feather, so while the pouch looks dorky it has been less obtrusive than expected. The only additional modification will be to replace the velcro closure tabs on the pouch with a metal snap.

blueSLR v2 in the works Cassidy says the next major revision of the blueSLR module series, referred to at the moment as blueSLR v2, is in the planning stages and is designed to amp up the features and functionality significantly. The module will connect to the USB port on all supported cameras, come in versions for both Canon and Nikon and provide Live View, adjustment of camera settings such as shutter speed, aperture, exposure mode and more from within the blueSLR app. The Canon version will not require one of Canon's Wireless File Transmitter units; the blueSLR module will plug directly into the USB port on the camera, he says.

No ship date for blueSLR v2 has been set, other than it's several months or more away from release.
Send this page to: Twitter Twitter Facebook Facebook Google Bookmarks Google Bookmarks Email Email
Go to advertiser website.
2000-2013 Little Guy Media. Not to be reproduced without written permission.