Microsoft Research: Innovation, Invention, Inspiration
The mission of the Microsoft Technology Centers (MTCs) is to collaborate with customers on innovative solutions to business problems. The “researcher’s mind” is what helps us to continue to dig deep to find that innovation. It is what makes us push the limits of what we know today into what we will learn tomorrow.

Did you know that Microsoft has a research division that employs more than 1,100 scientists and engineers worldwide? That’s right 1,100! When I learned that fact, I became curious about what all these folks do. After lots of talks and reading, my manager and I decided that we would take a trip to an internal event where we could learn more about Microsoft Research and get a peek at some of the cool things they do. While I can’t share all the details of the event, let me share a few of the cool things that I’ve learned and tell you how Microsoft Research inspired me.

A Few Facts
Microsoft Research was founded in 1991 with the mission of conducting basic and applied research in open collaboration with academic, government, and industry researchers in many areas. Not everything fits neatly into a simple, single category. That said, Microsoft Research broadly categorizes its research.

Here are a few examples of what Microsoft researchers are up to: Microsoft Research Areas.

Skype Translator
“Lieutenant, hail frequencies open. Send greeting in all known languages!” Alright, alright; you can’t do that yet, but check out: Enabling Cross-Lingual Conversations in Real Time. Skype Translator enables near real-time audio translation of spoken languages. Soon, you’ll be able to have multi-lingual conversations with friends, colleagues, doctors, patients, and anyone else using Skype.

By the way—while you’re checking out the research—the section titled “Milestones on the path to Skype Translator” is very cool! As you go back through the timeline, think about the intricate web of connections that led to Skype Translator. Think about what connects each of these events and the people behind them to the next. Do you think that Warren Weaver in 1949 could even conceive of where his work would have led?

Machine Learning
One of the hottest topics within Microsoft Research is the topic of Machine Learning. Machine learning systems use algorithms that adjust how they behave based on data. In a sense, they “learn” from training sets or other means. Try the following search site: “machine learning” and you’ll get an idea of how much machine learning work is going on within Microsoft Research.

You might be wondering where these algorithms can be applied. There are numerous areas such as:

  1. Entity Extraction – Extracting knowledge from unstructured data. For example, an algorithm might be able to detect metadata for document classification.
  2. Image processing/machine vision – For example, recognizing people in a scene, counting the number of cars in a photo or video, extracting text from a photo.
  3. Classification – For example, classifying mechanical parts as good or defective based on imaging, stress analysis, and so on.
  4. Prediction/Regression – For example, learning to diagnose medical conditions based on medical history, symptoms, and other factors, or perhaps predicting the selling price for a house.
  5. Speech recognition/synthesis – For example, the speech engines used by Xbox, Windows, and Windows Phone.
  6. Digital assistants such as CortanaAnticipating More from Cortana.

In addition to video lectures, articles, and whitepapers, you’ll find numerous downloads of software tools and applications on the Microsoft Research site. One of my favorites is a tool called Sho: the .NET Playground for Data. This tool gives you a set of libraries that you can use for numerical computing. The default language for Sho is Python or Iron Python, but you can use the libraries from C#, F#, VB.NET, or any other .NET language. But the really fun part is an interactive environment that allows you to play with data, write scripts, test hypotheses, and much more. Here’s a simple matrix multiplication using the Sho console:

Figure 1. The Sho console

We can also import Python modules into the Sho environment, or just run scripts as seen below:

Figure 2. Executing a Python Script

The output of that script is a simple chart that shows the results of a regression algorithm:

Figure 3. A Simple Chart

As you can see, this is an amazingly powerful tool that Microsoft Research has shared so that anyone can experiment with data.

There are many other areas to explore on the Microsoft Research website. I encourage you to check out the site and watch some of the videos of the exciting research that’s going on. Maybe grab a few downloads and try some things out. Here are some to get you started:

  • Blink for Windows Phone 8 – Captures a series of photos so that you won’t miss the action!
  • WorldWide Telescope – An amazing interactive virtual telescope. This is a great application for students, educators, and parents for teaching and learning about the stars.
  • .NET Gadgeteer – This is one of my all-time favorites. We use Gadgeteer at the Microsoft Technology Center for rapid prototyping of electronic devices that can be programmed with .NET. If you do a quick Bing search, you’ll find a wide array of companies producing .NET Micro Framework and .NET Gadgeteer systems that are great for professionals, hobbyists, or schools.

Research stems from our innate, human curiosity. I believe that it’s that curiosity, that need to learn and grow, which keeps us at the top of our game. After my visit to the internal Microsoft Research event, I was inspired to delve a bit deeper into machine learning and took an online course from Stanford via Coursera. When I started the 10-week course, I thought that it would be “just-for-fun,” but since then, I have had several occasions to discuss machine learning applications with customers and coworkers. In fact, machine learning could figure into one of my next big projects.

I encourage you to seek out the latest innovations in your field. Go on, challenge yourself. Take a chance and learn something new!


Charles Stacy Harris III is a Software Architect at the Microsoft Technology Center in Detroit, Michigan. His first programming experience was at the age of 12 when his father bought him a book on 8080 and Z-80 assembly language. But, because his family could not afford a computer, he wrote all of his code on paper and ran it in his imagination.