Welcome to Manicprogrammer Sign in | Join | Help

Moving my Blog...

I'm moving my blog over to GotSpeech.Net, for no reason other than being closer to the speech community. I want to thank Michael Ruminer for hosting me here at ManicProgrammer.  http://gotspeech.net/blogs/michaeldunn/
Posted by MichaelDunn | 0 Comments

"Ready for a new day" - Vista Launch - Minneapolis

The Launch ended last night, it was amazing how many people showed up. (Whether for the free Office or not.) Overall it was a blast, a lot of Magenic folks turned out. There were enough Magenicons there to make me wondering how this would impact productivity and billing.  ;) I am kicking myself because I keep forgetting to bring my digital camera to these events. I will have my camera at the next event I attended!

Microsoft also threw an after launch dinner for some of Minneapolis's technical influencers. The dinner was awesome, the wine poured freely .... maybe a little too freely.

Posted by MichaelDunn | 0 Comments
Filed under: ,

TechEd 2007 - Orlando

I was able to a couple of invite codes and submit a couple sessions for the Windows Client and the Unified Communicaiton Track for TechEd last week. If you dont know me by now, the topics are:

  1. Windows Vista Speech Recognition
  2. Office Communication Server  formerly known as Microsoft Speech Server

I'll know in late March if my session(s) have been accepted. If they do accept the OCS session, some one else will be presenting with me. I don't want to say who, in case they dont want me to really make it public yet. More details when I get more...

Posted by MichaelDunn | 0 Comments
Filed under:

Twin Cities Code Camp 2 - April 28th 2007

Jason Bock is organizing the 2nd Twin Cities Code Camp. He is currently looking for more speakers! So if you are in the area and would like to present or simply attend visit http://www.twincitiescodecamp.com/.

The first Twin Cities Code Camp was a blast, this one will be even better. I'll probably be doing a session, but I'm not sure on what yet. More details later.

 

Posted by MichaelDunn | 0 Comments
Filed under:

Ready for a New Day: Launch Tour 2007

I will be presenting in one of the break out sessions at the Vista\Office launch here in Minneapolis on February 1st.

Attending the launch event entitles you to a FREE copy of Office 2007 AND Office Groove.

Details here:http://www.microsoft.com/business/launch2007/signup/default.mspx

You can register for the Minneapolis event here:

http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032314652&Culture=en-US

Posted by MichaelDunn | 2 Comments

Unified Communications Marketing Videos

I ran across a couple of Unified Communications Marketing videos.  It highlights a couple neat features that I assume will be included in OCS. That round table device looks pretty awesome!

Jeff Raikes announcing Microsoft's Strategy for UC.

http://www.microsoft.com/winme/0606/27952/UCG_Disclosure_Day_MBR.asx

Marketing Video #1

http://soapbox.msn.com/video.aspx?vid=cd6a9313-9d06-4b38-9914-71189e6664de

Marketing Video #2

http://soapbox.msn.com/video.aspx?vid=2dcfb1c3-637d-4dd0-8604-bde73ad2ff8b

Posted by MichaelDunn | 0 Comments
Filed under:

Microsoft Speech Server Book

I'm very excited today as my MSS book was listed on Amazon. Now, I just need to finish it! I'll include more details as to what it is all going to include in it as it gets closer to the release date.

I also got my christmas present from Magenic today as well. Magenic gave every one Zunes this year. These are pretty cool, they have a ton of potential. Hopefully, Microsoft releases an SDK so that you can create some software for it. I heard they might and I've also heard that they won't. It would be stupid not to, releasing an SDK allowing people create thier software for using Visual Studio Express would blow IPod out of the water, until then I think Zunes are second to IPods as they have been around longer and Zune really didn't introduce anything really different than IPod.

VoiceXML Certification

Since Speech Server 2007 (OCS) adding VoiceXML support, I thought it would be important to get certified in VoiceXML. I passed the exam last Friday; it was very similar to a MS exam. Hopefully, this will help my company to pick up some Speech Server engagements in the future.

If you’re interested, you can check out the exam details at http://www.voicexml.org/certification/developer.html

While I'm on the Speech Server topic, the book is coming along pretty well, it has kept me pretty busy and hopefully I'll have some free time again soon!

Posted by MichaelDunn | 0 Comments
Filed under:

VSLive! 2007 San Francisco

I might be speaking at VSLive! in San Francisco. It will not be about Speech Server, but about Vista speech recognition development.

Rocky Lhotka, who also works at Magenic, is one of the Conference Chairs and he was looking for speakers for Vista topics, so I submitted Speech Recognition APIs in Vista as a development topic. I'm still waiting to hear back, hopefully they let me know soon.

So, if you are attending...I might see you there.

Posted by MichaelDunn | 2 Comments
Filed under:

Busy Month

Well, I don't have much to blog about, I've been busy with writing my book about Microsoft Speech Server, so I haven't had the time to post anything exciting. I still waiting for the Beta where they actually combine MSS and LCS together to create "Office Communication Server".   Any one have any idea if MS is even going to beta test this at all?

On another note I did "win" a MSDN Premium licsence and a copy of VS Team Suite! Thanks to Cory Smith, make sure to check out his site, addressof.com. I now have to complete my list of 7 things by April.

Posted by MichaelDunn | 0 Comments
Filed under:

What would I do for a Visual Studio 2005 (Team System Suite) and MSDN license?

My reply to Cory Smith's blog

http://addressof.com/blog/archive/2006/11/09/What-would-you-do-for-a-Visual-Studio-2005-_2800_Team-System_2900_-and-MSDN-license_3F00_.aspx

What would I do?

  1. I would be sure and update the current wikipedia on Cory Smith, http://en.wikipedia.org/wiki/Cory_Smith, a fictional character to Cory Smith the MVP.
  2. I would never again use the phrase "Only steers and queers come from Texas"
  3. I would use the word "yall" all the time
  4. I would use my spanking new Visual Studio to help Cory get a "releaseable" version of XBoxFriends
  5. I would never agian knock the VB language as insuperior to C# (Least not publically)
  6. I would use the money I saved from not paying for it and buy and XBox and let Cory kick my ass on Halo
  7. I'm also prepared to buy you a beer and a lap dance
Posted by MichaelDunn | 3 Comments

Twin Cities Code Camp

It was a great time! I have to thank Marshall Harrison again for the SNL clip and some great advice. Hopefully the Twin Cities will be hosting another one soon! Visit www.twincitiescodecamp.com for slides and code samples!

 

 

Posted by MichaelDunn | 1 Comments
Filed under:

Been Busy...

This week has been really busy; we've been training some clients on .Net and VSTS. Michael Ruminer came out and did some VSTS training. It was a really great training session! Rocky Lhotka came and did some CSLA training. Overall, I think it was a great training week for the client. Magenic really went all out to train thier developers.

The TC Code Camp is coming up soon, I'm still working on my MSS 2007 demo application. The slides are going to be light, as I want to focus on code at the Twin Cities Code Camp. (Slides are attached to this post)

I feel kind of forced to go over the Speech.Net APIs for Window Application because every time I bring up the subject of MSS. Some one then brings up how it would be neat to add speech recognition and voice to a windows application. *SIGH*

If there is one thing I can get across to everyone, Microsoft Speech Server is only for Telephony Applications. If your application doesn’t need to make use of a telephone, you probably don't need MSS and probably need the System.Speech API in the .Net Framework 3.0. The only thing they really have in common is that they both support GRXML. If you don't have Microsoft Speech Server, you won’t be able to use the grammar editor to build GRXML documents for your Windows application.

I think this is where Microsoft kind of screwed up. The speech recognition and speech synthesis APIs should be the same for telephony and windows apps. Microsoft Speech Server should only be the provider to hook your application to the phone, and give you telephony project template in Visual Studio. The Speech APIs should all be standard in the .Net Framework. I believe the only reason that it is not this way is because these are two separate product groups at MS.

 

Posted by MichaelDunn | 0 Comments

Attachment(s): TCCCSpeech.zip

MS Speech Server Book

I recently had my book proposal accepted by Apress. The topic is Developing Speech Enabled Applications with .Net and Microsoft Speech Server. (Name change is probably going to happen, depending how Microsoft packages MSS into OCS.)

I've been talking to Bill Ryan and Marshall Harrison about the book a bit. It's a small world. I sort of wanted to talk to Bill Ryan about speech stuff, as I had already been talking to Marshall. I had it in the back of my head to email him some time. I just found out the other day he now works for Magenic out of our Atlanta office, making it pretty easy to get in contact with him and get his thoughts on a speech book.

I’m still working on my demos and slides for the Code Camp in November, kind of slacking, November is still pretty far away…

Speech Application Workflow Projects Rock!

The greatest addition to MSS 2007 is Speech Application Workflow projects, it uses WF (Windows Workflow Foundation). WF and Speech, what's not to love?! While, I am not as excited as some others are about the additions, such as VoiceXML, it's probably because I do not consider my self an IVR developer, but a .Net developer. I love doing ANY .Net applications, but IVR applications holds a special place with me from when I was doing purely IVR development, before .Net came around. I used to work with Edify for IVR development, which was bought by Intervoice. You just can't compare any other IVR platform to MSS, why businesses aren't going out in masses trying to upgrade their existing IVR applications to .Net is beyond me.

I know some of the pure IVR guys will probably hunt me down for saying this but IVR applications are not that different from any other business application. With MSS you can develop an IVR application with the same tools and language that you write your other business applications, you can even reuse your code from your other applications to use on your IVR application. For example if you have a Windows Application that was written using say CSLA, there is no reason why you can’t reuse those business objects and the data access layer of that application, in your IVR application. (This isn’t new, you could have done this with MSS 2004, just MSS 2007 gives you 2.0 support.)

I would love to see the speech application controls a part of VS instead of a separate install. Maybe include it in the WinFx  .Net Framework 3.0? (Probably, will not ever happen but why not?)

I’ve been thinking of a sample application to build. My thoughts are to do something “useful”, I am going to take the CSLA sample application, it’s a project management type of application, and turn it into a "speech application", using the existing business object. Why? Because I can…

Expect samples soon...

Microsoft Speech Server 2007 Beta - Day 1

 Well, I was able to finally get accepted for the MSS beta. All I can say is wow, a lot of new features. While, I can not go into details on features that haven't been made public yet, I will discuss features that have been made available to the public already.

The SASDK will no longer be a separate install; there will be a MSS developer edition, which has the speech controls, the debugger and a 2 port limit I believe.

Developers now have three choices when choosing to write a telephony application.

  1. SALT
    • Basically a 2.0 SASDK
  2. VoiceXML
  3. Managed Code (Speech Workflow Application)
    • Based on Windows Workflow Foundation

The SALT and VoiceXML are web based, if you have used the SASDK for .Net 1.1 this uses the same concepts, that your telephony applications are developed on top of .ASPX pages.

The managed code version uses WF (Windows Workflow Foundation) to help write your application. The upside to the method is you don't need to worry about handling postbacks and you can easily break dialog flow. (A speech workflow application is still web based in the sense that it still needs to run through IIS, you have a .speax file that references your Speech WF application.)

I will have some sample code for a Speech Workflow Application up this week. And hopefully a view more before the code camp comes up in November.

Microsoft Speech Server 2007 Beta

Ok, most the time getting your hands on a Microsoft Beta Product is pretty easy. However, I've been trying to get my hands on Microsoft Speech Server 2007 Beta, it seems it is a closed beta, that was open for short while. (It is open to an ISV that can apply and use it for software they are planning to make and/or upgrade, but I do not work for an ISV and have no software planned on using it.) Why is the Microsoft Speech Server beta so selective compared to Windows Vista?

Frustrating...

 

Value Types vs Reference Types

Ok, while this is pretty basic stuff, I found my self explaining this on my current gig to some VB 6 guys that we are helping get up to speed on .Net. They came to me and asked why the following code doesn't work. (point gets updated but _point(i) doesn’t)

 

**No, VB is not my language of choice, but I can do the C# >VB another time.

Doesn't work

Private _points As New List(Of PointF)
Dim point As New PointF

_points.Add(New PointF(0, 100))
_points.Add(
New PointF(0, 100))
_points.Add(
New PointF(100, 100))
_points.Add(
New PointF(100, 0))

For Each point In _points
   point.X += Base.X
   point.Y += Base.Y
Next

(To be honest, I didn't have an explanation right away, as I didn't realize that PointF is a stuct, as I haven't worked with GDI+ before. I did feel dumb when I did realize PointF was a stuct. DOH!)

Does Work

Private _points As New List(Of PointF)
Dim point As PointF

_points.Add(New PointF(0, 100))
_points.Add(
New PointF(0, 100))
_points.Add(
New PointF(100, 100))
_points.Add(
New PointF(100, 0))

For index As Integer = 0 To _points.Count - 1
   point = _points.Item(index)
   point.X += Base.X
   point.Y += Base.Y
   _points.Item(index) = point
Next


In the first code, point, being a struct (value type), becomes an independent copy of _points(i).  In the second code we are updating the reference to the new copy.

Other considerations when using value types in generic list can be found here
http://msdn2.microsoft.com/en-us/library/6sh2ey19.aspx
Posted by MichaelDunn | 0 Comments
Filed under:

Up North...

For my current gig for Magenic, I am in northern Minnesota. For a travel gig, it's not too bad. They have a private plane to take me back and forth every week. Hotel, Food and Car are covered, no need to fill out reimbursement paper work. This is what it must feel like to be a rock star...except in a much smaller and colder town.

 Anyways, we are working on a smart client application; I've used the Smart Application Offline Application Block in a .Net 1.1. I could have sworn it was included in the Enterprise Application Blocks for 2.0. Of course there is not a 2.0 version of it. It's a pretty simple application block, and I can put something together to use instead, but that's not really the point, it's just annoying to give me something than take it away next version, with out a suitable replacement.

It's still worth taking a look at if you are doing smart client development.

Smart Client Offline Application Block

http://www.microsoft.com/downloads/details.aspx?FamilyID=bd864eb5-56b3-43a5-a964-6f23566df0ab&DisplayLang=en

Smart Client Design Guide

http://www.microsoft.com/downloads/details.aspx?familyid=8EC600BD-A2E5-44AC-9A8F-68D06361853E&displaylang=en

For those of you wondering where is my .Net Speech post is. I’m still working on the demo code and PowerPoint for the Speech stuff I am doing in November and I will have it up soon. 

 

Posted by MichaelDunn | 0 Comments

Twin Cities Code Camp

A co-worker of mine, Jason Bock, is putting together the twin cities code camp. I am going to be giving a presentation on developing speech enabled applications with .Net, using MS Speech Server, SASDK, and System.Speech. My employer, Magenic is sponsoring the event, with some free food, drinks and probably some swag. This will be my first public presentation, so hopefully I don’t embarrass my self too much.

The event will be at New Horizons in Edina, MN on Saturday, November 11th. You can check out the website to register for the event, or even sign up to give a presentation. www.twincitiescodecamp.com

Microsoft Speech Server isn’t utilized very often for IVR systems, and I'm unsure why. (It might be due to poor marketing or lack of.) The pricing on the licensing is very competitive, you don’t need a specialized programmer in a proprietary software language, instead you are able utilize relatively “cheap” .Net developers instead.  (Just saying proprietary software developers tend to be more expensive, than the common .Net developer, not that .Net developers are cheap.)

Hopefully including Speech Server 2007 in the Office Communication Server more companies will utilize it. Releasing a 2.0 compatible SASDK, probably wouldn’t hurt either. (I pray to the MS gods every day that they release a 2.0 SASDK)

I'll post some more information on speech development later next week.

Posted by MichaelDunn | 1 Comments
Filed under: ,