Toolbox

Synchronize Files, Rich Textboxes, and More

Scott Mitchell

Contents

Compare Files and Folders
Create Demo and Support Videos
Rich Textboxes in Your Web App
The Bookshelf

Compare Files and Folders

When working within a team, developers often need to compare the code on their file system against the code checked into the source control provider, or perhaps to examine the differences between two different versions of a given file or set of files in source control. Or maybe you have hundreds of data files in a folder and need to determine if and how they've changed since the last backup.

Programs designed to find differences in files have existed since the dawn of computers, with the UNIX diff program being one of the most widely known and used (Windows® has long included a similar program called WinDiff). Unfortunately, WinDiff and many of the packaged diff-like utilities lack more advanced capabilities, such as comparing ZIP files, or entire folders of files, or files residing on a remote FTP server, and then synchronizing differences.

Beyond Compare

Beyond Compare   (Click the image for a larger view)

One tool that offers rich comparison and synchronization features is Beyond Compare version 2.4.1 by Scooter Software. When starting the tool, you are greeted with the Compare Wizard, which lists the common uses of Beyond Compare—comparing two folders or two files, comparing and merging source code changes, synchronizing with an FTP site, and so on—and quick steps to get started with each. Alternatively, you can bypass the wizard and specify the folders, files, or FTP sites to compare. These choices, among others, can be saved as a project to quickly repeat the comparison or synchronization at a later point in time.

With the targets for comparison selected, Beyond Compare lists the results in a two-pane interface, using colors and highlighting to indicate which items are the same, which ones differ, and which ones exist in one source but not the other. Clicking on a file opens a new window that displays the differences (if any) between the files in the two sources. After viewing the differences, you can opt to synchronize the sources.

Beyond Compare's power comes with its comparison rules, which permit you to indicate how the comparison engine determines whether two files differ. For example, if two files are identical except for white space, should they be flagged as different? What if they're identical except for the casing of the text? Beyond Compare provides a number of built-in rules designed for use when comparing code from different programming languages—there are predefined rules to aid in comparing C++/C#, XML, Visual Basic®, HTML, comma-delimited files, and so on. And if none of the built-in rules suffice, you can always create your own comparison conditionals.

Price: $30 for a single-user license.

www.scootersoftware.com

Create Demo and Support Videos

They say a picture is worth a thousand words, so what better way to pitch your product to prospective buyers or provide support to existing users than through the power of video? A software package designed specifically for turning on-screen demos into videos is Camtasia Studio version 3.1.2 by TechSmith.

Camtasia Studio allows you to collect, edit, and arrange various multimedia clips that can include on-screen recordings of your product in action; audio content, either from a microphone or from an existing audio file; and live or prerecorded video content.

Creating the on-screen recordings is a snap. Simply indicate whether to capture the entire screen, a particular window or screen region and whether or not to record audio input. Once you're ready to start recording, press F9 and interact with your program as you normally would—Camtasia will record the mouse movements and screen changes.

Camtasia

Camtasia   (Click the image for a larger view)

Once you've completed the on-screen recording, press F10 to add the clip to Camtasia Studio, where it can be edited, if needed. When you have your completed video and audio recording, the final step is to export the clip to a playable video format. When exporting, you can specify various compression, size, and quality-related properties that impact the file size. (A one-minute 800x600 video with audio, saved to a Flash file with the default settings, requires close to 1.5MB.)

Novice video and audio creators will find that they can easily create impressive videos in minutes with Camtasia Studio and its helpful wizards. For example, Camtasia Studio adds a Microsoft® PowerPoint® toolbar icon that can record a PowerPoint presentation with just a click of the mouse.

For more experienced content creators, Camtasia Studio offers an array of editing and enhancement options. Add hotspots to more clearly show where and when the mouse has been clicked, zoom into regions on the screen, add callouts and annotations to the video, and draw on the screen with pens. In short, Camtasia Studio's price and features make it appealing to a wide range of users.

Price: $299 for a single-user license.

www.techsmith.com

Rich Textboxes in Your Web App

Many of today's Web apps are being designed to include rich data collection UIs so that they appear and behave more like desktop applications. With many Web sites having their content created by visitors, the standard textbox is quickly becoming obsolete.

When including the user's input as part of the Web app's content, it behooves the designer to provide a rich textbox, one that allows the user to indicate the text's font, formatting, and so on. This is remarkably easy with FCKeditor, a free, open-source rich textbox created by Frederico Caldeira Knabben.

FCKeditor provides a rich data entry interface with customizable toolbars and styles, support for spell checking, tables, predefined content templates, the ability to embed images and Macromedia Flash files—a user experience not unlike any word processor.

At its heart, FCKeditor is a collection of HTML and JavaScript pages that render the rich textbox in Microsoft Internet Explorer®, Firefox, and Netscape browsers on Windows, Mac, and Linux operating systems (there is plain-text only support for the Opera and Safari browsers). FCKeditor includes samples and integration packages for incorporating the FCKeditor HTML pages and scripts into server-side technologies.

On the browser, users can enter their content using either the rich editor or through the Source view, where they may include any HTML markup for formatting. Upon submitting the form, the HTML content corresponding to the user's content is available via the FCKeditor's Value property.

For many Web application scenarios, the standard HTML textbox fails to offer the features or pizzazz that a rich text editor can supply. With FCKeditor, incorporating rich text data collection is a fast and easy process, regardless of the server-side technology being used.

Price: Free, includes source code.

www.FCKeditor.net

The Bookshelf

The Microsoft Enterprise Library, first released in January 2005, is composed of seven application blocks—Configuration, Data Access, Caching, Exception Handling, Logging and Instrumentation, Security, and Cryptography. Each of these application blocks was designed from the ground-up to offer a consistent interface and configuration experience for the developer and to provide functionality that can easily be extended or customized.

While the application blocks are designed so that an architect can opt to use just the ones needed, the move from individually packaged, independent application blocks to a larger, unified library has made understanding, installing, and utilizing the Enterprise Library a more daunting task. Effective Use of Microsoft Enterprise Library (Addison Wesley, 2006), by Len Fenster, helps demystify the Enterprise Library application blocks, explaining their intended functionality, illustrating how they can be used, and showing how to extend their functionality.

  (Click the image for a larger view)

The book is composed of nine content-packed chapters and three appendices, with each application block thoroughly explored in its own chapter. Each chapter begins with an examination of the application block's purpose, followed by a look at its class structure. The author then walks through how to configure an application to use the application block; numerous source code samples illustrate how to work with the application block from code. The book is a must read for those who are using the Enterprise Library or are in the midst of evaluating it.

Price: $49.99.

Send your questions and comments for Scott to toolsmm@microsoft.com.

Scott Mitchell, author of numerous books and founder of 4GuysFromRolla.com, is an MVP who has been working with Microsoft Web technologies since 1998. Scott is an independent consultant, trainer, and writer. Reach him at Mitchell@4guysfromrolla.com or via his blog at ScottOnWriting.NET.