On the Cards

Richard Hallas considers the use of SmartMedia and CompactFlash card readers with RISC OS

In issue 6 of Foundation RISC User I discussed the use of digital cameras on the RISC OS platform. At the time that the article was written, card-reader devices, which are able to read the memory cards used by most digital cameras, had been announced for RISC OS but were not yet available for testing. Now that they have been launched, though, I would like to present some details about their use.

The basic product under discussion is called DigiFlash, and its driver software is supplied by Surftec. There are actually two versions of DigiFlash: SmartMedia and CompactFlash variants, for the two types of storage media which are used in the majority of digital cameras. Photodesk Ltd also supplies additional PhotoShow software for use with these devices.

SmartMedia vs CompactFlash

SmartMedia and CompactFlash cards both do equivalent jobs: they provide solid-state storage in a range of capacities for digital cameras and other devices. CompactFlash is the older of the two formats, and the more robust and versatile, but SmartMedia cards are smaller and have become very popular at the lower end of the digital camera market.

Left: CompactFlash; right: SmartMedia CompactFlash and SmartMedia cards

As with hard drives, the tendency is for capacities to double and prices to halve every year or so. When SmartMedia was first introduced, 1Mb and 2Mb cards were common and 8Mb seemed like a lot of storage. Now, 16Mb is widely considered to be the smallest useful size, and the current maximum size of SmartMedia available is 128Mb, with 256Mb cards being rumoured for introduction soon. Large-capacity cards are still comparatively expensive (with a 128Mb card being more than double the price of two 64Mb cards), but they're all a lot more affordable now than they were only a few months ago. For example, about six months ago, a 64Mb card could cost anything from £70 to £120; now, that capacity will cost typically £30. A 128Mb card currently costs in the region of £70 to £80.

SmartMedia is very neat and convenient, but also susceptible to damage. The cards are effectively no more than thin bits of plastic with the electronic media itself exposed to the potential danger of being touched inadvertently by sweaty fingers. They're also vulnerable to the general wear and tear of being inserted and removed from cameras and card readers. In other words, whilst they may be very convenient, don't entrust your pictures to them in the long term!

CompactFlash is definitely the more robust of the two formats. Somewhat larger and significantly thicker than SmartMedia, CompactFlash cards are wholly enclosed and thus not susceptible to the same kinds of physical and mechanical damage. They are sealed units with an interface that takes the form of a couple of rows of holes along one edge; it's not possible to touch the contacts with your fingers.

In terms of price, for the smaller cards there isn't a huge amount of difference between the two formats these days. A 64Mb CompactFlash card can be found for as little as £35, which is only fractionally more than the equivalent size of SmartMedia. Towards the higher end of the capacity scale, though, CompactFlash becomes significantly better value than SmartMedia: a 128Mb CompactFlash card can be obtained for around £60, and they are also available in larger capacities than SmartMedia. The largest capacity of standard CompactFlash at present is 512Mb; four times that of the current largest SmartMedia. A 256Mb CompactFlash card can be obtained for as little as £120, which is obviously much better value than two 128Mb cards of either format. 512Mb CompactFlash cards, though, are still very expensive at around £350.

CompactFlash is also a very versatile format, as proved by IBM with its Microdrive (not to be confused with Sinclair's atrocious tape drive of the same name from the mid-1980s!). Microdrives are not, in fact, CompactFlash cards at all, though they are supplied in the same housing as regular Type II CompactFlash cards and work with most of the same devices. They are in fact genuine miniature hard drives: their disadvantage is that, being real hard drives, they're less robust than solid-state CompactFlash cards. On the other hand, they're fast, relatively cheap and have larger capacities than most CompactFlash cards: Microdrives are currently available in sizes of 340Mb, 512Mb and 1Gb, and it's possible to find a 1GHz Microdrive for as little as £200 if you shop around. In hard drive terms that's expensive, but as portable storage for digital cameras it's extremely cheap; imagine how long you could last away from the computer, or how many high-resolution photos you could take, with a 1Gb card in your camera!

Most digital cameras at the lower end of the price range use SmartMedia cards exclusively; this is true of all three of the Olympus cameras discussed in the previous feature, and for most other Olympus models. More expensive digital cameras, though (those which start at around the £800 mark) are more likely to use CompactFlash media, which is appropriate given that such cameras generally take very high-resolution photos and hence benefit from the greater potential storage space on a CompactFlash card. Some models of camera (e.g. the Olympus E-series) can actually use both SmartMedia and CompactFlash cards.

DigiFlash readers

The model of DigiFlash that you buy will obviously depend on the kind of storage your camera uses, though if you are currently considering the purchase of a new camera then there are several advantages in choosing one of the more expensive models that supports CompactFlash.

Both DigiFlash devices look almost identical and work in exactly the same way. The only visible differences are in the size of the slot at the front and the fact that the CompactFlash version has a little orange access light on the top, which the SmartMedia version lacks. It's hence not possible to tell whether the SmartMedia reader is actually working or not, simply by looking at it. A further word of caution is that SmartMedia cards must be inserted face-down into the reader, which is the reverse of what you might expect.

SmartMedia reader Spot the difference! The SmartMedia reader is the one on the left; the CompactFlash reader on the right has a small 'busy' light on top CompactFlash reader

The physical installation of either reader is a slightly unusual process in that it involves hooking up a particularly complex cable to your computer. Data is transferred via the parallel port, but the device also requires a power source in order to work, and for this it uses the keyboard connector. So the cable from the DigiFlash reader culminates in a spaghetti-end with four plugs on it. You must unplug your keyboard cable and insert it into the new socket on the DigiFlash cable and then insert that cable into your keyboard socket. Similarly, the DigiFlash cable must be attached to your parallel port and then any plug that was there previously must be screwed into the new socket on the DigiFlash cable. This pass-through parallel port is apparently fine for use with printers, but is not guaranteed to work with certain other parallel port devices. Anyone who uses a parallel port Zip drive or other such non-printer device should check any compatibility issues with their supplier.

The CompactFlash reader with its spaghetti cabling: the single cable coming out of the device branches out into keyboard and parallel port leads, both of which split into plugs and pass-through connectors Spaghetti cabling

DigiFlash software

Once the device is physically attached to your computer, installation of the associated software is very straightforward. After copying it onto your hard drive, a small registration file with your user details (supplied by Surftec) must be placed inside the application before it will work, but then you can either run the software on demand or include it in your Boot sequence so that it's always available.

When run, the software places a new drive icon at the left of the icon bar, and cards inserted into the DigiFlash reader henceforth behave just like removable discs. You should of course remember to dismount cards before removing them, but this is a small price to pay for the inherent flexibility of having a true filing system at your disposal. Clearly, any application which can load files from disc will be capable of working directly with the new filing system, and that's a far neater solution than having to go through an intermediate stage of using a dedicated transfer utility.

The software supplied with each type of DigiFlash reader is appropriate to that reader: that is, you get the CFlashFS filing system with the CompactFlash reader and SMediaFS with the SmartMedia equivalent.

The really big difference between the two readers, though, is that, for the moment at least, the SmartMedia version is read-only whilst the CompactFlash version is read/write. It would theoretically be nice for the SmartMedia software to be made write-capable, but there's good justification for read/write capability being considered more important on the CompactFlash device. The fact that CompactFlash cards can have larger capacities, or take the form of tiny hard drives (i.e. Microdrives), makes them far more useful for different situations. You can, for example, use them in laptops via a PCMCIA adapter, or in PDAs (Psion computers from the Series 5 onwards use CompactFlash cards for storage). Having a CompactFlash reader with some high-capacity CompactFlash cards or Microdrives potentially gives you a useful amount of storage which can be used on multiple computers.

By contrast, by far the most important reason for plugging SmartMedia cards into your computer is to transfer pictures from your digital camera. It's true that some camera users may wish to write pictures onto SmartMedia cards so that they can use them to display a TV-based digital slide show from their camera. That's a legitimate reason for desiring a write facility, but one that's only likely to apply to a minority of users, and so Surftec seems to have taken the correct approach in issuing the software in read-only form, for the time being at least. A read/write version may conceivably be issued in future but, in the meantime, users with PC co-processors can still use the Windows driver software to write images to their SmartMedia cards if they require this facility.

Surftec takes the reasonable position that image management (deletion of unwanted pictures and formatting of cards) should be done on the camera, and that the reader is used just to transfer pictures quickly and easily from camera to computer. It's obviously possible to do more with the CompactFlash device, given that it's read-/write-capable, though it should be noted that there is at present no formatting software for CompactFlash cards under RISC OS; if you want to reinitialise a CompactFlash card, you'll have to do it on your camera or PDA.

As a final point about the SmartMedia reader, it should be noted that the software is not compatible with 1Mb and 2Mb SmartMedia cards. I mention this for information only; it's certainly not an important shortcoming. Such small cards are barely useful in themselves, and most modern cameras don't support them either.

Using DigiFlash and PhotoShow

As full filing systems, both CFlashFS and SMediaFS are accessed just like any other regular disc drive, and software such as Warm Silence's PhotoFiler, which replaces plain filetype icons with thumbnail images, works as expected.

PhotoFiler's ability to show a thumbnail of each image is particularly useful for users of digital cameras, but with slower devices such as floppy discs and these two DigiFlash readers, its presence can actually be a hindrance. In order to produce each thumbnail graphic it has to load the whole image file in question, and this can mean a very long wait while a directory of thumbnails builds up. Some actual timings are given below in the next section, but it's worth remembering to press <Ctrl> while opening a DigiFlash directory to prevent PhotoFiler from thumbnailing the images within it (unless you're happy to wait, potentially, for several minutes). Alternatively, you can configure the software to be disabled for particular directories or filing systems.

Thumbnail images are undoubtedly useful, and an alternative means of viewing images on your cards is to use the PhotoShow software from Photodesk Ltd. PhotoShow is in effect a modified version of the company's PhotoLink software for use with card readers rather than for linking directly with cameras. You can simply drag a directory of images from SMediaFS or CFlashFS (or indeed any other filing system) to PhotoShow, and it will display thumbnails of the JPEGs within it very quickly. As it does not have to load the whole file to produce a thumbnail, it is much quicker to present a display than PhotoFiler.

PhotoFiler display of SmartMedia card Left: PhotoFiler's display of images on a SmartMedia card; right: PhotoShow's equivalent display PhotoShow display of SmartMedia card

In more technical terms, PhotoShow expects to find 'Exif'-format JPEG images. These 'extended information' images contain their own thumbnail previews along with lots of other picture information, and PhotoShow can load these thumbnails quickly, even from a slow medium such as SMediaFS. It will ignore non-Exif JPEGs, which means that it might not be ideal for working with processed images that are stored on your hard disc, but as cameras take images in the Exif format, it's ideal for use with card readers.

Here PhotoFiler and PhotoShow are displaying images with meaningful filenames; note that photo 21 is missing from the PhotoShow display, because that picture has been rotated and resaved, and is no longer an Exif JPEG PhotoFiler display of CompactFlash card
PhotoShow display of CompactFlash card

PhotoShow displays thumbnail images with filenames (abbreviated to eight characters if necessary) in a window that can be resized in a similar way to a directory display. Thumbnails can be dragged to disc or into other applications to transfer the original images and, usefully, the full set of information provided by each Exif JPEG can be displayed in a large, scrolling information window.

Warm Silence Software is apparently aware of the possibility of loading thumbnails from within Exif JPEGs, and is considering the incorporation of this and other performance enhancements in a future version of PhotoFiler. Assuming that happens, the software will become much more suitable for use with card readers.

This very tall window is PhotoShow's Exif JPEG information window, which normally scrolls but here has been opened to full size (you'll need to click the image to view the original in a new browser window in order to see anything useful!); the Exif information tells you everything from the exposure time of the particular photograph to the software version number of your camera PhotoShow's Exif info window at full size

PhotoShow remembers which directory was used for its source images between sessions, so if you use it exclusively with a DigiFlash reader (on which the pictures will generally appear in the same, identically-named folder each time you insert a card of images), a single click on the icon bar icon will open an up-to-date view of the images on the card. This is very quick and convenient.

Access speed

The main problem with these devices at present is access speed. This is partly to do with the current state of the software, which is undergoing revision to improve its performance. The CompactFlash device is currently supplied with no fewer than three different versions of the driver software: the original, deprecated version, the current release, and a beta-test copy of the next version. The 'release' version is expected to behave correctly, whilst the newer version is supplied for testing purposes only, though in my own tests I found it to work without any significant problems. The great advantage of the beta version is that it allows data to be transferred at a much greater speed than the release version.

The release version of CFlashFS transfers data at an average speed of around 60K per second. The beta release claims to be able to transfer at speeds of up to ten times that amount: 600K per second. In reality I found that the overall improvement in speed was more like four to five times on average, but it was nevertheless a very noticeable improvement.

The current version of the SMediaFS software appears to be in the same class as the stable release of CFlashFS: it's limited to transfer speeds of roughly 60K per second. After a number of tests I found that the transfer rate could apparently vary quite widely, between 40K and 80K per second, with the usual speed for single files being something in the region of around 50K.

These speeds are by no means supersonic, but future versions of the driver software will presumably be issued to take advantage of the higher speeds for users of both DigiFlash systems. Anyway, given the current read-only nature of the SMediaFS filing system, an overall sluggishness in transfer rate is not really a big problem. Photos will generally only need to be copied across once, and it's a much more convenient solution than a direct transfer from the camera (assuming that's possible; newer cameras lack a serial connection).

For interest, though, I performed some timings of my own. For the following test I used a 64Mb SmartMedia card and a 32Mb CompactFlash card, onto which I copied a collection 53 photos comprising around 25Mb of data. (To be precise, I copied the contents of the SmartMedia card, which was part-full, onto the CompactFlash.)

In both cases I opened a directory display on the contents of the card and toggled it to full size immediately, and then timed how long it took PhotoFiler to produce thumbnails of all the images on my 200MHz StrongARM Risc PC. Clearly a small amount of processing time was needed to produce the thumbnail for each image, and PhotoFiler has to load the entire image in order to produce each thumbnail; in other words, the entire 25Mb of picture data had to be read from the card in order to display all the thumbnails.

Then I used PhotoShow to display a similar catalogue of each disc. Because PhotoShow does not need to load the whole JPEG to display each thumbnail image, it was of course much quicker than PhotoFiler to produce a complete display.

In the case of the CompactFlash reader, I performed the tests twice: once with the standard software and again with the beta software to test its faster transfer speed.

(53 images; 25Mb) PhotoFiler display PhotoShow display Approx. speed
SmartMedia 11 minutes 19 seconds 40K per second
CompactFlash
(Release software)
6 minutes 25 seconds 24 seconds 67K per second
CompactFlash
(Beta software)
1 minute 25 seconds 7 seconds 300K per second

The figures should be taken with a pinch of salt, as the timings were not performed with great accuracy and they represent the results of using early software which is actively being improved. Nevertheless, they do suggest that the forthcoming faster issue of the software will make a significant improvement in terms of transfer speed. They also indicate that, for whatever reason, data transfer from the SmartMedia reader was somewhat slower than that from the CompactFlash equivalent.

Anyway, performance figures aside, clearly there is now a very workable solution for transferring images from cameras' memory cards to RISC OS, and one that will improve over time. The availability of these DigiFlash devices means that the more modern cameras, which include USB interfaces in place of standard serial connections, can now be used easily with RISC OS machines.

DigiFlash readers cost £79 ex. VAT each from Surftec Ltd. PhotoShow costs £25 inc. VAT, or is supplied free with digital cameras purchased from Photodesk Ltd


Thanks to Photodesk Ltd for providing both models of DigiFlash reader for testing, and to Surftec Ltd for other assistance