Toolbox

Share Your Desktop, Lightweight Code Editing, and More

Scott Mitchell

Contents

Share Your Desktop
Lightweight Code Editing
Modeling with Graphs
The Bookshelf

Share Your Desktop

As an independent contractor working from home with clients scattered around the globe, being able to communicate quickly and effectively with my customers and coworkers is of paramount importance. Communication tools like e-mail and instant messaging are usually sufficient, but there are times when I need to show a client my desktop or view his desktop as I help troubleshoot a problem. Video conferencing is also invaluable when helping a coworker debug or when giving a demo or sales pitch to a prospective client.

The variety of technologies available for video conferencing and desktop sharing vary in cost, ease of setup and use, and features. Many of the free choices require opening specific firewall ports and installing software, steps that can be off-putting for less tech savvy coworkers and customers. Fortunately, there are a number of easy-to-use conferencing solutions that won't strain your wallet.

One such product is GoToMeeting from Citrix Online, which for $49 per month allows you to host an unlimited number of video conferences with up to 10 attendees per meeting. (Check out GoToMeeting Corporate if you need to host up to 25 attendees or GoToWebinar to support hosting up to 1,000 attendees.) To start a meeting, simply double-click the GoToMeeting icon in the taskbar. This initiates a meeting and creates a URL you can send to the other participants to invite them to your desktop. To join your meeting, invitees simply paste the URL into their browser's address bar—no need to install software or tinker with firewall settings.

Once they arrive, all participants can view your desktop and watch as you interact with your system. Additionally, you can give control of your desktop to any of the attendees. GoToMeeting is much more than just a simple desktop sharing program, though. With the click of a button you can switch presenters and have a selected attendee's desktop becoming the one all others see.

GoToMeeting also includes free audio conferencing. Participants simply call a phone number to join the conference call and, once connected, can listen and talk to all those who've joined the conference.

In many situations, being able to show your desktop to a remote client or coworker is a great timesaver. If you telecommute or regularly work with remote clients or coworkers, investing in a video conferencing service like GoToMeeting can save you both time and money.

Price: $49 per month for unlimited meetings with up to 10 attendees.

www.GoToMeeting.com

Lightweight Code Editing

While the rich design-time support in Visual Studio® makes it an ideal choice for developing UI-centric applications, its array of features and functionality often makes Visual Studio overkill for code-only applications, such as command-line programs, class libraries, and Web services. This is especially true for developers working on projects across multiple platforms, since having to master Visual Studio for Windows®-based development and some other code editor for another environment can be time consuming. SlickEdit version 11, by SlickEdit Inc., offers a happy medium between the no-frills user experience of a text editor and the complex feature set found in Visual Studio.

SlickEdit can be used as a simple text editor, editing one file at a time, or you can categorize files into Projects and Workspaces, like the Projects and Solutions in Visual Studio. Workspaces can be created manually or imported from a Visual Studio project or solution file. The code editing user experience is quite similar to that of Visual Studio: the code is color-coded and auto-indented; the Auto-Completion feature mimics the IntelliSense® found in Visual Studio; and SlickEdit can be configured to support the same keyboard commands and shortcuts as Visual Studio (as well as those of a number of other popular editors). SlickEdit also offers a variety of refactoring options and pre-built code templates for quickly implementing common design patterns.

SlickEdit also contains a variety of features not found in Visual Studio. There's a built-in regular expression tester and menu options for merging files and highlighting differences in files. A highly configurable "Beautify" option lets you specify formatting rules—indentation, the style for the beginning and end of code blocks, comment style, and so on—and then, at the click of a button, all of the files can be beautified.

But what's most refreshing about SlickEdit is what isn't there. You won't find database editing tools or designers for building GUIs. By staying focused on its core task—code editing—SlickEdit offers a responsive and lightweight code editing environment without skimping on essential features.

SlickEdit is an ideal choice for developers or development teams that work in multiple environments. SlickEdit provides support for several OSs, including Windows, Linux, Mac OS X, Solaris, AIX, and other UNIX variants.

Price: $284 per single-user license.

www.slickedit.com

Modeling with Graphs

Graphs and flowcharts are excellent user interface elements for graphically depicting, creating, and modifying relationships among entities, for depicting workflow processes or networks, and for showing XML or other hierarchical data.

While adding such rich modeling interfaces to your own applications may seem daunting, it's actually a fairly straightforward process when using a third-party control designed to provide such functionality. One such control is FlowChart.NET version 4.2 from MindFusion, which can generate flowcharts, lane diagrams, hierarchies, and other kinds of classification graphs.

Figure flowchartnet Add Professional Graphs and Charts with FlowChart.NET

Figure flowchartnet** Add Professional Graphs and Charts with FlowChart.NET**
(Click the image for a larger view)

To create one of these graphs, simply drag the FlowChart control from the Toolbox onto your form. A variety of objects can be programmatically added to the FlowChart, including boxes, tables, arrows, and any built-in or custom .NET controls.

End users can manipulate the flowchart, performing such actions as adding new elements, resizing and repositioning them, selecting items, and modifying them. The FlowChart control includes a number of events that fire as the user manipulates the graph in various ways, making it easy to detect and to respond to a user's interactions as needed. The flowcharts can be saved to a stream or a binary, text, or XML file, and loaded back with just a couple of lines of code. The Pro edition includes support for exporting the flowcharts to PDF, Visio®, and SVG formats.

The FlowChart.NET download includes a series of demos that showcase some of the possibilities of this component—including using graphs and flowcharts to build a Web site map, manipulating database schemas, and viewing class diagrams loaded from an assembly. The UIs for these demos are very powerful, allowing the end user to graphically construct the site map, database schema, or view class structure, and virtually all of this functionality is built directly into the component. There is very little code backing each demo, and it is terse and easy to follow.

Price: $250 for a single-user license for the standard version; $500 for the professional edition.

www.mindfusion.org

The Bookshelf

While .NET programs can be created with any .NET programming language, over the last few years C# has become the language of choice for a number of developers. Part of what has fueled C#'s popularity is its straightforward semantics and ease of use.

One book I found particularly helpful for mastering C# is Trey Nash's Accelerated C# 2005 (Apress, 2006). It is geared toward intermediate developers with past experience in an object-oriented programming language, with the goal of helping them become C# experts.

The first half of the book focuses on C# syntax and semantics, examining core concepts like types, methods, events, object initialization and destruction, interfaces, overloading, inheritance, and so on. It provides a solid overview of the essentials of the C# programming language and will be invaluable to anyone making the switch to C#. Even those who already use C# on a daily basis are certain to learn more than a thing or two from these first chapters.

The second half of the book looks at implementing common design patterns in C#. There are chapters on how best to handle exceptions, how to efficiently work with arrays and collections, using delegates and events, and creating multithreaded applications. There is plenty of content on new C# 2005 features as well, including generics, iterators, and anonymous functions.

Slimmer than most programming texts at 401 pages, this book will appeal to readers who prefer concise writing. There are few sidebars or added examples—just distilled information with no wasted words.

Price: $39.99.

www.apress.com

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@4guysfrom­rolla.com or via his blog at ScottOnWriting.NET.

All prices were confirmed at press time and are subject to change. The opinions expressed in this column are solely those of the author and do not necessarily reflect the opinions of Microsoft.

MSDN Magazine does not make any representation or warranty, express or implied with respect to any code or other information herein. MSDN Magazine disclaims any liability whatsoever for any use of such code or other information.