Working with raw digital camera images

Recently, I went along to one of the meetings of my local camera club, which is something I’ve been meaning to do for a while but somehow never got around to. At the meeting, one of the members (Andy Gailer) gave a really interesting presentation on working with raw images. I’ve repeated most of the highlights here, adding a few notes of my own along the way.

Technical details

Raw images are exactly that – the raw pixel data that is captured by a digital sensor. So, in order to understand the use of camera raw, it helps to understand a little bit about the technology that creates the image.

Probably the most important part of a digital camera is the sensor that converts available light into electrical signals. Two types of sensor are commonly used: charge-coupled device (CCD); and complementary metal oxide semiconductor (CMOS). CCD is a more mature technology but CMOS is gaining popularity as it can be implemented using fewer components, requires less power and provides the data more quickly.

Regardless of the technology in use, digital camera sensors consist of an array of photodiodes (or “pixels”) collecting photons (minute amounts of energy which combine to make light) and each pixel is fitted with a microlens to focus light into the sensor site. The number of photons collected in each pixel is converted into an electrical charge and this charge is converted into a voltage, amplified, and converted to a digital value to be processed into a digital image, either in camera or, if a raw image is used, using a computer. It’s important to understand that, in the same way that a bucket can only hold so much water, a pixel can only hold a certain amount of light.

Sensors also come in a variety of sizes. A “full frame” 35mm sensor is the same size as a frame of 35mm film (24x36mm) but a compact digital compact camera will have a much smaller sensor. My Canon Digital Ixus 70 has a 5.75×4.31mm sensor but my Nikon D70 DSLR has a 23.7×15.5 mm (Nikon DX) sensor. The Canon squeezes 7077888 pixels onto that tiny sensor whereas the Nikon only has 6016000 pixels, but each one of the Ixus 70’s pixels is significantly smaller than the D70’s and this will affect the image quality – that’s why not all megapixels are equal.

Bayer sensor patternThe quality of the image will also be affected by it’s contents – each pixel can only capture one of three colours as it has a red, green, or blue filter over the top, usually arranged in a pattern known as the Bayer Mask, with twice as many green filters as red or blue (the pattern is designed to mimic the way that we see colour). On top of the Bayer filter is an infrared filter, then an antialiasing filter (to reduce moiré) and each of these various filters steadily reduces the overall quality of the image.

An alternative filter (the Foveon X3) employs an arrangement that is similar to the one used to make up the coloured emulsion layers in photographic film, where the red, green, and blue pixels are placed on top of one another (different colours of light will penetrate further into the sensor), meaning that all pixels capture all colours, but this sensor type is relatively uncommon and also suffers from low light sensitivity.

Bayer sensor filteringThe resulting data from the sensor consists of three channels of photographic data – red, green and blue but, with the exception of the Foveon sensor, each channel is incomplete because the mask means that only certain pixels will be activated for a given colour. During raw conversion (either in-camera, or on the computer), a process known as demosaicing is used in an attempt to fill in the missing pixel data, based on the comparative brightness of the surrounding pixels, and then sharpening is applied to counteract the effect of so many filters on the sensor.

I mentioned earlier that each sensor site (or pixel) can only capture a finite amount of light, expressed as a number of levels.

The number of bits used in the analogue to digital conversion process will determine the light sensitivity, with 8 bits representing 255 levels, 12 bits for 4095 levels, 14 bits for 16383 levels and 16 bits for 65535 levels. It’s important to understand that a sensor records light in a linear fashion, so reducing the amount of light falling on the sensor by one stop (EV) will halve the number of levels of light that can be recorded. Equally, if the light is doubled, eventually the pixel will be full and the resulting effect is blown highlights.

Similarly, as the light levels drop, an effect known as posterisation (or colour banding) becomes visible, particularly in areas such as shadow detail, or the sky.

Even a few stops can make a huge difference to the number of light levels that the sensor can determine and so it is generally recommended to expose as far to the right of the histogram as possible without clipping (I’ll describe the histogram in a follow-up post). Because human vision is not linear, during raw conversion a tonal curve (including a gamma correction) is applied to the image to make it more pleasing on the eye.

The table below shows the difference between an image recorded as an 8-bit (gamma encoded) JPEG and others recorded as a 12-bit or 14-bit (linear encoded) raw file:

Stop 8-bit JPEG (gamma-encoded) 12-bit raw (linear) 14-bit raw (linear)
1st stop (brightest tones) 69 levels 2048 levels 8192 levels
2nd stop (bright tones) 50 levels 1024 levels 4096 levels
3rd stop (mid-tones) 37 levels 512 levels 2048 levels
4th stop (dark tones) 27 levels 256 levels 1024 levels
5th stop (darkest tones) 20 levels 128 levels 512 levels

Even though the logarithmic scale used for the gamma-encoded image does not fall off as sharply as the linear scale for the raw image, the overall number of discernible light levels is reduced in the JPEG (partly due to the 8-bit nature of the file format), whereas the raw files retain more detail, allowing for some exposure compensation to be applied post-capture. In addition, due to the lossy compression that is inherent with a JPEG, further image quality is sacrificed each time the image is saved.

Colour spacesColour spaces are another consideration, with each space defining the number of visible colours (or gamut) that may be represented in an image. Which colour space is “best” is often a personal consideration but it’s important to note that we can neither see, nor print all of the available colours; however, by storing the maximum possible amount of information, there is more scope for making changes later without degrading image quality. For print work, Adobe RGB may be a good colour space but for on-screen work (where the display device has a smaller gamut), sRGB may be more appropriate. I have now switched the default setting in my Nikon D70 to Adobe RGB 1998 but in reality it makes very little difference as the colour space can be altered later.

JPEG or raw?

For a JPEG image, the following process is applied to every image by the camera:

  1. RGB information from sensor is converted to colour data.
  2. Tone curve applied to convert linear-encoded data to gamma encoding.
  3. White balance set.
  4. Contrast adjusted.
  5. Colour saturation increased.
  6. Sharpening applied.
  7. 12/14-bit native file compressed to lossy 8-bit JPEG.
  8. Image is recorded to memory card.

By shooting raw, no data is lost from the sensor and a better tonal quality is retained. Images can be reprocessed years later for better (or alternative) results; however some raw processing software will be required.

Adobe Camera Raw is a free download and allows all of the adjustments that a camera would normally make to be applied to an image (and more), under the control of the photographer. It integrates with other Adobe applications (e.g. Bridge and Photoshop) for image organisation and editing. At first, the interface can be daunting – but the controls are organised in order of significance (left to right and top to bottom) and many may be ignored. Adobe’s white paper on understanding Adobe Photoshop Camera Raw 4 is also worth a read.

Adobe Camera Raw 4.0

There is one significant drawback with raw image capture though – even though the sensor data is captured in the same way, most camera manufacturers (particularly Canon and Nikon) record the data using a proprietary format. This is why software such as Adobe Camera Raw is constantly updated for new cameras; however it’s also a risk that one day those raw images will become obsolete. There is a potential solution, using Adobe’s Digital Negative (.DNG) format but adoption by manufacturers has been slow and, for many photographers, conversion from a proprietary raw format to DNG is an extra step in the workflow.

Working with raw images

Andy gave some good advice for working with raw images and I’ve added a few tips of my own to Andy’s advice:

  • At the capture stage:
    • Just because you can edit later, don’t rely on it – take your best shots with proper settings – particularly focus and exposure.
    • Get the brightest possible shot without clipping – use the camera’s histogram function and expose to the right.
    • Check the shot in-camera by zooming in on parts of the image on the LCD.
  • Back on the computer, organise the files:
    • Download images to the PC.
    • Sort, organise, tag, rank and caption as desired.
    • Add metadata.
    • Back up the images to a separate storage location.
    • Automate repetitive tasks (e.g. renaming and captioning).
  • Process the raw images:
    • Process for maximum quality.
    • Adjust colour balance.
    • Crop, straighten and sharpen (if required – and only if no more editing is to be performed).
    • Save converted files at 16-bit and back up to offline storage.
  • Edit (if required):
    • Apply any image enhancements, clean up flaws, etc.
    • Perform any creative enhancements.
    • Apply batch actions
    • Prepare for output (printing or web) – if sharpening is required, this should be the last action on the image before saving.
  • Archive:
    • Establish and implement an archival plan.
    • Save files on external devices and media for easy access and retrieval – consider off site storage.

Further reading

Further information may be found in the following articles:

Credits

Based on a presentation by Andy Gailer. The Bayer filter images used in this post are licensed under the GNU free documentation license and the colour space diagram is ©Jeff Schewe, used with permission (images from Wikipedia).

Deleting multiple RSS feeds in Outlook 2007

I have two mailboxes at work and one is permanently diverted to the other – every now and again I have to go in and clear it out (as a copy of every inbound message is left in the first mailbox) and it looks like I should do it more often (I was within a few KB of having inbound mail bounced until I logged in this evening…).

I wondered what was filling my Inbox so I checked out the folder sizes and found that the biggest culprits were RSS feeds from Outlook 2007’s integration with the Internet Explorer (IE) 7 RSS reader (even though the computer still runs IE6 in order to access some legacy web applications – so there is no Outlook to IE integration, as described in Microsoft knowledge base article 920234 – the mailbox has been accessed previously on a machine with Outlook 2007 and IE7 installed and, as Tim Anderson noted a couple of years back, Outlook copies feed contents from the local machine to the mailbox and then keeps it synchronised).

As I read my feeds in Google Reader, I decided to remove them from Outlook – but how (other than individually)? Thanks to Jaap Steinvoorte’s post on deleting RSS feeds in Outlook 2007, I found the answer in the Outlook Account Settings, on the RSS Feeds tab, where there is a big remove button. The same approach can be applied to SharePoint Lists, Internet Calendars and Public Calendars.

Unfortunately, the cached content is still retained and RSS Feeds is a special folder it can’t be deleted… unless you use a downlevel client as Daniel Moth suggests – I used OWA on an Exchange Server 2003 server.

Sure, deleting the entire folder is overkill but it seems to be the only way other than inducing carpal tunnel syndrome through repetitive mouse/keyboard clicks and the end result is a considerably less full mailbox.

Windows Quick Launch toolbar tips

After last night’s post on Live Mesh, which included a screenshot of my desktop, Garry Martin dropped me a line to ask about the large icons in my Quick Launch Toolbar.

I can’t claim credit for discovering this but it’s a tip I heard Paul Thurrott describe on a Windows Weekly podcast a while back and it doesn’t seem to be very well known.

Large icons in the Quick Launch Toolbar

First of all, I changed the height of my Taskbar by clicking and dragging on the top edge. Next, I unlocked the Taskbar and arranged the toolbars so that the Quick Launch toolbar is visible above the row of taskbar buttons. Finally, selecting large icons involves right-clicking on the divider to the left of the Quick Launch Bar and selecting large icons in the view menu option.

Also, as Paul mentions in his more Windows Vista Tips article, the Windows and number keys can be used together to launch the applications that are linked from the Quick Launch bar (the first 10 of them anyway) (e.g. in the screenshot above, windowskey+5 would launch Outlook and windowskey+0 would launch Notepad, etc.

My system is running Windows Server 2008 but this tip also applies to Windows Vista, Server 2003 and XP (I didn’t try any earlier versions of Windows)

Windows Management Tools from Quest

I spent most of yesterday with Quest Software, as they explained the various tools that they have that can help to expand and extend off the shelf infrastructure products from companies like Microsoft, Oracle and Sun.

If you’ve performed a large infrastructure migration or implementation, the chances are that you’ve come across Quest at some point (and I knew they had grown rapidly in recent years) but I hadn’t realised just how many tools they had available.

We spent 4 hours talking about Windows Management tools (without even touching on Application Management or Database Management) so clearly there is too much there for a blog post but it’s worth taking a look at their website some time.

In case you hadn’t already seen where Microsoft is heading…

For 33 years, Microsoft’s vision has been “A computer on every desk and in every home” [“running Microsoft software”]. But that was the vision with Bill Gates in charge and he is now quoted as saying:

“We’ve really achieved the ideal of what I wanted Microsoft to become”

[Bill Gates, June 2008]

Now that Microsoft is under new management the vision has changed. Microsoft’s Chief Operating Officer, Kevin Turner, outlined the new vision in his speech at the recent virtualisation strategy day:

“Create experiences that combine the magic of software with the power of Internet services across a world of devices.”

[Kevin Turner, 8 September 2008]

In the same presentation, Turner spoke of the $8bn that the company will invest in research and development this year, across “4 pillars of innovation breadth”:

  • Desktop: Windows Vista; Internet Explorer; Desktop Optimisation Pack; Microsoft Office System.
  • Enterprise: SQL Server 2008 enterprise database; Windows Server 2008 infrastructure; Visual Studio 2008 development lifecycle; BizTalk business process management; System Center management; Dynamics ERP/CRM; Exchange and OCS unified communications; SharePoint portal, workflow and document management; PerformancePoint business intelligence.
  • Entertainment and devices: Xbox 360; Zune; Mediaroom; Windows Mobile; Games; Surface.
  • Software plus Services: Microsoft Online (business productivity suite – Exchange Server, SharePoint Server, Live Meeting, Communications Server – and Dynamics CRM Online); Live Services (Xbox Live, Live Search, Windows Live, Office Live, Live Mesh).

There are two main points to note in this strategy: enterprise is the fastest growing area in terms of revenue and profit; and the deliberate split between enterprise and consumer online services.

As I outlined in a recent post looking at software as a service (SaaS) vs. software plus services (S+S), there is a balance between on premise computing and cloud computing. Microsoft sees three models, with customer choice at the core (and expects most customers to select a hybrid of two or three models, rather than the fully-hosted SaaS model):

  • Customer hosted, supported and managed.
  • Partner-led, using partner expertise.
  • Microsoft-hosted.

One more key point… last year, Microsoft SharePoint Server became the fastest growing server product in the history of the company and Turner thinks that virtualisation could grow even faster. Only time will tell.

Installing Live Mesh on Windows Server 2008

Live Mesh logoYesterday, I was chatting with Eileen Brown and she asked if tried the Microsoft Live Mesh preview yet?

I didn’t think it was available outside the United States yet but it seems that it is… (in any case, there is a workaround) and within a few minutes I was logged on to a Live Desktop in three browsers on two computers – using IE8, Chrome (on a PC) and Safari (on a Mac). That’s all very well, but the beauty of Mesh is when I can share my data directly between computers, so I tried to install the Live Mesh client software but, unfortunately, it wouldn’t install on my Windows Server 2008 workstation (despite recognising it as Vista x64).

Just as when I installed Google Chrome a few days back, I found that I couldn’t install directly from the IE8 download prompt:

This installation is forbidden by system policy. Details about this problem can be found here.

Running the installer as administrator invoked UAC but it still failed, telling me that:

Installer encountered errors. Please verify your network settings and attempt to reinstall.

Then I found a blog post suggesting the use of the livemesh -force to skip version checking but it was still complaining about my network settings. I did wonder if the problem was that this computer also runs Hyper-V (so the network stack includes a virtual switch) but it seems that I need to completely turn off UAC for the installation (it’s back on again now) and that temporary elevation or TweakUAC are not enough.

Once I’d switched off UAC, rebooted, installed Live Mesh (with the -force switch), re-enabled UAC and rebooted once more, the Live Mesh was client was up and running (on Windows Server 2008). Life is Good.

Live Mesh preview with meshed folders on the desktop and the live desktop as well as the view of connected devices.

It’s early days yet, but my first impressions are that this is very cool. Think about the usability of Groove’s collaboration features – and then some. I have folder sharing, news (e.g. Mark has added this file in this folder), a live desktop and remote desktop capabilities but there is one question, now I have 5GB in Mesh, what do I do with my Skydrive? Can I have all this data in one place?

The other thing I’ve noticed is that upwards syncing over ADSL is slow but once I have some more devices on the local network with the Live Mesh client installed, it should sync up directly (at least, I think that’s what happens). The Windows Mobile client should be here soon but I’m really waiting for the Macintosh client, after which I can really start to get stuck in to what Mesh could do for me to make sure that everything I’m working on currently is available to me, regardless of the device I’m using at the time.

Microsoft Unified Communications: part 5 (notes from a real deployment)

Over the last week or, so I’ve posted several articles on the Microsoft View of Unified Communications (UC), looking at

  1. An introduction to UC (from a Microsoft view).
  2. How UC can change the ways in which we work.
  3. How the various Microsoft UC components work together.
  4. Some of the things to know about Cisco’s UC solutions, QoS and codecs.

This final post in the series has been part-written for over a year now (ever since I got involved in a UC pilot project in 2007). Even though I was a Microsoft Certified Technical Specialist (MCTS) for Live Communications Server 2005 (the predecessor to Office Communications Server 2007) and have worked with Exchange Server since 1996, I haven’t carried out a real LCS deployment and unified messaging is a new feature in Exchange so the project involved a steep learning curve. This post summarises the points that I learned along the way (with more than a little help from colleagues) – not so much a product review as a collection of notes that I made that might be useful to others.

  • DNS is critical to a successful UC deployment as OCS relies heavily on DNS for name resolution. Specifically, it uses SRV records to hold details of key servers within the organisation for automatic logon (_sipinternaltls for TCP connections over port 5061 to sip.domainname.tld). If users are having problems with OCS, start off by checking the DNS event logs.
  • Other services that are required include Microsoft IIS and ASP.NET.
  • Secure communications require a certificate service. For internal deployments, it might be possible to get away with a self-signed certificate (especially if group policy can be used to ensure that all the clients trust the entire certificate chain); however for external deployments it’s best to get a certificate from a known trusted source. Certificates from well-known and trusted organisations like Verisign are pretty sure to work whilst providers of free certificates may not be trusted (so offer little advantage over self-signed certificates); there is a middle ground though as low-cost certificates can be found which are trusted by default in many browsers. Subject alternative name (wildcard) certificates are also available (e.g. for *.domainname.tld).
  • Like some other products (e.g. Exchange Server 2003), OCS uses a wizard-based approach to deployment, guiding an administrator through each of the stages depending upon the type of server that is being installed.
  • If an organisation is nervous about making schema changes OCS may cause some issues as it requires a schema update (as does Exchange Server). This is often made out to be a bigger problem than it really is.
  • OCS does require the domain in which it is to be installed to be running at Windows Server 2003 functional level.
  • Location profiles can be used to normalise numbers into the correct format.
  • Web conferencing (e.g. for Live Meeting) is enabled in the OCS global properties.
  • OCS contacts are stored in Active Directory in a container called RTC Special Accounts (visible with advanced features enabled).
  • During our deployment, we used method 2 in Microsoft knowledge base article 951644 to get around Outlook integration errors because our OCS signon address did not match the e-mail addresses use in Outlook. The Office Communicator team has published some good advice for troubleshooting Outlook integration and address book errors.

OCS is only one of Microsoft’s unified communications technologies and another key element is the new unified messaging (UM) role in Exchange Server 2007. Note the distinction between unified communications (bringing together multiple forms of communication along with presence awareness) and unified messaging (one inbox for all message types – e-mail, fax or voicemail – for a more detailed explanation, refer to part 1 in this series of posts).

In terms of deployment, Exchange UM is far less user-friendly than OCS and requires the use of Windows PowerShell/the Exchange Management Shell. Setting up Exchange UM to work with OCS involved:

  • Creating a new dial plan (e.g. new-umdialplan -name dialplanname -uri
    type "sipname" -voipsecurity "sipsecured" -numberofdigitsinextension 5
    ).
  • Specifying the UM server to be associated with a dial plan (e.g. set-umserver -id exchangeservername -dialplans dialplanname).
  • Enabling mailbox access for users (e.g. enable-mailbox -identity 'msuc.co.uk/Users/username' -alias 'aliasname' -database 'exchangeservername\storagegroup\database').
  • Enabling the user’s mailbox for UM (e.g. enable-ummailbox -id username -ummailboxpolicy "mailboxpolicy" -extensions voiceextensionnumber -sipresourceidentifier emailaddress -pin pin.
  • Creating a UM-IP gateway with associated hunt group and set permissions (run .\exchucutil.ps1 from Exchange Server 2007 service pack 1).
  • Creating a UM auto attendant (e.g. set-umipgateway -identity ocsserver -port 5061).
  • Get details of the OCS pool (run .\get-ucpool.ps1 from Exchabge Server 2007 service pack 1).
  • Running the Exchange UM integration utility (ocsumutil.exe /domain:dnsdomainname) to allow OCS calls to be routed to Exchange Server (for capture as voicemail).
  • Configure SSL on the Exchange Server.

Of course, the beauty of PowerShell is that this may appear complicated but can be scripted for re-use.

All of the above is concerned with deploying OCS for instant messaging/presence and integrating it with Exchange for voicemail. It should be noted that OCS is not a PBX replacement (even though it will integrate with major manufacturer’s PBXs) and that for routing voice calls to/from OCS a mediation server is required. In the pilot, we used an Dialogic IP Media Gateway 1000 but this is very much an entry-level system and there are appliance servers (e.g. the Dialogic DMG4000) that combine the role of OCS mediation server with the IP media gateway functionality. The mediation server is fairly simple to deploy, with the only specialist requirements being the definition of the listening address and gateway, along with the details of the PSTN gateway (the IP-PBX or the media gateway).

Communicator Web Access (CWA) is a potentially useful feature within OCS – providing a OCS client access from within a web browser. The only gotcha that I came across during testing was the need to create a certificate (for activation) using a tool from the LCS 2005 resource kit (lcscertutil.exe) with the web server certificate template.

A couple of other server roles that are worth mentioning are update servers (for updating OCS software on unified communications devices such as IP phones deployed within the organisation) and archiving servers (for archiving conversation history for reasons of compliance). I didn’t set these up in my environment but they complete the picture in terms of OCS deployment.

Further information

Microsoft Unified Communications: part 4 (a brief note on Cisco, QoS and codecs)

As might be expected for a series of blog posts about the Microsoft view of Unified Communications (UC), it is heavily biased towards Microsoft products but I wanted to take a brief look at another major player in the unified communications space – Cisco. It should be said that I have very limited experience of Cisco’s UC offerings (only as an end user of their IP telephony products) but it’s worth highlighting the differences between the Microsoft and Cisco approaches.

Microsoft and Cisco are partners, but they are also competitors. Some googling suggests that Cisco and Microsoft’s VoIP products can be integrated but not always without challenges (Aaron Tiensivu’s post on integrating Microsoft Exchange and Cisco CallManager is just one example of such a challenge) but it should be considered that they have come to UC from different directions.

Cisco are a networking company and they have approached UC as a networking problem for which there is a networking solution. On the other hand, Microsoft are a software company – they have looked at the overall user experience an attempted to engineer a software solution.

Whilst Cisco concentrates on providing a VoIP solution that offers Quality of Service (QoS) and has grown out of PBX technology, Microsoft relies on codecs that are tolerant of poor network conditions to deliver what they refer to as Quality of Experience (QoE). Those with far more experience than I have commented that the Microsoft approach is sensible for calls that are routed across the Internet (where there is no QoS) but less so in an enterprise environment and Ed Horley made a very valid observation that network links, particularly WAN links, tend to be under-provisioned. I have to say that using the SCCP/UCM solution at work provides fantastic call quality but I also find that the Cisco IP Phone (running SIP) on my desk at home provides a great experience too and, at a recent event, Microsoft even compared their solution with Skype, citing this as a well-known example of a software solution that provides good call quality over variable consumer Internet connections (something which I was surprised to find when I was using Skype for a video call between the UK and Australia recently).

Microsoft’s general recommendation is to let the software select an appropriate codec and Office Communicator will constantly assess the available bandwidth and select an appropriate codec, even switching codecs and/or tuning parameters as required during a call.

The main concern is with voice traffic saturating network bandwidth at the expense of data – that’s where QoS can be used effectively – to manage the network.

In the final post in this series, I’ll wrap things up with some notes from my own OCS implementation last year.

Chrome gears for my desktop

Google Gears logoFor the last week, I’ve only used two browsers on my Windows PC – Internet Explorer 8 beta 2 and Google Chrome beta – and I’ve been really impressed at how these two browsers have shaken up my surfing. There’s plenty of sites on the ‘net comparing the two browsers (so I won’t do that here) but one thing I heard Paul Thurrott discussing with Leo Laporte on Windows Weekly (Episode 73) was the integration of Google Gears into the Chrome browser. I hadn’t realised that Chrome included Gears (although, now I come to think of it, the installation error I experienced when I was installing Chrome referred to Gears) and it is really cool.

Let me give you an example, a few minutes back, I had a power spike at home. The computers stayed on but my ADSL connection was dropped, as was the WiFi connection from my DNS server to the router… I didn’t even notice – I was happily writing a blog post in WordPress through Chrome and it kept on without missing a beat. Only when I tried to surf to some new sites did I realise there was a problem.

Creating a Google Gears application in Google ChromeBut it gets better (credits to Paul Thurrott for pointing this out) – if you click the drop down menu in Chrome with a file icon, you can select to create application shortcuts. This creates a standalone instance of the current page with optional icons on the desktop, quick launch bar or start menu. I now have Gears applications for Google Reader, Google Mail, Google Calendar and WordPress (I’m using the WordPress one to write this post).

Google Reader in a Chrome/Gears application

(The last time I was interested in things like chrome and gears, I was a teenager and the context would have been my bike…)

Poor performance with Camtasia Studio fixed by adjusting the screen resolution

A couple of days back, I mentioned some videos I’ve produced for Microsoft. There are various technical requirements for the way in which these videos are produced, one of which is that I have to use TechSmith Camtasia Studio 5 (which seems pretty flaky at times – in fact, it’s the only application ever to have caused a blue screen of death on my Windows Server 2008 workstation – and that was the first BSOD I’ve seen with a non-beta version of Windows in a long while).

When I’m recording these videos, I tend to capture the video on my external monitor whilst I have Camtasia Studio and any applications related to the demonstration running on my main display (then I move them to the recording area as required). Today, I was really struggling to make anything run at a decent speed whilst I was recording and the capture rate dropped to a measly 0.5 frames per second (on a computer with a 2.2GHz Intel Core2Duo CPU and 4GB of RAM).

Last time I’d recorded anything, I’d dropped my monitor resolution to 1024×768 but this time I was using it at full (1680×1050) resolution and Camtasia was just recording a 1024×768 region of the screen. As soon as I reduced the monitor resolution, performance was back to it’s normal level (encoding video on a machine with integrated graphics is always going to hit the CPU hard).

So, if you have to use Camtasia Studio (I blogged an alternative method using nothing but Windows software a while back) and you are experiencing performance issues, try adjusting the monitor resolution.