Thursday, May 19, 2011

'Amazing Experiences': Kinect for Xbox 360 Moves to Windows with upcoming SDK


Kinect for Xbox 360 was launched in November 2010. In a few short months, it has become the fastest-selling consumer electronics device in history. The device has captured the hearts and minds of millions. It has also sparked the imagination of creators around the world who see tremendous opportunity to create new experiences with the technology.

Later this spring, Microsoft will release a non-commercial Kinect for Windows software development kit (SDK) from Microsoft Research to encourage the freedom to dream and create amazing experiences with natural user interfaces (NUI). We believe the combined creativity of Microsoft and the academic research and enthusiast communities will lead to new experiences that will transform our relationship with computers.

At MIX11, an annual developer conference hosted by Microsoft, the power and potential of Kinect was center stage.



The excitement is contagious. Craig Mundie has referred to Kinect as the next big incarnation in computing. It is the beginning of a journey to make technology more natural to use. We believe that Kinect can be more than just a great platform for gaming and entertainment. It opens up enormous opportunities that span everything from delivering new personal experiences to addressing societal challenges in the fields of healthcare and education. We are in a world where technology is becoming more invisible, made possible by combining sensory inputs (touch and voice) with the knowledge of what you’re trying to do (contextual awareness), where you are and what is around you (environmental awareness), 3D simulation and anticipatory learning, and more.

Microsoft has made deep investments in NUI—it’s part of the company’s long term strategy to create experiences where technology understands us, so we don’t have to understand it. We’re looking forward to the delivery of the Kinect for Windows SDK later this spring, and we can’t wait to see what people create next.

For more updates and information on the Kinect for Windows SDK, check out the Microsoft Research website.

Learn more about Kinect for Xbox 360.

Xbox & Kinect for Xbox 360 News

Saturday, May 07, 2011

The 5 types of programmers

 

Awesome CodeIn my code journeys and programming adventures I’ve encountered many strange foes, and even stranger allies. I’ve identified at least five different kinds of code warriors, some make for wonderful comrades in arms, while others seem to foil my every plan.

However they all have their place in the pantheon of software development. Without a healthy mix of these different programming styles you’ll probably find your projects either take too long to complete, are not stable enough or are too perfect for humans to look upon.

The duct tape programmer


Duct TapeThe code may not be pretty, but damnit, it works!

This guy is the foundation of your company. When something goes wrong he will fix it fast and in a way that won’t break again. Of course he doesn’t care about how it looks, ease of use, or any of those other trivial concerns, but he will make it happen, without a bunch of talk or time-wasting nonsense. The best way to use this person is to point at a problem and walk away.

The OCD perfectionist programmer


You want to do what to my code?

This guy doesn’t care about your deadlines or budgets, those are insignificant when compared to the art form that is programming. When you do finally receive the finished product you will have no option but submit to the stunning glory and radiant beauty of perfectly formatted, no, perfectly beautiful code, that is so efficient that anything you would want to do to it would do nothing but defame a masterpiece. He is the only one qualified to work on his code.

The anti-programming programmer


Anti-ProgrammingI’m a programmer, damnit. I don’t write code.

His world has one simple truth; writing code is bad. If you have to write something then you’re doing it wrong. Someone else has already done the work so just use their code. He will tell you how much faster this development practice is, even though he takes as long or longer than the other programmers. But when you get the project it will only be 20 lines of actual code and will be very easy to read. It may not be very fast, efficient, or forward-compatible, but it will be done with the least effort required.

The half-assed programmer


Half-assedWhat do you want? It works doesn’t it?

The guy who couldn’t care less about quality, that’s someone elses job. He accomplishes the tasks that he’s asked to do, quickly. You may not like his work, the other programmers hate it, but management and the clients love it. As much pain as he will cause you in the future, he is single-handedly keeping your deadlines so you can’t scoff at it (no matter how much you want to).

The theoretical programmer


TheoreticalWell, that’s a possibility, but in practice this might be a better alternative.

This guy is more interested the options than what should be done. He will spend 80% of his time staring blankly at his computer thinking up ways to accomplish a task, 15% of his time complaining about unreasonable deadlines, 4% of his time refining the options, and 1% of his time writing code. When you receive the final work it will always be accompanied by the phrase “if I had more time I could have done this the right way”.

Where do you fir?


Personally, I’d have to classify myself as the perfectionist. So, which type of programmer are you? Or perhaps you know another programming archetype that is missing from my list? Post a comment below and I’ll add it to a new updated list.

Related articles


The original article: Steven Benner's Blog