November 2003 - Posts
So many projects, so little time.
A reader posted a comment asking about an old project, the PocketPC RSS Aggregator. That project has been frozen at the current build for a while; here's what's been cooking in the back of my mind. I've been working on Speech2Blog, and was hoping to eventually provide a complete end-to-end rss solution with speech recognition, rss reading, blogging, and output to pocketpc. That's the eventual goal, and hopefully it won't drag on too long...
On a personal note, this weekend really has been a stress reliever. I just finished my first published article, that should be out either later this month or December, and I'll be performing at Carnegie on Sunday, with rehearsals in the city all weekend. There's an excuse to go to Wo Hop. I hope everyone else has had a refreshing holiday!
John Lawrence writes about speech2blog:
“Now if the blog page was navigable with the Speech Application SDK speech controls, that would be really cool.“
So I dug out the cool cds & dvds that I hadn't gotten to look at yet from the PDC, and checked out the Speech Application SDK (PDC gave out v1.0b3). There's also a "Must Have Cool Stuff For Developers" CD (a great hook if ever I heard one), which contains speech enabled versions of the Commerce Starter Kit and the Fitch and Mather Stock app (among other things).
In response to John's comment, it'll be tough to add support in Speech2Blog since it's a Longhorn app, and SASDK will not install on Longhorn (OS Requirements state 2000sp3, 2003, or XPProSP1). The MS Enterprise Instrumentation Framework is also required (download link in this post ). The feature looked like adding support for speech navigation to .Text, rather than through my app. From the marketing info: "Multimodal applications use Internet Explorer as the client."
This does sound intriguing, though. Here are some highlights from the documentation I was given as far as ASP.NET and the SASDK:
*ASP.NET Speech controls (needs either Telephony Services client or the "Speech Add-in for MSIE")
*Speech Application Project Wizard
*Modify pronunciations (with the Semantic Script Editor)
*Record Phrases: "you can associate prerecorded .wav files with transcriptions in the Transcription Window" (I wonder if this means we'll finally be able to do voice recognition from .wav files, rather than being forced to use the microphone!) From the website FAQ: "The SASDK supports only 8 kHz, 8 bit, mono, PCM recording."
*Speech Debugging Console: "Tells you what is recognized and how confident the speech engine is in that recognition."
Link to order/download free copy of the SASDK
After previously being available for download only by MSDN Enterprise and Universal subscribers, the Microsoft Enterprise Instrumentation Framework is now available here.
“The Microsoft Enterprise Instrumentation framework (EIF) enables applications built on the .NET Framework to be instrumented for manageability in a production environment. This framework provides an extensible event schema and unified API which leverages existing eventing, logging and tracing mechanisms built into Windows, including WMI, the Windows Event Log, and Windows Event Tracing. An application instrumented with this framework can publish a broad spectrum of information such as errors, warnings, audits, diagnostic events, and business-specific events. In addition, Enterprise Instrumentation enables tracing by business-process or application service, and can provide statistics such as average execution time for a given process or service.“
This should make some rudimentary in-production performance testing and stability monitoring of ASP.NET applications much easier...
I was all set to code for Speech2Blog, and work on an article I'm writing, but Whidbey doesn't want to play nice tonight. Unfortunately, this pushes back development of Speech2Blog quite a bit, as well as prevents me from working on the code portions of my article. I did manage to get quite a bit ahead through the use of code from an external source; it looks like now the application is going to support the metablog api, which should remove the only-.text limitation. I'm adding in lots more features, now that the app is evolving into something more than the proof-of-concept that Alpha 1 was.
Some future features:
- Voice command (both interaction with the posting, and some minor windows interaction as well. Think “run notepad“ and “begin post,“ “send post“
- Longhorn flyout (this is halfway there for bare functionality, but still quite a way from where I want it.
- Posted source code
Whidbey finally gave up on my machine. All of the controls in the toolbox are greyed out, but I can copy controls from other forms onto the form I'm working on. The properties dialog also is non-functional (greyed out). On the plus side, I'll get to test out the “Restore installation to its initial state” feature in Whidbey. I'll update this post with the results of the attempted repair.
Update - It turns out this was due to “VSCorePackage” getting corrupted. Restoring Whidbey helped a bit, but it's still acting a little odd. It looks like “devenv /resetskippkgs” might have saved me the trouble though.
For those of you who are hardcore console compilers, here's how you can manually compile your BAML partial classes, using the Windows Application Compiler:
ac.exe, can be found in the %installdrive%:\WINDOWS\Microsoft.NET\Avalon directory. You can either apecify the project (*.lhproj) file or XAML. If you choose XAML, you can specify whether to compile to “full code” (instead of BAML) using the -code directive, all XAML files in the directory (the -dir ), or perhaps the strangest, “Create a combined source file only (No IL)”, using the -so directive.
Update - from the comments, Rob Relyea writes that ac.exe is obselete, and XamlC.exe (available at the LHSDK prompt) should be used instead. Thanks for the correction!
Update2 - Rob Relyea posts more on why to compile your XAML, when you don't have to compile, and what you need to have in order to do so here.
Steve Tibbett has written some very cool code for MSH which reads RSS feeds and displays them at the command shell.
More info on MSH to come in the near future, once I get a better stable version of Speech2Blog out.
While exploring Whidbey, sometimes the most interesting features have a “This feature is not available in the Visual Studio 'Whidbey' Alpha release” teaser accompanying them.
Under Visual Studio Solutions in the new project dialog box, there's a new template called “Distributed Application.” After clicking away the message, an *.ADM file is created. If you try to add a new item to the project, there's an additional item type listed: Distributed Application Diagram (the *.ADM file). This is reminiscent of the web services zoning tool shown during the 2nd PDC Keynote. I'm eager to try this when it's ready...
I found a new surprise in Longhorn today; here's something that should be fixed:
Say you create a new user, with a spelling that's slightly off. So you log on as “BortSimpson” only to realize that you spelled your name wrong. You would think that changing the user name would also repoint the directories to “BartSimpson,” however when you look at the directories in “Documents and Settings,” it retains the old names... looks like “Bort” is sticking around for a while, even if Windows learned your name is really Bart. I do forsee WinFS doing some of this legwork in the future, but only time will tell.
So far, developing in Whidbey has been great, with one gotcha that I've seen so far. I have a windows form, with 4 textboxes, 4 labels, and a couple of buttons. Clicking on one of the textboxes, entering “Edit Properties Mode,” and changing the text property gets VS stuck in an exception loop.
Longhorn seems to have a memory leak in explorer.exe that may only get bad during the default screen saver. (~900mb after 4 hours of non-use)
So, this does not take anything away from the products in this early stage; this isn't a bash. It's best to know about the issues as they come up.
More Posts Next page »