<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>DonS.CF : Vista</title><link>http://msmvps.com/blogs/donscf/archive/tags/Vista/default.aspx</link><description>Tags: Vista</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>My Code Camp 7 Presentations and Samples Now Available for Download</title><link>http://msmvps.com/blogs/donscf/archive/2007/04/01/my-code-camp-7-presentations-and-samples-now-available-for-download.aspx</link><pubDate>Sun, 01 Apr 2007 15:45:38 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:739213</guid><dc:creator>Dons</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/donscf/rsscomments.aspx?PostID=739213</wfw:commentRss><comments>http://msmvps.com/blogs/donscf/archive/2007/04/01/my-code-camp-7-presentations-and-samples-now-available-for-download.aspx#comments</comments><description>&lt;p&gt;Thanks to everyone who attended my two sessions at this weekend's &lt;strong&gt;&lt;em&gt;Code Camp7: Deer In The Headlights&lt;/em&gt;&lt;/strong&gt; event. I really enjoyed the interaction, questions and comments during both sessions!&lt;/p&gt; &lt;p&gt;As promised, my two presentations are now available for download. The&amp;nbsp;ZIP files contain both the Powerpoint slides and any sample code&amp;nbsp;shown during the session.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.bostonpocketpc.com/downloads/CC7_WMPerfBestPractices.zip"&gt;Windows Mobile Application Performance Best Practices (592 KB)&lt;/a&gt;  &lt;li&gt;&lt;a href="http://www.bostonpocketpc.com/downloads/CC7_LeveragingSpeech.zip"&gt;Leveraging Speech in .NET Applications and Windows Vista (211 KB)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;As an "added bonus", 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'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'd like.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.bostonpocketpc.com/downloads/VistaSpellPractice.zip"&gt;Vista Spelling Practice Application (3.75 MB)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=739213" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/donscf/archive/tags/.NET+Compact+Framework/default.aspx">.NET Compact Framework</category><category domain="http://msmvps.com/blogs/donscf/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://msmvps.com/blogs/donscf/archive/tags/Events/default.aspx">Events</category><category domain="http://msmvps.com/blogs/donscf/archive/tags/Vista/default.aspx">Vista</category></item><item><title>Club Pocket PC - Boston Meeting: Wednesday, Oct. 18th, 2006</title><link>http://msmvps.com/blogs/donscf/archive/2006/10/17/Club-Pocket-PC-_2D00_-Boston-Meeting_3A00_-Wednesday_2C00_-Oct.-18th_2C00_-2006.aspx</link><pubDate>Tue, 17 Oct 2006 15:04:37 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:181957</guid><dc:creator>Dons</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/donscf/rsscomments.aspx?PostID=181957</wfw:commentRss><comments>http://msmvps.com/blogs/donscf/archive/2006/10/17/Club-Pocket-PC-_2D00_-Boston-Meeting_3A00_-Wednesday_2C00_-Oct.-18th_2C00_-2006.aspx#comments</comments><description>&lt;p&gt;FYI - The next meeting of Club Pocket PC - Boston will be held on Wednesday, October 18th at 6:30 PM at the Microsoft office in Waltham, MA.&lt;/p&gt; &lt;p&gt;Presentations include:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;em&gt;FIRST LOOK: Windows Mobile Device Center for Windows Vista&lt;/em&gt;. 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.&lt;/li&gt; &lt;li&gt;&lt;em&gt;Microsoft SLAM for Windows Mobile Smartphones. &lt;/em&gt;Microsoft Research recently launched SLAM (Social/Location/Annotation/Mobile), a concept application for Windows Mobile Smartphone. SLAM is focused o&amp;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.&lt;/li&gt; &lt;li&gt;&lt;em&gt;Ink Enabling Applications for Microsoft Windows Tablet PC Edition. &lt;/em&gt;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 "ink-enabled" 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.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;I will be presenting the ink-enablement session (and working with my "partner in crime" Steven "fyiguy" Hughes on the other presentations as well. As always, it's a great opportunity to learn and meet other Windows Mobile and mobile technology enthusiasts. Hope to see some of you there!&lt;/p&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=181957" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/donscf/archive/tags/Windows+Mobile+Hardware/default.aspx">Windows Mobile Hardware</category><category domain="http://msmvps.com/blogs/donscf/archive/tags/Tablet+PC+Development/default.aspx">Tablet PC Development</category><category domain="http://msmvps.com/blogs/donscf/archive/tags/Events/default.aspx">Events</category><category domain="http://msmvps.com/blogs/donscf/archive/tags/Vista/default.aspx">Vista</category></item><item><title>Speech in 3 Lines of Code with the .NET Framework 3.0 and Windows Vista</title><link>http://msmvps.com/blogs/donscf/archive/2006/10/17/Speech-in-3-Lines-of-Code-with-the-.NET-Framework-3.0-and-Windows-Vista.aspx</link><pubDate>Tue, 17 Oct 2006 13:25:02 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:181858</guid><dc:creator>Dons</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/donscf/rsscomments.aspx?PostID=181858</wfw:commentRss><comments>http://msmvps.com/blogs/donscf/archive/2006/10/17/Speech-in-3-Lines-of-Code-with-the-.NET-Framework-3.0-and-Windows-Vista.aspx#comments</comments><description>&lt;p&gt;To do this, you will need:&lt;/p&gt; &lt;p&gt;1) Windows Vista (prefereably, RC2 or higher). This ships with the .NET Framework 3.0 included.&lt;/p&gt; &lt;p&gt;Perform the following steps in Visual Studio 2005 (C# shown):&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Create a new Windows Application project.&lt;/li&gt; &lt;li&gt;Under the project, add a new reference. Select &lt;em&gt;System.Speech&lt;/em&gt; from the .NET tab.&lt;/li&gt; &lt;li&gt;Create a Windows Form, and add a button to it. Name the button &lt;em&gt;btnSpeak&lt;/em&gt;.&lt;/li&gt; &lt;li&gt;[Code Line 1] Add a reference to the &lt;em&gt;System.Speech.Systhesis&lt;/em&gt; namespace using the &lt;em&gt;using &lt;/em&gt;keyword.&lt;br&gt;&lt;/li&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Speech.Synthesis;&lt;/pre&gt;
&lt;style&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;li&gt;[Code Line 2] Create an instance variable for a &lt;em&gt;SpeechSynthesizer&lt;/em&gt; object.&lt;br&gt;&lt;/li&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt; SpeechSynthesizer mySpokenWords = &lt;span class="kwrd"&gt;new&lt;/span&gt; SpeechSynthesizer();&lt;/pre&gt;
&lt;style&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;li&gt;Create an event handler for the btnSpeak's Click event.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;[Code Line 3] Add the following code to the Click event handler:&lt;br&gt;&lt;/li&gt;&lt;pre class="csharpcode"&gt;mySpokenWords.Speak(&lt;span class="str"&gt;"Hello World!"&lt;/span&gt;);&lt;/pre&gt;
&lt;style&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;

&lt;style&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Compile and run the code. Click on the button and listen to the result.&lt;/p&gt;
&lt;p&gt;That's all there really is to it!&lt;/p&gt;
&lt;p&gt;Total Code:&lt;br&gt;&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections.Generic;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.ComponentModel;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Data;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Drawing;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Text;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Windows.Forms;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Speech.Synthesis;

&lt;span class="kwrd"&gt;namespace&lt;/span&gt; SpeakHelloWorld
{
    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;partial&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; Form1 : Form
    {
        &lt;span class="kwrd"&gt;private&lt;/span&gt; SpeechSynthesizer mySpokenWords = &lt;span class="kwrd"&gt;new&lt;/span&gt; SpeechSynthesizer();

        &lt;span class="kwrd"&gt;public&lt;/span&gt; Form1()
        {
            InitializeComponent();
        }

        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; btnSpeak_Click(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, EventArgs e)
        {
            mySpokenWords.Speak(&lt;span class="str"&gt;"Hello World!"&lt;/span&gt;);
        }
    }
}&lt;/pre&gt;
&lt;style&gt;.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
&lt;/style&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=181858" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/donscf/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://msmvps.com/blogs/donscf/archive/tags/Vista/default.aspx">Vista</category></item><item><title>The .NET Framework 3.0 - Taking Things "One Piece At A Time"</title><link>http://msmvps.com/blogs/donscf/archive/2006/10/14/The-.NET-Framework-3.0-_2D00_-Taking-Things-_2200_One-Piece-At-A-Time_2200_.aspx</link><pubDate>Sat, 14 Oct 2006 17:42:23 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:176873</guid><dc:creator>Dons</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/donscf/rsscomments.aspx?PostID=176873</wfw:commentRss><comments>http://msmvps.com/blogs/donscf/archive/2006/10/14/The-.NET-Framework-3.0-_2D00_-Taking-Things-_2200_One-Piece-At-A-Time_2200_.aspx#comments</comments><description>&lt;p&gt;I recently spoke at the &lt;a href="http://www.swanh.org/" target="_blank"&gt;Software Association of New Hampshire's&lt;/a&gt; annual &lt;a href="http://www.swanh.org/infoxchange"&gt;InfoXchange event&lt;/a&gt;&amp;nbsp;on the .NET Framework 3.0. I had approximately 30 minutes to address the topic "What Is the .NET Framework 3.0, and Why Should I Care?". It reminded me of those essay questions that went something like this -&lt;/p&gt; &lt;p&gt;&lt;em&gt;Describe the American Revolution and it's impact on geopolitics in 200 words or less. &lt;/em&gt;:-)&lt;/p&gt; &lt;p&gt;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).&lt;/p&gt; &lt;p&gt;Nicolas likes to try out puzzles every once in a while. When I say "puzzles", I mean just that - the classic tabletop &lt;em&gt;x&lt;/em&gt; 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 "Dad, forget it. This is just gonna be way too hard." I usually respond with "OK - let's at a time." We first find the corner and edge pieces. Then, we group pieces by commonality (perhaps color or imagery). Finally, we focus on&amp;nbsp;one area of the puzzle at a time. Usually, my son ends up saying something like "Wow, Dad! That really wasn't so hard."&lt;/p&gt; &lt;p&gt;I realized the other day that the .NET Framework 3.0 is a lot like my son's puzzles. At first glance, the .NET Framework 3.0 can translate to "A whole lotta new stuff to learn." 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 "components" of the old &lt;em&gt;WinFX&lt;/em&gt; (the "new part" of the .NET FW 3.0) individually, the learning curve might surprise you. It certainly did surprise me. &lt;/p&gt; &lt;p&gt;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 - but I will leave that to another blog post ;-) In the meantime, I strongly encourage you to take some time to look at the .NET FW 3.0 from a "mid-level" perspective. Not too high-level or too low-level, which can be very intimidating. Instead, take things "one piece at a time".&lt;/p&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=176873" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/donscf/archive/tags/Enterprise+Architecture+and+Development/default.aspx">Enterprise Architecture and Development</category><category domain="http://msmvps.com/blogs/donscf/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://msmvps.com/blogs/donscf/archive/tags/Vista/default.aspx">Vista</category></item><item><title>Using The New Microsoft.Speech Namespace in the .NET Framework 3.0/Vista</title><link>http://msmvps.com/blogs/donscf/archive/2006/10/11/Using-The-New-Microsoft.Speech-Namespace-in-the-.NET-Framework-3.0_2F00_Vista.aspx</link><pubDate>Wed, 11 Oct 2006 13:32:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:171099</guid><dc:creator>Dons</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/donscf/rsscomments.aspx?PostID=171099</wfw:commentRss><comments>http://msmvps.com/blogs/donscf/archive/2006/10/11/Using-The-New-Microsoft.Speech-Namespace-in-the-.NET-Framework-3.0_2F00_Vista.aspx#comments</comments><description>&lt;p&gt;I have had the opportunity to work with the new Microsoft.Speech namespace in the .NET Framework 3.0. The short of it - &lt;em&gt;it rocks!&lt;/em&gt; 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 (&amp;quot;SASDK&amp;quot;) into the client-side API. Most notable is the whole prompt database concept, allowing for structured interaction with the user. You do not &lt;em&gt;have&lt;/em&gt; to use this, however, as the SpeechSynthesizer.Speak() method does allow for the use of any text string to be spoken.&lt;/p&gt;&lt;p&gt;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 -&lt;/p&gt;&lt;p&gt;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:&lt;/p&gt;&lt;p&gt;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.&lt;br /&gt;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.&lt;br /&gt;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 &amp;quot;awww&amp;quot; is played. The user can always try again.&lt;br /&gt;4) At the end, a tally of total words and correctly spelled words is provided.&lt;/p&gt;&lt;p&gt;Total time to develop the application - 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.&lt;/p&gt;&lt;p&gt;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 &amp;quot;maybe&amp;quot;, then you should check it out.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=171099" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/donscf/archive/tags/Tablet+PC+Development/default.aspx">Tablet PC Development</category><category domain="http://msmvps.com/blogs/donscf/archive/tags/Vista/default.aspx">Vista</category></item></channel></rss>