Ten years ago, Windows, Office and Internet Explorer were the only "platforms" that really mattered.

Microsoft historically attained its glory by making end user products for the masses, and only later and secondarily going after enterprise and vertical markets.

But the rise of Apple as a consumer electronics company, Google's emergence as an everything company, and the advent of Web 2.0, the cloud and the social Internet have left Microsoft struggling to find a way to succeed in the markets of the future.

There was one shining exception to this trend in the consumer market: Xbox in general and Kinect for Xbox 360 in particular.

Kinect is a top-notch, low-cost in-the-air gesture control interface for Microsoft's console gaming platform that was way ahead of its time and broke the Guinness World Record for the fastest selling-consumer electronics gadget ever.

So when Microsoft later announced a version of Kinect for Windows, everybody (including me) assumed that it would go on to dominate the future of gesture control, and use its dominance as an advantage to regain its lead in the desktop PC market of the future.

But now it looks like Microsoft blew it.

What's wrong with Kinect for Windows?

Microsoft Kinect for Windows sounds like you should be able to use it with a desktop PC, and you can. Unfortunately, the closest you can get to the cameras is 16 inches away, and that's when you put it into a special "Near Mode."

That technical limitation puts the user's head and body farther away from a screen than usual. So right out of the box, it can't be used naturally, as we once expected, as an alternative to a mouse on a PC.

Microsoft doesn't mind, because it isn't really targeting end users like you and me.

Most of the example photos shown on the Microsoft website show Xbox-like distances where the user is across the room or at least five feet away from the Kinect.

These pictures show commercial and retail applications -- a business presentation, a physical therapist, a retail eyeglasses store. Microsoft's Kinect for Windows blog also emphasizes retail applications of the product.

It's possible that Microsoft may eventually market Kinect for Windows to consumers. But so far, it looks like it's not cultivating developers in that market.

Microsoft still hasn't announced commercial availability of Kinect for Windows, though it did release an updated software development kit (SDK) this month.

Right now, Kinect for Windows ships to developers only and doesn't come with software for controlling any interface. If you want to control something, you have to build your own software using the SDK.

This strikes me as weird on two counts. First, Microsoft is a software company. Why didn't it make software for Kinect for Windows, at least to demonstrate basic control of the Windows 8 user interface?

Second, why ignore the consumer market for Kinect -- especially since the Surface Tablet and Windows 8 are struggling to stand out as superior to alternatives from Apple and Google?

How Microsoft blew it

Microsoft had a five-year head start. The technology behind Kinect was originally invented in 2005. It took the company five years to move from invention to a fully ready-for-prime-time consumer product.

Kinect for Xbox 360 launched to consumers in 2010 with a whopping $500 million advertising budget.

Since then, Microsoft has sold more than 24 million units and has inspired a huge and active community of hobbyists and researchers who do amazing things with the Kinect.

One of my favorite blogs is called Kinect Hacks, which documents some of these projects.

How Leap Motion is making all the right moves

Microsoft shipped a surprisingly mature, polished mass-market consumer product for Xbox in the same year a small company called Leap Motion was quietly founded and funded.

Microsoft started shipping units in the millions at the same time Leap Motion began the long process of taking an idea and developing it into a product.

So what's the difference between Kinect and Leap?

The Kinect for Windows gadget is a plastic thing about the size of a large car rearview mirror that has microphones and cameras that double as sensors, which point away from the screen and at the user.

The Leap, on the other hand, is tiny -- about the size of a standard USB flash drive. It lies flat on the table pointing up, capturing the motion that happens above it.

In general, Leap is optimized for fine detection of fingers and hands, while the Xbox for Windows can detect fingers, hands, arms, body, face and voice.

While there's much that Leap can't do compared to the Kinect, its ability to detect finger and hand movements appears superior in terms of both "resolution" and performance -- judging from the demos I've seen, anyway.

Leap can track up to 10 fingers. And it's very fast -- hand movements almost instantly affect what's on screen.

Leap can recognize when you're holding something, then track the thing you're holding instead of the hand that's controlling it -- essentially turning any object into a kind of Wii controller. You can even tell Leap to track a pencil you're holding in your hand, then write very finely in the air to instantly write on screen.

Some 12,000 developers are working with the Leap platform. The company recently announced an app store called Airspace.

While both products superficially do the same thing, the two companies have taken completely different strategic approaches.

Leap's other advantage is cross-platform support. It works on Windows, Linux and Mac OS X.

The Leap device is due to ship May 13 at a price of $79.99. Microsoft sells Kinect for Windows devices to developers for $249 but has not announced user pricing or a ship date.

While Microsoft had a long head start in the cultivation of a developer community, Leap has been attracting developers fast.

Leap Motion did three things that Microsoft should have done.

First, it limited the initial feature set to focus on high performance, small size and low price, rather than trying to build a system that could do everything at any distance.

Second, it focused on consumers, rather than retail and vertical applications.

Third, Leap zeroed in on up-close-and-personal use at a regular desktop rather than on activities that involve people standing up across a room.

Combining these advantages, Leap targets the broadest consumer and gamer marketplace: the one made up of people standing or sitting immediately in front of a screen -- any screen, regardless of whether their system runs Windows, Linux or OS X.

Microsoft, on the other hand, is focusing on users in retail, enterprise or industrial settings who will be standing some distance from their screens and who (presumably) would be willing to pay much more for a device. Oh, and it's only aiming for people running Windows.

Leap's target audience is at least an order of magnitude larger than Microsoft's.

If you're a developer, which is the more attractive market?

In short, Microsoft had one of the most successful consumer electronics products in history. In converting it to the desktop, it could have reversed its fortunes in that realm and knocked another one out of the park.

Instead, Microsoft screwed up, focusing on a very small and narrow market with a relatively expensive, complex product that is taking far too long to get into the hands of users.

Microsoft squandered a five-year head start and is now falling behind. By the time the company gets Kinect for Windows into the consumer market, I suspect Leap Motion will already own that market.

Microsoft should hope that Apple doesn't acquire Leap Motion and build the technology into OS X exclusively -- because then it's curtains for Windows, too.