Mike Taulty

Bio: Since around 2018, I have been working in Microsoft's Commercial Software Engineering group with top customers & partners helping them to build Mixed Reality/HoloLens applications on the Universal Windows Platform. This involves project work where we go from envisioning, through to requirements & on into implementation where I work mainly in C# and .NET with some Unity but my background comes from C/C++. Prior to this, I have been at Microsoft for almost 20 years working both in consulting and evangelism around our development languages, tools, frameworks and platforms. Early days, this was mainly C/C++ native development but mostly turned into C#/.NET over time. I spent the previous decade working as a C/C++ developer across Windows, Unix and other operating systems and I also acted as technical lead and development manager for software products. I started to write code in 1982, graduated with a 1st class degree in Computer Science in 1991 and have worked in the industry since.

View complete profile


48 thoughts on “About

  1. Dear Mike- You created the best WCF videos in small nuggets. Maybe 10 years back. I wish you uploaded that to Youtube or something. Just cannot find them :(.

    • Hi,

      Yes, I did make those videos!

      I just moved my blog site and the post referencing those videos is still here: https://mtaulty.com/2005/12/14/m_5656/ but it seems like the MSDN team broke all the hyperlinks to the content.

      I don’t have the raw video files for these any more I’m afraid. Sorry to not have put them somewhere permanent, my fault but I don’t think that at the time that I made them I saw them lasting for as long as perhaps they have!



      • Dear Sir

        I would like to ask regarding matching RGB and IR in SR300 , I am very new in this field . you wrote some codes for F200 , I copied them in the visual studio (C++) but I couldn’t take any result, it has error for me and because I don’t know what should I do, could you please help and guide me ? I need to match RGB and IR pictures together . Thank you so much


      • Elnaz, sorry but I’ve not looked at this code for a little while and your question is perhaps not specific enough for me to try and help with. I’d recommend the RealSense developer forums and I hope you get your issue fixed.

  2. Hey Mike – awesome reading through your blog. Have you done anything with Azure IoT Hub? Could be cool to see some project with the Raspberry Pi, IoT Hub and controlling / consuming the data from Windows phone at home or out and about. 😉

    • Sure, it’s on my list of things to do :-), I’m just a bit tied up with a bunch of other stuff right now but it’s very do-able.

  3. hi, Mr Mike Taulty,
    i’am a big fan of your ways of teaching cause you always doing it by concret examples
    can you make us a video series about Prism 6 and UWP either in channel9 or in youtube, please
    thank you very much

    • Hi Karim, I’ll see what I can do but it’s been a little while since I looked at Prism (that’s not to say that I shouldn’t!).

  4. Hello Mike,

    Great post about UWA, I am starting an app with Windows.Media.SpeechRecognition. I would like to know can i combine dictation with grammar in a SRGS. If so can you show me how.

    Thank You

  5. Pingback: Windows 10, UWP and SpeechRecognizer with a simple SRGS Grammar – Mike Taulty

  6. Hello Mike,

    I am currently working on trying to code Lean + Force movement on the Kinect but am struggling. I am wondering if you have worked at all using the Kinect?

    • Hi,

      I have done a quite a few bits with Kinect V2 but not specifically with Lean and Force but feel free to send me an email if you think I can help.


  7. How to select Particular image, then selects image move on win2d canvas?

    I am adding two different images on win2d canvas in different points and different size and run application display two images perfect points set to display. Then how I am select image and move on canvas.

    plz help me

    • Hi,

      Thanks for the feedback. Those videos are a little old at this point and, unfortunately, I lost the source code for them quite a while ago.

      Apologies for that, but all that’s left is whatever is recorded on the web.


  8. Hi Mike,
    I’m playing with SwitchTo2DViewAsync() proposal to switch between Unity Holographic view and XAML 2d views.
    But I received an error when I call
    coreView2d = CoreApplication.CreateNewView();

    I can’t construct my own 2d view.

    Debuger told me something like that after call CoreApplication.CreateNewView();
    “Unable to cast object of type ‘Windows.ApplicationModel.Core.CoreApplicationView’ to type ‘Windows.ApplicationModel.Core.ICoreApplicationView5’.”

    Any suggestion?

    thanks in advance,

  9. Hi Mike,

    Thanks for yr v useful post on UWP Apps Packaged with ‘Companion’ Desktop Apps ! I’d been quite dismayed at how difficult it seemed to be to talk to custom hardware (eg specialised cameras and actuators) for my industrial control applications, and this possibility is fantastically useful. It means I *can* have a nice UWP UI and still control the hardware with Win32 calls.

    Ideally I’d like to pass my own objects across the UWP/Win32 boundary, rather than simple strings. This involves putting my object instances into the ValueSet that gets passed across. The documentation for the ‘ValueSet’ class states that items added to it have to be serialisable, but doesn’t elaborate further !


    There’s no [Serializable] attribute in UWP, and using DataContract on my custom class doesn’t work. The only relevant posting I can find about this is


    which says that in order to pass across a custom object, it has to implement IPropertySet. Really ? This is a huge hassle and I’m not sure I believe it ! I suppose I could just serialise my object to a JSON string, but surely there’s a better way ?

    Any ideas much appreciated …


      • Hello Mike,

        I am having same question: how to insert custom data class/object into ValueSet and pass it across process boundary, and what kind of restriction on the class/object if this approach is feasible. All the examples I can find regarding App Service are just passing strings or numbers, no of them demonstrates how to pass an object, even if the value is IInspectable/IPropertySet.


      • Hi Jeff – it’s just simple name/value pairs so you have to serialize anything that you want to send across.

  10. Hi Mike, great stuff here. Wanted to comment on HoloLens networking, specfically anchor sharing. We’re working on this, and I’m wondering if this is what you did, or something to try: Instead of using the WorldAnchorTransferBatch, We successfully transmit (share) an object’s position. We want to store the anchor for future use (regardless if future use is network connected or not). Can we just send a command to ‘drop anchor’ and each HL will store the anchor locally? Note we are not using a dedicated server, but the first HL to run the app becomes the server, and others in the area can join as clients. We want to set that anchor from the server to all clients.

  11. I’ve read your blog post about fixing the “Tracking people” library, I changed the code in the libpxcclr.cs_vs2010-15 project as you said, but always return 0 point skeleton value.
    I think I’m at fault, and this library is very important to me.
    Can you send me your library or suggest me anyway to make this library work?
    I am using R200 camera and SDK 2016 R2

  12. hi, i’m starting with expressions animations, I saw yours demo especially when animation property attached with a slider. But what about attaching animation with a scrollviewer, how can I trigger animation based on a scroll offset or percent offset or range offset, is animation reverse depending on direction scrolling is possible
    is there some samples to do that like many web ux based on scroll based animation ?
    perhaps a new demo 🙂

  13. Hi mike. firs sorry my english. I have a very long-list of complains about UWP and the course that microsoft has taken since UWP. this it’s not only my fellings, but a communty one. there is some way i can tell all this things directly to Microsoft? I have very important subjects to deal with. so i left you my email and please answer me. thanks

  14. Hi Mike,

    Top notch articles on UWP, Xaml and Win2D. All of which are helping me to gradually understand this brave new paradigm, post Win32.

    I am rolling my own animated screen content using nothing more than a full screen CanvasAnimatedControl. I load a bunch of images in its CreateResources event and I bounce them around the screen at 60fps in its Draw event, by simply incrementing position integers. I love this approach. It’s simple, it works great and I have total control over the composition.

    Question. Can I include video playback in this scenario?
    In other words I would like to open and play a video file and be able to have it also bouncing around the screen along with my images.

    I know I could add a Xaml MediaElement and have it working on top of the CanvasAnimatedControl with a Storyboard animation, but I’d really like to avoid using Xaml controls for visual represenation. What I really want to do is to draw the video frames within the CanvasAnimatedControl’s Draw event. That way I can place it anywhere in the layering, something like this:

    private void animateCanvas_Draw(ICanvasAnimatedControl sender, CanvasAnimatedDrawEventArgs args)
    using (CanvasDrawingSession ds = args.DrawingSession)
    ds.DrawImage(bitmap1, new Rect(bitmap1X, bitmap1Y, bitmap1W, bitmap1H);
    //Ideal world…
    ds.DrawVideo(currentVideoFrame, new Rect(videoX, videoY, videoW, videoH);
    ds.DrawImage(bitmap2, new Rect(bitmap2X, bitmap2Y, bitmap2W, bitmap2H);

    I have seen in various articles how you have used RenderAsync to grab the contents of a Xaml control, then to create a CanvasBitmap from the resulting pixels for use in the Win2D world. So I guess I could do this with an offscreen MediaElement, set it playing my video, then use RenderAsync to capture its frames within a DispatcherTimer, then render the ever changing CanvasBitmap in the AnimatedCanvas Draw event.

    But do you know if there are any other ways to draw video frame data in the Win2D world?

    Many thanks

  15. Hey Mike,

    I want to try to replicate your UWP WebRTC example.
    I’m trying to find the source for the peer server. Would you have it, or do I even need it?
    Once I have UWP working, I’m going to try Xamarin as well :).
    It’s a great article.



  16. Mike – hope for a little help 😉
    I need to draw a line with SharpDX on a Canvas in Hololens – can you support an example ?

    Thanks for many hours of awesome reading 😉

    • Hey Frank – drop me a mail at mtaulty at microsoft dot com with a bit more detail on what you’re trying to get to work (i.e. 2D or 3D app – presume 2D with XAML Canvas?) and I’ll see if I can help a bit 🙂

  17. “Lacie 2Big NAS–Recovering Data”

    Many, many thanks,Mike! Exactly what I was looking for! I was able to recover my RAID partitions with two USB converters. Great!


  18. I have not found the hard part the coding, but configuring Visual Studio to build such code. I have tried C#, C++, the Windows sample apps, and none of them build. Always missing assemblies (which I find no answer to) or some other reference. I was hoping that this would start from scratch in the sense of how you created the project in Visual Studio and actually got it to work. I still have not succeeded in getting Visual Studio to recognize ‘using Windows.device….’. It gives an error on ‘Windows’. I enter my 4th day of trying to solve the assembly nightmare. If you could share how you did that it would be really great!

  19. Hello Mike,
    I readed your entry about QR-Code Scanning on Hololens with MediaFrameQRProcessing.dll. It works fine for Holoens1, but I can’t use it for Hololens2 because Hololens2 based on ARM and the dll is only for x86.
    Can you tell me how I can convert it for ARM oder how I can use it on Hololens2?


  20. Mike,
    I’m so grateful for your post “Windows 10, UWP and Sphero–Bringing 2D UWP Demo Code to HoloLens” regarding your Sphero project and the references to the work performed by roadz99 (at Github/SoftPlay/SpheroWindows) on the RobotKit.dll. I have been working with the Github/sphero-inc/Sphero-Win-SDK and after successfully compiling the BasicDriveApp using Visual Studio 2013, on a Windows 10 machine, I found that the program would run but not find and connect to my Sphero 2 and I suspected the problem was with RobotKit.dll and Windows 10. After reading your blog I found the work by roadz99 and with your tip about needing to modify RobotProvider.cs I was able to compile his project and successfully connect to my Sphero. I haven’t yet succeeded at integrating his RobotKit project (or RobotKit.dll) into the BasicDriveApp, but I can always build on his SpheroWindows project instead of the BasicDriveApp. Regretfully I haven’t been able to successfully compile your UwpSpheroDemo project but hope to eventually.
    I was searching for source code related to the Sphero RobotKit, when I found your blog post and hit the motherload when I found roadz99’s work! This saves me a lot of time and effort by not having to repeat what roadz99 already did.
    Thank you for your post. I would like to thank roadz99 as well but I haven’t found a way to contact him. If you still have his contact would you forward this to please forward this to him?
    Randy Lewis

    • Hi Randy,
      Glad you found the post useful although it is quite old now so take care with changes that have happened in the meantime.
      I don’t think I have contact details for roadz99 – I may have swapped mails with him at the time but I don’t think that I have since then.
      Good luck experimenting with your Sphero control, hope it works out for you!

  21. Hi Mike, Was hoping I can lock down 30 min of your time for a quick conversation regarding your GLTF viewer…Mark

Leave a Reply to Miriam Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s