The Mixed Reality Forums here are no longer being used or maintained.
There are a few other places we would like to direct you to for support, both from Microsoft and from the community.
The first way we want to connect with you is our mixed reality developer program, which you can sign up for at https://aka.ms/IWantMR.
For technical questions, please use Stack Overflow, and tag your questions using either hololens or windows-mixed-reality.
If you want to join in discussions, please do so in the HoloDevelopers Slack, which you can join by going to https://aka.ms/holodevelopers, or in our Microsoft Tech Communities forums at https://techcommunity.microsoft.com/t5/mixed-reality/ct-p/MicrosoftMixedReality.
And always feel free to hit us up on Twitter @MxdRealityDev.
AnalyticsInfo.DeviceForm vs ApiInformation.IsTypePresent
I am working on a C++ app that will use XAML on the Desktop and HolographicSpace on the HoloLens. What API or check should I use to start my application accordingly? How are the rest of you going about breaking this up with a single application?
Best Answer
-
OptionsHoloSheep mod
@Jayson the recommendations that I have heard on this topic so far have been to create one app for the 2D experience and a separate app for the 3D experience.
From a UI point of view the two will likely be significantly different and instead of bogging down your Desktop or XAML version of your app with Volumetric logic that it won't use and your 3D version with baggage XAML that it won't use, it might be more effective to isolate your business logic into a dll that could be used by both applications and to isolate the appropriate UI logic into the particular 2D or 3D platform targeted application as appropriate.
In the end, you also have a 2D XAML app that would also run on the HoloLens in 2D mode for those users or scenarios where it is appropriate. Not to mention your test case matrix would also be more manageable.
However, that is just the general recommendation so far. You may have a scenario where creating a single application still holds some advantage over the two separate app suggestion. There is a section on dynamically adapting behavior in the Buid 2016 HoleLens: Building UWP 2D Apps for Microsoft Hololens that starts around the 28 minute mark that goes through some of the API detection stuff that might help.
Windows Holographic User Group Redmond
WinHUGR.org - - - - - - - - - - - - - - - - - - @WinHUGR
WinHUGR YouTube Channel -- live streamed meetings5
Answers
@Jayson the recommendations that I have heard on this topic so far have been to create one app for the 2D experience and a separate app for the 3D experience.
From a UI point of view the two will likely be significantly different and instead of bogging down your Desktop or XAML version of your app with Volumetric logic that it won't use and your 3D version with baggage XAML that it won't use, it might be more effective to isolate your business logic into a dll that could be used by both applications and to isolate the appropriate UI logic into the particular 2D or 3D platform targeted application as appropriate.
In the end, you also have a 2D XAML app that would also run on the HoloLens in 2D mode for those users or scenarios where it is appropriate. Not to mention your test case matrix would also be more manageable.
However, that is just the general recommendation so far. You may have a scenario where creating a single application still holds some advantage over the two separate app suggestion. There is a section on dynamically adapting behavior in the Buid 2016 HoleLens: Building UWP 2D Apps for Microsoft Hololens that starts around the 28 minute mark that goes through some of the API detection stuff that might help.
Windows Holographic User Group Redmond
WinHUGR.org - - - - - - - - - - - - - - - - - - @WinHUGR
WinHUGR YouTube Channel -- live streamed meetings
This definitely answers my question. I was just wanting to keep the app as a single universal app and have it "Light Up" as they say on the HoloLens or future Holographic platforms.