Developing for Kinect on the Xbox - kinect

I am working on building a prototype for an game that will eventually be commercial but is not at present. Since I am not a licensed Xbox developer, I don't have access to the official Microsoft XDK. I am aware of the Kinect for Windows SDK that was recently released, as well as open source alternatives like OpenKinect. Unfortunately both of those options are Windows only. I've heard that Microsoft eventually plans to release Kinect support for XNA, but who knows when that will happen. My question: In the short term, is there any library, clever hack, or open source alternative that I can use to get my prototype working on the Xbox itself?

No. The only way to do native development for the Xbox 360 is to become a registered developer. Your best option for building a prototype is to develop on the PC using the Windows Kinect SDK if applying for registered developer status is not an option for you. If you develop with DirectX 9 and stick to core Win32 APIs you shouldn't have too much trouble porting your code to the Xbox 360 later. The biggest thing to be aware of for porting is endianness issues.

Related

Should my app target Windows 8.1 before it is widely adopted?

Windows 8.1 is the update to Windows 8.0. Right now, using Visual Studio 2012 I can target my Store App to Windows 8.0. But with Visual Studio 2013 I can target Windows 8.1. There are new APIs available, some changes to the framework, and new XAML controls I can use - the date picker control alone will remove third party libraries from my solution.
Knowing the benefits of Windows 8.1's APIs and controls over Windows 8.0, is it worth targeting my app to Windows 8.1 as quickly as it is available (basically, now), or should I wait?
Please, this is an honest question that many developers are asking right now. The changes are significant, but the answer to this question is not apparent. Though I can have a Windows 8.0 and a Windows 8.1 app in the store, my goal is have a great app with a single code base.
Is targeting Windows 8.1 worth it (at all)?
Is "early" a valuable-enough quality of an app?
Is there some "trigger metric" for adoption?
What's the rule of thumb on other platforms?
How should serious developers answer this?
I don't have "the" answer, but I could share my approach when Windows 8.1 is not a requirement :
Maintaining two versions of an app (W8 & W8.1) costs. Measure that cost.
If your application is not already published and is not likely to reach the store before the end of the year go for W8.1.
If you already have a version of application live on Store, update it as quickly as possible to integrate an analytics solution and gather OSVersion (http://bit.ly/15X2B3K). Decide when you have enough users using W8.1 to justify the migration cost. Plan the drop of W8 support.
Hope this helps

Surface SDK only for surface

This might be a stupid question, but I couldn't find the answer anywhere. Does the Microsoft Surface SDK 2.0 only work with Microsoft Surface products, or can I use it with other touchscreens? I really just like the way the SurfaceTextBox control works (popping up a onscreen keyboard when clicked) and was wondering if I could use it in a program I'm making (which uses a Elo touchscreen monitor, not multi-touch).
Edit
Thanks for the responses. I downloaded and installed the SDK 2.0 and tried to run the sample apps that are included. They don't seem to respond to my finger touches but do work if I the included simulator. I'm running this on windows 7. Any reason why it doesn't seem to work on my touch screen?
Yes, you can use it with any touchscreen. It works on WinRT/Windows 8 as well as Windows 7. I have used it for surface, tablet (both WinRT as Win7 tablets) and touch-enabled desktop applications and it works absolutely fine.
The installer requires you to install Visual Studio 2010, but if you import the DLL's manually in the toolbox, you can also use it in both Visual Studio 2012 and 2013 preview. This is an answer on a different question, answered by one of my colleagues on how to use the Surface SDK 2.0 with Visual Studio 2012
It's a great toolkit to support touch-enabled WPF applications and can also be use as a replacement for the WinRT Metro UI, in case you cannot use that toolkit (e.g. when you interface with USB, or need desktop services).
Update:
Since you update your question to how to get the Elo Touchscreen to work with native Windows 7 touch, I suggest you download and install the latest drivers. Your touchscreen will only work with WPF touch / Surface SDK if native Windows touches are supported. Installing the latest drivers should do the job. Don't forget that you might have to enable and configure touch input in the Control Panel (Pen and Touch).
I noticed that in some cases touches are not working when you use a SurfaceWindow. Use a normal WPF Window and all the SurfaceControls should work. Thus if you want to use the sample applications on Windows 8 you need to replace SurfaceWindow with Window and remove the unavailable EventHandlers.
From Microsoft's web page:
http://msdn.microsoft.com/en-us/library/ff727815.aspx
The Microsoft Surface 2.0 SDK provides the managed APIs and the tools you need to develop Surface applications. Applications that are built using the Surface SDK can run on devices made for Surface 2.0, and on Windows 7 computers.
See also:
http://social.msdn.microsoft.com/Forums/en-US/b61c2eda-410e-4c65-9a60-b9e0a8ea11b2/windows-surface-sdk-setup-and-development-on-the-tablet-windows-rt
Surface SDK 2.0 is not dedicated to Windows RT for a Surface Tablet. it
is innitially dedicated on PIxelSense SUR40 unit or if you are bulding
windows 8 application with Pro version.
There has been a lot of confusion since the arrival of the Surface
tablet. The product name Surface before what the name of the Microsoft
Table touch table and the Samsung SUR40 device.
And that SDK was only working on those device. Then MS has release a
version (Surface SDK 2.0) which can be use also fro traditionnal Touch
PC application starting from Win 7.
Finally:
http://www.infoq.com/news/2011/07/Surface-2
With Microsoft Surface SDK 2.0 one can write applications for both
Surface and Windows Touch devices.
Surface 2.0 is not compatible with Surface 1.0 devices, and so far the
only compatible device is Samsung SUR40 [as of July 2011]...
These details have been public for a while, but Microsoft has just
made available Surface SDK 2.0. One of its key features is the ability
to target Windows Touch devices, that is Windows 7 computers with
touch input, so this SDK serves a much larger spectrum of devices. If
there are very few Surface devices out-there, there are lots of
Windows Touch ones, and their number is poised to grow.
Windows Touch applications are very similar to Surface ones, except
that the later supports full HD resolution and a multitude of touch
related inputs, such as finger and blob recognition, tagged objects,
tilted display, rotated display, etc.
At windows 8 you just need do that:
Run Microsoft Surface Input Simulater
Go to Device Manager
In Human Interface Devices, right click over Touchscreen compatible with HID and click activate.
Just that. ;)

Do Windows 8 Store Apps (Metro) run in Windows 7 or XP?

I want to know whether Metro Applications developed using Visual Studio 11 Developer Preview and .Net FrameWork 4.5 can run in Windows 7 or XP.
Not the normal Windows Form or WPF, I want to know about the all new Metro Apps.
What new things needed to run Metro Apps in Windows XP or Windows 7
What new things needed to run Metro Apps in Windows XP or Windows 7
A virtual machine of Windows 8. Metro apps currently don't run on Windows 7, and definitely don't on Windows XP. According to this thread, it's difficult but might happen eventually:
Keep your eyes out on future Channel 9 videos and on the BCL/CLR blog
for more information around the challeges of enabling the Portable
Library story, however, I will give a quick summary with regards to
ViewModels:
While the ViewModels themselves are defined by the
application, they often take dependencies on types (ie
INotifyXXXChanged interfaces, ICommand, etc) that live inside the
framework. Currently if you look across our multiple .NET platforms
(Silverlight, Phone, .NET and now Metro style apps), these all live in
different assemblies, and with Metro apps, a different
namespace/technology (WinRT). This makes it challeging to give the
user a surface area that can compile against and still have it run on
all these other platforms. We've got some ideas on how we're going to
enable this, however, it requires some work and doesn't come for free.
In saying that, however, we completely see the value and
really, really want to do this.David
But it's not currently possible. At best, you could just make a desktop app version of the same thing.
I tried it on Window 7 and answer is definitely no, you can not even develop Metro style App in Windows 7, for developing also you need Windows 8 and Visual Studio 11.
I'd be astonished if Win8 Metro-Style apps would ever work on Win7 - there is a huge amount of OS level infrastructure necessary to get those apps to work on Win8 that simply isn't available on Win7.
Having said that, people have figured out to write applications that can be made to work on both *nix and Windows with a recompile, so I imagine eventually it might be possible to write an app that could be recompiled to produce a metro-style version and a WPF/Silverlight version. But that technology simply doesn't exist at the moment.
Id say no, based on the fact that Metro requires WinRT which is not available on Windows 7 or XP
This depends on what you might want to do.
For example, if you're developing a game and want it to run on Metro/Modern UI but also on other Windows versions, MonoGame is a great option!
It will allow you to develop for and run on:
All Windows desktops
Windows 8 Metro/Modern UI
Mac OS X
Linux
XBOX 360
iOS
Android
Windows Phone
And possibly more platforms on the future.
In my honest opinion having such a wealth of target platforms warrants any learning curve you might have to develop for MonoGame. And not to mention that you can develop in the comfort of Visual Studio, so IMHO it's something to be considered even if your app is not strictly a game (who said you can't develop a non-game with a game framework...?).
Update: Here's a tutorial, and by the way, you may want to also consider HTML5 for games or non-games. Cut the Rope (very fun game) uses this, and it seems to be doing pretty well (I didn't even notice it was HTML5!).
I am developing an app for the apptivate.ms contest right now. So I can definitely tell you that the Metro apps won't work on Windows 7 or XP.
What is more, the Visual Studio Express version needed for developing the Metro Apps won't even install on Windows 7.
Also, just remember this sentence - "All Windows apps are not Windows 8 apps!"

Is it possible to use the Microsoft Kinect SDK with Metro Style applications?

I was wondering if it is possible to use the Kinect SDK with Metro Style applications and if smartphone and tablets will have support for Kinect.
I think it is possible and someone has done it. But not directly on Metro UI as far as I known (April 4, 2012)
Microsoft released Kinect for Windows 7 SDK in June, 2011. So, we know that Microsoft is targeting to utilize Kinect for PC controlling. Since Windows 8 is more touch driven than any other previous release of Windows, it should be in their target to introduce Kinect as one of the Windows 8 control device.
In addition, Metro UI has already been introduced on XBOX. We can see that Kinect works really well with XBOX Metro UI. Given that Kinect works well with Windows 7 and Metro UI on XBOX, it is not hard to imagine Kinect to work with Windows 8. Especially we know that most of the .Net 4.5 applications should still be working on the traditional desktop interface of Windows 8. (A video on youtube also demonstrated how they used Kinect on Windows 8 traditional desktop interface and Metro Application by using a service)
We've developed a project called "KinectMetroApp" that helps to use kinect to control Metro UI on Windows 8.
Plz find below the post that describes the project.
http://wiseteamtn.wordpress.com/2012/03/27/kinect-your-metro-style-app/
Also, a recent article on channel 9 speaks about this Topic.
http://channel9.msdn.com/coding4fun/kinect/Kinect-your-Metro

Is there an SDK out for Windows Run Time (WinRT)?

Is there some kind of SDK out for WinRT.? Can we develop applications for it now?
Is VS2010 usable for developing or will some other IDE be shipped? Also, is C++ necessary to develop performance-oriented apps in WinRT, or will the C# applications give equivalent performance? Can development be done on Win7?
I am curious about this because I missed out when WPF was released and I don't want to miss out on this.
Take a look at the Windows Dev Center where you can download a copy of Windows 8, complete with all the new tools for developing for it.
Visual Studio 11 Developer Preview is also available on Subscriber Downloads if you do have a subscription, and it includes the WinRT SDK and runs on Windows 7 and other operating systems. So you can build it and debug it, but you still have to run your code on a Windows 8 machine.
Performance-wise, WinRT doesn't change the guidance for whether to use native code. The APIs will behave near identically regardless of what language you choose, so make the decision between C++ and C# just as you would today.