<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DonS.CF</title>
	<atom:link href="https://blogs.msmvps.com/donscf/feed/" rel="self" type="application/rss+xml" />
	<link>https://blogs.msmvps.com/donscf</link>
	<description>Just another Microsoft MVPs site</description>
	<lastBuildDate>Sun, 01 Apr 2007 10:45:38 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.6.2</generator>
	<item>
		<title>My Code Camp 7 Presentations and Samples Now Available for Download</title>
		<link>https://blogs.msmvps.com/donscf/2007/04/01/my-code-camp-7-presentations-and-samples-now-available-for-download/</link>
					<comments>https://blogs.msmvps.com/donscf/2007/04/01/my-code-camp-7-presentations-and-samples-now-available-for-download/#respond</comments>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Sun, 01 Apr 2007 10:45:38 +0000</pubDate>
				<category><![CDATA[2685]]></category>
		<category><![CDATA[706]]></category>
		<category><![CDATA[711]]></category>
		<category><![CDATA[712]]></category>
		<guid isPermaLink="false">/blogs/donscf/archive/2007/04/01/my-code-camp-7-presentations-and-samples-now-available-for-download.aspx</guid>

					<description><![CDATA[Thanks to everyone who attended my two sessions at this weekend&#8217;s Code Camp7: Deer In The Headlights event. I really enjoyed the interaction, questions and comments during both sessions! As promised, my two presentations are now available for download. The&#160;ZIP files contain both the Powerpoint slides and any sample code&#160;shown during the session. Windows Mobile Application Performance Best Practices (592 KB) Leveraging Speech in .NET Applications and Windows Vista (211 KB) As an &#8220;added bonus&#8221;, I have put up the C# project I wrote to test out Ink and Speech with Vista and the Tablet PC. It is the little &#8230; <a href="https://blogs.msmvps.com/donscf/2007/04/01/my-code-camp-7-presentations-and-samples-now-available-for-download/" class="more-link">Continue reading My Code Camp 7 Presentations and Samples Now Available for Download</a>]]></description>
										<content:encoded><![CDATA[<p>Thanks to everyone who attended my two sessions at this weekend&#8217;s <strong><em>Code Camp7: Deer In The Headlights</em></strong> event. I really enjoyed the interaction, questions and comments during both sessions!</p>
<p>As promised, my two presentations are now available for download. The&nbsp;ZIP files contain both the Powerpoint slides and any sample code&nbsp;shown during the session.</p>
<ul>
<li><a href="http://www.bostonpocketpc.com/downloads/CC7_WMPerfBestPractices.zip">Windows Mobile Application Performance Best Practices (592 KB)</a>
<li><a href="http://www.bostonpocketpc.com/downloads/CC7_LeveragingSpeech.zip">Leveraging Speech in .NET Applications and Windows Vista (211 KB)</a></li>
</ul>
<p>As an &#8220;added bonus&#8221;, I have put up the C# project I wrote to test out Ink and Speech with Vista and the Tablet PC. It is the little spelling application I wrote for my son to do his homework, and domenstrates speech synthesis and the Tablet PC ink APIs. Even if you don&#8217;t have a Tablet PC, you can fill in the fields using your keyboard. The download also includes a setup installer for the compiled version of the application, allowing you to just install it and play around with it if you&#8217;d like.</p>
<ul>
<li><a href="http://www.bostonpocketpc.com/downloads/VistaSpellPractice.zip">Vista Spelling Practice Application (3.75 MB)</a></li>
</ul>
<p>Enjoy!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.msmvps.com/donscf/2007/04/01/my-code-camp-7-presentations-and-samples-now-available-for-download/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Determining Ink Capabilities at Runtime</title>
		<link>https://blogs.msmvps.com/donscf/2006/10/23/determining-ink-capabilities-at-runtime/</link>
					<comments>https://blogs.msmvps.com/donscf/2006/10/23/determining-ink-capabilities-at-runtime/#respond</comments>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Mon, 23 Oct 2006 10:37:42 +0000</pubDate>
				<category><![CDATA[708]]></category>
		<guid isPermaLink="false">/blogs/donscf/archive/2006/10/23/Determining-Ink-Capabilities-at-Runtime.aspx</guid>

					<description><![CDATA[I&#8217;ve been asked on a couple of occasions whether or not it is possible to determine if the Tablet PC OS is installed on a system running a .NET application. Typically, this would be beneficial if you were writing an application that wanted to support both ink and non-ink user input. While the InkEdit control included in the Tablet PC SDK does provide a simple way of supporting ink and non-ink input &#8220;out-of-the-box&#8221;, more complex solutions might wish to dynamically load different types of UI objects. There is an example of how you might do this over at MSDN. The &#8230; <a href="https://blogs.msmvps.com/donscf/2006/10/23/determining-ink-capabilities-at-runtime/" class="more-link">Continue reading Determining Ink Capabilities at Runtime</a>]]></description>
										<content:encoded><![CDATA[<p>I&#8217;ve been asked on a couple of occasions whether or not it is possible to determine if the Tablet PC OS is installed on a system running a .NET application. Typically, this would be beneficial if you were writing an application that wanted to support both ink and non-ink user input. While the InkEdit control included in the Tablet PC SDK does provide a simple way of supporting ink and non-ink input &#8220;out-of-the-box&#8221;, more complex solutions might wish to dynamically load different types of UI objects.</p>
<p>There is an example of how you might do this <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dntablet/html/BInkChat.asp" target="_blank">over at MSDN</a>. The C# example uses assembly loading and reflection to determine if the Microsoft.Ink assembly is loaded and whether or not ink recognition is available. </p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.msmvps.com/donscf/2006/10/23/determining-ink-capabilities-at-runtime/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Please Welcome The New Microsoft Developer Evangelist for New England &#8211; Chris Bowen!</title>
		<link>https://blogs.msmvps.com/donscf/2006/10/23/please-welcome-the-new-microsoft-developer-evangelist-for-new-england-chris-bowen/</link>
					<comments>https://blogs.msmvps.com/donscf/2006/10/23/please-welcome-the-new-microsoft-developer-evangelist-for-new-england-chris-bowen/#respond</comments>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Mon, 23 Oct 2006 09:08:03 +0000</pubDate>
				<category><![CDATA[710]]></category>
		<category><![CDATA[713]]></category>
		<guid isPermaLink="false">/blogs/donscf/archive/2006/10/23/Please-Welcome-The-New-Microsoft-Developer-Evangelist-for-New-England-_2D00_-Chris-Bowen_2100_.aspx</guid>

					<description><![CDATA[I happened to read Chris Bowen&#8217;s latest blog post today. He has accepted the position as Developer Evangelist for Microsoft in the New England district. While Chris follows a legacy of two fantaatic predecessors in Russ Fustino and Thom Robbins, he brings what I feel are the right &#8220;ingredients&#8221; for success &#8211; A deep understanding of Microsoft platforms, tools and technologies; A wealth of experience with the .NET platform; Strong ties to the Microsoft developer community in New England. I have had the pleasure of knowing Chris for a while, and I am truly pleased for both him and the &#8230; <a href="https://blogs.msmvps.com/donscf/2006/10/23/please-welcome-the-new-microsoft-developer-evangelist-for-new-england-chris-bowen/" class="more-link">Continue reading Please Welcome The New Microsoft Developer Evangelist for New England &#8211; Chris Bowen!</a>]]></description>
										<content:encoded><![CDATA[<p>I happened to read <a href="http://dotnetjunkies.com/WebLog/christopherbowen/archive/2006/10/22/151379.aspx" target="_blank">Chris Bowen&#8217;s latest blog post</a> today. He has accepted the position as Developer Evangelist for Microsoft in the New England district. While Chris follows a legacy of two fantaatic predecessors in Russ Fustino and Thom Robbins, he brings what I feel are the right &#8220;ingredients&#8221; for success &#8211;</p>
<ul>
<li>A deep understanding of Microsoft platforms, tools and technologies;</li>
<li>A wealth of experience with the .NET platform;</li>
<li>Strong ties to the Microsoft developer community in New England.</li>
</ul>
<p>I have had the pleasure of knowing Chris for a while, and I am truly pleased for both him and the community. </p>
<p>&nbsp;</p>
<p>BTW &#8211; Chris (much like his predecessors) has a great sense of humor. This &#8220;soft skill&#8221; goes a long way in my book&#8230; <img src="https://s.w.org/images/core/emoji/13.0.1/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.msmvps.com/donscf/2006/10/23/please-welcome-the-new-microsoft-developer-evangelist-for-new-england-chris-bowen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Windows Live Writer Beta&#8230;</title>
		<link>https://blogs.msmvps.com/donscf/2006/10/17/windows-live-writer-beta/</link>
					<comments>https://blogs.msmvps.com/donscf/2006/10/17/windows-live-writer-beta/#respond</comments>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Tue, 17 Oct 2006 10:14:01 +0000</pubDate>
				<category><![CDATA[713]]></category>
		<guid isPermaLink="false">/blogs/donscf/archive/2006/10/17/Windows-Live-Writer-Beta_2E00__2E00__2E00_.aspx</guid>

					<description><![CDATA[Gee &#8211; I almost forgot to mention&#8230; I have started using the Windows Live Writer Beta. The posts made over the last several days use it. Having used w.bloggar&#160;and BlogJet&#160;in the past, I have found Windows Live Writer to be similar in functionality. Considering that it is free, it&#8217;s a pretty nice little offline blogging tool.]]></description>
										<content:encoded><![CDATA[<p>Gee &#8211; I almost forgot to mention&#8230;</p>
<p>I have started using the <a href="http://windowslivewriter.spaces.live.com/" target="_blank">Windows Live Writer Beta</a>. The posts made over the last several days use it. Having used <a href="http://www.wbloggar.com/" target="_blank">w.bloggar</a>&nbsp;and <a href="http://www.blogjet.com/">BlogJet</a>&nbsp;in the past, I have found Windows Live Writer to be similar in functionality. Considering that it is free, it&#8217;s a pretty nice little offline blogging tool.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.msmvps.com/donscf/2006/10/17/windows-live-writer-beta/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Club Pocket PC &#8211; Boston Meeting: Wednesday, Oct. 18th, 2006</title>
		<link>https://blogs.msmvps.com/donscf/2006/10/17/club-pocket-pc-boston-meeting-wednesday-oct-18th-2006/</link>
					<comments>https://blogs.msmvps.com/donscf/2006/10/17/club-pocket-pc-boston-meeting-wednesday-oct-18th-2006/#respond</comments>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Tue, 17 Oct 2006 10:04:37 +0000</pubDate>
				<category><![CDATA[2685]]></category>
		<category><![CDATA[707]]></category>
		<category><![CDATA[708]]></category>
		<category><![CDATA[712]]></category>
		<guid isPermaLink="false">/blogs/donscf/archive/2006/10/17/Club-Pocket-PC-_2D00_-Boston-Meeting_3A00_-Wednesday_2C00_-Oct.-18th_2C00_-2006.aspx</guid>

					<description><![CDATA[FYI &#8211; The next meeting of Club Pocket PC &#8211; Boston will be held on Wednesday, October 18th at 6:30 PM at the Microsoft office in Waltham, MA. Presentations include: FIRST LOOK: Windows Mobile Device Center for Windows Vista. If you are wondering about how your Windows Mobile device will work with the upcoming Windows Vista operating system, this presentaton will give you insight to the successor to ActiveSync. Microsoft SLAM for Windows Mobile Smartphones. Microsoft Research recently launched SLAM (Social/Location/Annotation/Mobile), a concept application for Windows Mobile Smartphone. SLAM is focused o&#173;n social networking with small groups, exchanging conversations and &#8230; <a href="https://blogs.msmvps.com/donscf/2006/10/17/club-pocket-pc-boston-meeting-wednesday-oct-18th-2006/" class="more-link">Continue reading Club Pocket PC &#8211; Boston Meeting: Wednesday, Oct. 18th, 2006</a>]]></description>
										<content:encoded><![CDATA[<p>FYI &#8211; The next meeting of Club Pocket PC &#8211; Boston will be held on Wednesday, October 18th at 6:30 PM at the Microsoft office in Waltham, MA.</p>
<p>Presentations include:</p>
<ul>
<li><em>FIRST LOOK: Windows Mobile Device Center for Windows Vista</em>. If you are wondering about how your Windows Mobile device will work with the upcoming Windows Vista operating system, this presentaton will give you insight to the successor to ActiveSync.</li>
<li><em>Microsoft SLAM for Windows Mobile Smartphones. </em>Microsoft Research recently launched SLAM (Social/Location/Annotation/Mobile), a concept application for Windows Mobile Smartphone. SLAM is focused o&shy;n social networking with small groups, exchanging conversations and other media. If you are interested in seeing what Microsoft is thinking in the mobile device social networking space, then this demonstration is a must-see.</li>
<li><em>Ink Enabling Applications for Microsoft Windows Tablet PC Edition. </em>Digital ink functionality has always been a cornerstone of the Microsoft Windows XP Tablet PC Edition platform. Surprisingly, however, there has been slower than anticipated release of &#8220;ink-enabled&#8221; applications. If you are a .NET developer, you may be very surprised to see just how easy it is to provide ink functionality to your users. This presentation will demonstrate the common steps to support digital ink and related tasks.</li>
</ul>
<p>I will be presenting the ink-enablement session (and working with my &#8220;partner in crime&#8221; Steven &#8220;fyiguy&#8221; Hughes on the other presentations as well. As always, it&#8217;s a great opportunity to learn and meet other Windows Mobile and mobile technology enthusiasts. Hope to see some of you there!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.msmvps.com/donscf/2006/10/17/club-pocket-pc-boston-meeting-wednesday-oct-18th-2006/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Speech in 3 Lines of Code with the .NET Framework 3.0 and Windows Vista</title>
		<link>https://blogs.msmvps.com/donscf/2006/10/17/speech-in-3-lines-of-code-with-the-net-framework-3-0-and-windows-vista/</link>
					<comments>https://blogs.msmvps.com/donscf/2006/10/17/speech-in-3-lines-of-code-with-the-net-framework-3-0-and-windows-vista/#respond</comments>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Tue, 17 Oct 2006 08:25:02 +0000</pubDate>
				<category><![CDATA[2685]]></category>
		<category><![CDATA[711]]></category>
		<guid isPermaLink="false">/blogs/donscf/archive/2006/10/17/Speech-in-3-Lines-of-Code-with-the-.NET-Framework-3.0-and-Windows-Vista.aspx</guid>

					<description><![CDATA[To do this, you will need: 1) Windows Vista (prefereably, RC2 or higher). This ships with the .NET Framework 3.0 included. Perform the following steps in Visual Studio 2005 (C# shown): Create a new Windows Application project. Under the project, add a new reference. Select System.Speech from the .NET tab. Create a Windows Form, and add a button to it. Name the button btnSpeak. [Code Line 1] Add a reference to the System.Speech.Systhesis namespace using the using keyword. using System.Speech.Synthesis; .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, &#8220;Courier New&#8221;, courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode &#8230; <a href="https://blogs.msmvps.com/donscf/2006/10/17/speech-in-3-lines-of-code-with-the-net-framework-3-0-and-windows-vista/" class="more-link">Continue reading Speech in 3 Lines of Code with the .NET Framework 3.0 and Windows Vista</a>]]></description>
										<content:encoded><![CDATA[<p>To do this, you will need:</p>
<p>1) Windows Vista (prefereably, RC2 or higher). This ships with the .NET Framework 3.0 included.</p>
<p>Perform the following steps in Visual Studio 2005 (C# shown):</p>
<ol>
<li>Create a new Windows Application project.</li>
<li>Under the project, add a new reference. Select <em>System.Speech</em> from the .NET tab.</li>
<li>Create a Windows Form, and add a button to it. Name the button <em>btnSpeak</em>.</li>
<li>[Code Line 1] Add a reference to the <em>System.Speech.Systhesis</em> namespace using the <em>using </em>keyword.</li>
<pre class="csharpcode"><span class="kwrd">using</span> System.Speech.Synthesis;</pre>
<p>.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, &#8220;Courier New&#8221;, courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt<br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</p>
<li>[Code Line 2] Create an instance variable for a <em>SpeechSynthesizer</em> object.</li>
<pre class="csharpcode"><span class="kwrd">private</span> SpeechSynthesizer mySpokenWords = <span class="kwrd">new</span> SpeechSynthesizer();</pre>
<p>.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, &#8220;Courier New&#8221;, courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt<br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</p>
<li>Create an event handler for the btnSpeak&#8217;s Click event.</li>
<li>[Code Line 3] Add the following code to the Click event handler:</li>
<pre class="csharpcode">mySpokenWords.Speak(<span class="str">"Hello World!"</span>);</pre>
<p>.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, &#8220;Courier New&#8221;, courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt<br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</p>
<p>.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, &#8220;Courier New&#8221;, courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt<br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</p>
<p>.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, &#8220;Courier New&#8221;, courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt<br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</p>
</ol>
<p>&nbsp;</p>
<p>Compile and run the code. Click on the button and listen to the result.</p>
<p>That&#8217;s all there really is to it!</p>
<p>Total Code:</p>
<pre class="csharpcode"><span class="kwrd">using</span> System;
<span class="kwrd">using</span> System.Collections.Generic;
<span class="kwrd">using</span> System.ComponentModel;
<span class="kwrd">using</span> System.Data;
<span class="kwrd">using</span> System.Drawing;
<span class="kwrd">using</span> System.Text;
<span class="kwrd">using</span> System.Windows.Forms;
<span class="kwrd">using</span> System.Speech.Synthesis;

<span class="kwrd">namespace</span> SpeakHelloWorld
{
    <span class="kwrd">public</span> <span class="kwrd">partial</span> <span class="kwrd">class</span> Form1 : Form
    {
        <span class="kwrd">private</span> SpeechSynthesizer mySpokenWords = <span class="kwrd">new</span> SpeechSynthesizer();

        <span class="kwrd">public</span> Form1()
        {
            InitializeComponent();
        }

        <span class="kwrd">private</span> <span class="kwrd">void</span> btnSpeak_Click(<span class="kwrd">object</span> sender, EventArgs e)
        {
            mySpokenWords.Speak(<span class="str">"Hello World!"</span>);
        }
    }
}</pre>
<p>.csharpcode, .csharpcode pre<br />
{<br />
	font-size: small;<br />
	color: black;<br />
	font-family: consolas, &#8220;Courier New&#8221;, courier, monospace;<br />
	background-color: #ffffff;<br />
	/*white-space: pre;*/<br />
}<br />
.csharpcode pre { margin: 0em; }<br />
.csharpcode .rem { color: #008000; }<br />
.csharpcode .kwrd { color: #0000ff; }<br />
.csharpcode .str { color: #006080; }<br />
.csharpcode .op { color: #0000c0; }<br />
.csharpcode .preproc { color: #cc6633; }<br />
.csharpcode .asp { background-color: #ffff00; }<br />
.csharpcode .html { color: #800000; }<br />
.csharpcode .attr { color: #ff0000; }<br />
.csharpcode .alt<br />
{<br />
	background-color: #f4f4f4;<br />
	width: 100%;<br />
	margin: 0em;<br />
}<br />
.csharpcode .lnum { color: #606060; }</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.msmvps.com/donscf/2006/10/17/speech-in-3-lines-of-code-with-the-net-framework-3-0-and-windows-vista/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The .NET Framework 3.0 &#8211; Taking Things &#034;One Piece At A Time&#034;</title>
		<link>https://blogs.msmvps.com/donscf/2006/10/14/the-net-framework-3-0-taking-things-one-piece-at-a-time/</link>
					<comments>https://blogs.msmvps.com/donscf/2006/10/14/the-net-framework-3-0-taking-things-one-piece-at-a-time/#respond</comments>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Sat, 14 Oct 2006 12:42:23 +0000</pubDate>
				<category><![CDATA[2685]]></category>
		<category><![CDATA[710]]></category>
		<category><![CDATA[711]]></category>
		<guid isPermaLink="false">/blogs/donscf/archive/2006/10/14/The-.NET-Framework-3.0-_2D00_-Taking-Things-_2200_One-Piece-At-A-Time_2200_.aspx</guid>

					<description><![CDATA[I recently spoke at the Software Association of New Hampshire&#8217;s annual InfoXchange event&#160;on the .NET Framework 3.0. I had approximately 30 minutes to address the topic &#8220;What Is the .NET Framework 3.0, and Why Should I Care?&#8221;. It reminded me of those essay questions that went something like this &#8211; Describe the American Revolution and it&#8217;s impact on geopolitics in 200 words or less. 🙂 I found myself facing a really serious challenge here. As I started to think about how much is really in the .NET Framework 3.0, I realized that for many developers, this could be intimidating (especially &#8230; <a href="https://blogs.msmvps.com/donscf/2006/10/14/the-net-framework-3-0-taking-things-one-piece-at-a-time/" class="more-link">Continue reading The .NET Framework 3.0 &#8211; Taking Things &#34;One Piece At A Time&#34;</a>]]></description>
										<content:encoded><![CDATA[<p>I recently spoke at the <a href="http://www.swanh.org/" target="_blank">Software Association of New Hampshire&#8217;s</a> annual <a href="http://www.swanh.org/infoxchange">InfoXchange event</a>&nbsp;on the .NET Framework 3.0. I had approximately 30 minutes to address the topic &#8220;What Is the .NET Framework 3.0, and Why Should I Care?&#8221;. It reminded me of those essay questions that went something like this &#8211;</p>
<p><em>Describe the American Revolution and it&#8217;s impact on geopolitics in 200 words or less. </em><img src="https://s.w.org/images/core/emoji/13.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>I found myself facing a really serious challenge here. As I started to think about how much is really in the .NET Framework 3.0, I realized that for many developers, this could be intimidating (especially from an initial impression respective). I wanted to make certain that (given the short timeframe of the presentation and the need to generalize, I could scare off more people than I would help. I found the answer to how I finally approached the situation, thanks to my two small sons (particularly my oldest, six year-old Nicolas).</p>
<p>Nicolas likes to try out puzzles every once in a while. When I say &#8220;puzzles&#8221;, I mean just that &#8211; the classic tabletop <em>x</em> number of pieces board puzzles. As he gets older, he has worked with increasingly complex puzzles. Now, he has (on occasion) opened a puzzle box and poured out the pieces and stared in disbelief at the sheer number of pieces. Usually, his response is &#8220;Dad, forget it. This is just gonna be way too hard.&#8221; I usually respond with &#8220;OK &#8211; let&#8217;s at a time.&#8221; We first find the corner and edge pieces. Then, we group pieces by commonality (perhaps color or imagery). Finally, we focus on&nbsp;one area of the puzzle at a time. Usually, my son ends up saying something like &#8220;Wow, Dad! That really wasn&#8217;t so hard.&#8221;</p>
<p>I realized the other day that the .NET Framework 3.0 is a lot like my son&#8217;s puzzles. At first glance, the .NET Framework 3.0 can translate to &#8220;A whole lotta new stuff to learn.&#8221; Unfortunately, that typically leads to the common fears of all developers (including myself). If the time is taken, however, to look at each of the &#8220;components&#8221; of the old <em>WinFX</em> (the &#8220;new part&#8221; of the .NET FW 3.0) individually, the learning curve might surprise you. It certainly did surprise me. </p>
<p>I ended up taking the time in my presentation to break down each of the new technologies in the .NET Framework 3.0, highlighting what functionality is provided and why it might matter to the developer and/or business owner. There are any number of compelling reasons why the .NET FW 3.0 could be of benefit &#8211; but I will leave that to another blog post <img src="https://s.w.org/images/core/emoji/13.0.1/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> In the meantime, I strongly encourage you to take some time to look at the .NET FW 3.0 from a &#8220;mid-level&#8221; perspective. Not too high-level or too low-level, which can be very intimidating. Instead, take things &#8220;one piece at a time&#8221;.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.msmvps.com/donscf/2006/10/14/the-net-framework-3-0-taking-things-one-piece-at-a-time/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Using The New Microsoft.Speech Namespace in the .NET Framework 3.0/Vista</title>
		<link>https://blogs.msmvps.com/donscf/2006/10/11/using-the-new-microsoft-speech-namespace-in-the-net-framework-3-0vista/</link>
					<comments>https://blogs.msmvps.com/donscf/2006/10/11/using-the-new-microsoft-speech-namespace-in-the-net-framework-3-0vista/#respond</comments>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Wed, 11 Oct 2006 08:32:00 +0000</pubDate>
				<category><![CDATA[2685]]></category>
		<category><![CDATA[708]]></category>
		<guid isPermaLink="false">/blogs/donscf/archive/2006/10/11/Using-The-New-Microsoft.Speech-Namespace-in-the-.NET-Framework-3.0_2F00_Vista.aspx</guid>

					<description><![CDATA[I have had the opportunity to work with the new Microsoft.Speech namespace in the .NET Framework 3.0. The short of it &#8211; it rocks! Very easy to get started, but a wealth of sophisticated functionality for developers. Of course, you need to be running Vista in order to make this happen. One thing I really liked is the bringing forward of some of the concepts of Microsoft Speech Server and the Speech Application SDK (&#34;SASDK&#34;) into the client-side API. Most notable is the whole prompt database concept, allowing for structured interaction with the user. You do not have to use &#8230; <a href="https://blogs.msmvps.com/donscf/2006/10/11/using-the-new-microsoft-speech-namespace-in-the-net-framework-3-0vista/" class="more-link">Continue reading Using The New Microsoft.Speech Namespace in the .NET Framework 3.0/Vista</a>]]></description>
										<content:encoded><![CDATA[<p>I have had the opportunity to work with the new Microsoft.Speech namespace in the .NET Framework 3.0. The short of it &#8211; <em>it rocks!</em> Very easy to get started, but a wealth of sophisticated functionality for developers. Of course, you need to be running Vista in order to make this happen. One thing I really liked is the bringing forward of some of the concepts of Microsoft Speech Server and the Speech Application SDK (&quot;SASDK&quot;) into the client-side API. Most notable is the whole prompt database concept, allowing for structured interaction with the user. You do not <em>have</em> to use this, however, as the SpeechSynthesizer.Speak() method does allow for the use of any text string to be spoken.</p>
<p>While most of the messaging around the Speech API is focused on accessibility, speech interaction can be useful on the desktop in other situations. Case in point &#8211;</p>
<p>My 6 year-old son is in first grade and learning his spelling. He comes home at the beginning of the week with a new list of spelling words to learn. I decided to combine the power of the Tablet PC with the new Speech API. The result was an application that:</p>
<p>1) Allows the user (I would assume an adult) to create lists of words to practice. The list is stored as XML. Multiple lists can be created.<br />2) Has the user go through each word. The application speaks the word, then the user spells it by writing on the Tablet PC. Once finished, they tap on a big color-coded button to check the spelling.<br />3) If the answer is correct, the application says so by voice, then provides a little applause. If the answer is worng, the application says so (in a nice and encouraging way), and a little &quot;awww&quot; is played. The user can always try again.<br />4) At the end, a tally of total words and correctly spelled words is provided.</p>
<p>Total time to develop the application &#8211; about 4 hours from concept to realization. Most of the time was spent on UI creation; writing the Tablet PC-specific code and Speech interface was more of a matter of minutes than hours.</p>
<p>I really think there are many more possible uses for the new Speech API. Just think of something you do currently that involves reading. Would a voice interface be nicer or improve productivity? If the answer is even &quot;maybe&quot;, then you should check it out.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.msmvps.com/donscf/2006/10/11/using-the-new-microsoft-speech-namespace-in-the-net-framework-3-0vista/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Windows Mobile Installers and Vista/WMDC</title>
		<link>https://blogs.msmvps.com/donscf/2006/10/11/windows-mobile-installers-and-vistawmdc/</link>
					<comments>https://blogs.msmvps.com/donscf/2006/10/11/windows-mobile-installers-and-vistawmdc/#comments</comments>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Wed, 11 Oct 2006 08:23:00 +0000</pubDate>
				<category><![CDATA[706]]></category>
		<category><![CDATA[710]]></category>
		<guid isPermaLink="false">/blogs/donscf/archive/2006/10/11/Windows-Mobile-Installers-and-Vista_2F00_WMDC.aspx</guid>

					<description><![CDATA[Just a heads up to all of you Windows Mobile application developers &#8211; If you build an installer for your application, be sure that you do *not* hard code your path to ceappmgr.exe in order to copy and install your CAB files. Instead, you should be looking at the registry for the location of ceappmgr.exe first. The registry key is the same as it has been in the past &#8211; HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\CEAPPMGR.EXE The location of ceappmgr.exe has changed, and (always a possibility) could change again. I have noticed that some application installs are failing under the new Windows Mobile Device &#8230; <a href="https://blogs.msmvps.com/donscf/2006/10/11/windows-mobile-installers-and-vistawmdc/" class="more-link">Continue reading Windows Mobile Installers and Vista/WMDC</a>]]></description>
										<content:encoded><![CDATA[<p>Just a heads up to all of you Windows Mobile application developers &#8211;</p>
<p>If you build an installer for your application, be sure that you do *not* hard code your path to ceappmgr.exe in order to copy and install your CAB files. Instead, you should be looking at the registry for the location of ceappmgr.exe first. The registry key is the same as it has been in the past &#8211;</p>
<p><em>HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\CEAPPMGR.EXE</em></p>
<p>The location of ceappmgr.exe has changed, and (always a possibility) could change again. </p>
<p>I have noticed that some application installs are failing under the new Windows Mobile Device Center (&quot;WMDC&quot;), while others are succeeding. Having used the registry key technique for all of my CAB installs, Imy applications are not experiencing any issues.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.msmvps.com/donscf/2006/10/11/windows-mobile-installers-and-vistawmdc/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Windows Mobile Developer Virtual User Group Meeting September 20th</title>
		<link>https://blogs.msmvps.com/donscf/2006/08/16/windows-mobile-developer-virtual-user-group-meeting-september-20th/</link>
					<comments>https://blogs.msmvps.com/donscf/2006/08/16/windows-mobile-developer-virtual-user-group-meeting-september-20th/#respond</comments>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Wed, 16 Aug 2006 13:50:00 +0000</pubDate>
				<category><![CDATA[706]]></category>
		<category><![CDATA[712]]></category>
		<category><![CDATA[957]]></category>
		<guid isPermaLink="false">/blogs/donscf/archive/2006/08/16/107820.aspx</guid>

					<description><![CDATA[The next meeting of the Windows Mobile Developer Virtual User Group (”WMDVUG”) will be held on Wednesday, September 20th from 12 Noon &#8211; 2 PM EDT. You can register for this Live Meeting event at the Microsoft Events web site. AGENDA* Welcome* Announcements This month’s presentation:Sharing assets between the .NET Compact Framework and the .NET Framework (Presenter &#8211; Daniel Moth) Whether you were first introduced to .NET via the Compact Framework / Windows Mobile or via the full .NET Framework on the PC, it may make sense to share your code assets between the two platforms. In this session we &#8230; <a href="https://blogs.msmvps.com/donscf/2006/08/16/windows-mobile-developer-virtual-user-group-meeting-september-20th/" class="more-link">Continue reading Windows Mobile Developer Virtual User Group Meeting September 20th</a>]]></description>
										<content:encoded><![CDATA[<p><DIV class="entry"><br />
<P>The next meeting of the Windows Mobile Developer Virtual User Group (”WMDVUG”) will be held on Wednesday, September 20th from 12 Noon &#8211; 2 PM EDT. You can register for this Live Meeting event at <A href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032306143&amp;Culture=en-US" target="_blank">the Microsoft Events web site</A>.</P><br />
<P><STRONG>AGENDA<BR></STRONG>* Welcome<BR>* Announcements</P><br />
<P>This month’s presentation:<BR><EM>Sharing assets between the .NET Compact Framework and the .NET Framework </EM>(Presenter &#8211; <A href="http://www.danielmoth.com/Blog" target="_blank">Daniel Moth</A>)</P><br />
<P>Whether you were first introduced to .NET via the Compact Framework / Windows Mobile or via the full .NET Framework on the PC, it may make sense to share your code assets between the two platforms. In this session we will explore when you should be doing this and when not. We will then explore the options available (e.g. directly sharing binaries or conditional compilation) and drill into problems and workarounds. This will include framework differences, platform/OS differences, optimal usage of Visual Studio 2005 and how things have improved since NETCF v1 </P></DIV></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blogs.msmvps.com/donscf/2006/08/16/windows-mobile-developer-virtual-user-group-meeting-september-20th/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
