I am looking for a way to build a Unity application that allows multiple users to see (and at least one of them interact with) the same hologram. I am using the MRTK for user interaction.
When using the UnityEngine.XR.WSA.HolographicRemoting class, it seems I can only establish a single connection to a HoloLens. (The class is used in Microsoft's tutorials, for example here)
I am now wondering if it is at all possible to connect multiple HoloLenses to a single Unity application. I tried looking into implementing a custom remoting app as described here, but my C++ knowledge is too limited to assess if it's even possible.
If it's not possible I would also welcome any suggestion on how to attempt this
otherwise.
Edit:
It also seems like the class mentioned above is not compatible with Unity's new XR Plug-In Management. It does not recognize Holographic Remoting being enabled in the Plug-In settings. I couldn't find another (new) implementation to use Remoting via script.
Edit 2:
I failed to mention, that I absolutely need to use Remoting, because the content I want to display is too detailed for the Hololens to handle itself. So basically I am looking for a way to combine Remoting and Sharing in a nice way.
It seems like you want to share experiences and each user has his/her own perspective on the holograms in the scene and can each interact with the holograms. If so, Holographic Remoting does not match your request, it isn't an aim at share experience.
To create shared experiences to let multiple users collectively view and interact with the same hologram, you need to leverage Azure Spatial Anchors for local users and Photon SDK for syncing the content/state in the scene. For documentation, have a look at Multi-user capabilities tutorials
If you just want to enable other devices to see what the HoloLens sees from a different perspective in the same location, and receive updates on interactions of the host HoloLens user interacting with the holograms, please see:Spectator View
Related
I have a Django project representing an abstract retail store. Let's say it's deployed on a server and is available in the local network. I want to write another program (or extend this one?) to generate a bunch of Users, automate the process of signing up and logging in and automate their interaction with the system: make them interact with the system to order goods. So it's not just unit testing of my system but rather demonstration of how it works in real life. And I want to spawn many users to see how my system can handle many requests at once.
Is there some kind of framework for that? How would you implement this? Thanks.
There are plenty of software available for this specific need.
https://jmeter.apache.org/
https://www.cypress.io/
https://www.browserstack.com/selenium#:~:text=Selenium%20is%20an%20open%2Dsource,%2C%20and%20C%23%2C%20among%20others.
Go through these, hope you will find your solution
I'd like to know if there's something like a dll or lib (with headers, and possibly documentation) that can be linked into a normal* win32 C++ solution so it can (by function call) notify Application Insights of page views and send metric values.
This seems like it should exist and be simple to find, but I'm just going round in circles on Google, finding documentation for reading values back out via a web API, or using C#, or projects that other people tried in the past but now have no source available.
This is for updating a diagnostic tool which I'm trying to avoid having to completely re-architect because the logging now needs to go to a slightly different service.
*ie. not Winforms, C++/CX, Xamarin or UWP. Straight, command-line c++.
Currently there is no Application Insights client library for native applications (c/c++). Though it's in backlog I don't think it will be prioritized higher than java/node.js. So, I would not rely on its release anytime soon.
Customers who wanted to send telemetry from native applications usually picked one of the following options:
Using REST API directly. If application is going to use only couple of telemetry documents then it should be straightforward. With the most complexity coming from own requirements such as persistent channel.
Host CLR + use .NET Application Insights SDK
Have .NET service running on a box and implement communication channel between native app and this service.
Depending on environment (for instance, #2 makes sense if app already hosts .NET; #3 makes sense if there is already installed .NET service in addition to native app) you can check whether on of these options will work for you.
I am learning how to create APIs in order to make my application plug-inable an I created a demo application in C++ and Qt in which a user can add for example a new button to the application.
As a security feature I would like to be able to provide the application user a way to turn off network access for the plug-ins they wish to do so. For example if someone creates a closed source plug-in for my application, I would like to let the user block any network activity executed through that plug-in.
Also I would like to do this without having the plug-ins run in a different process.
So my question is: Is it possible to turn off network access for shared libraries that an application links to dynamically without turning off network access for the whole application?
What you ask in the title is not possible, but you can create an API for plugin network access which has a blocking feature on a per plugin base. This means you will not be using Qt's networking classes directly, but create wrappers around them which check if that particular plugin has permission, and if not simply does nothing as networking commands are issued. This also means you have to provide that API to people who will potentially be writing plugins for your application, and forbid them from using Qt's network classes directly, and instead use your wrappers.
After I written most of my websites in a way which you don't even want to see, I now came to a point where I mostly think about what I am doing instead of just typing it. Some friends of mine and me now have developed a game. It is quite a mixture of good and bad styles, but thats another story. Now I want to reimplement our webservices to make it possible to host all our stuff with a single RESTful API.
My most important goal is to keep everything very clear and understandable. So I'd like to have a main system which, for example manages all users so you can address all users at http://example.com/user/XXXX
The next point is that I want to be able to have some resources for special sub-services like stats for a game which then is accesible at http://example.com/user/XXXX/gamename/stats In this case the user management system should be able to authorize or reject the access and then redirect to the service which manages the game (e.g. another server).
Also the whole system should be able to make a difference between the game which calls the stats, or the user who wants to see his stats in the browser via our website)
Is there a state of the art way to implement a system like this?
Your description of the problem is too vague, but from what I can understand I would suggest having a look at Web Api. For real-time communication between clients and server, also have a look at SignalR.
I need to design and implement a Java web application that can be used by multiple users at the same time. The data that is handled by this application is going to be huge and may take about 5 minutes for a page to display the results(database records).
I had designed this application using HTML, Servlets and JSP. But when two users would try to get the records, only one user was able to view the results while the other faced an error.
I always thought a web application would take care of handling multiple users but this is not the case.
Any insights on this would be highly appreciated.
Thanks.
I always thought a web application would take care of handling multiple users but this is not the case.
They do if they're written correctly. Obviously yours is not. That's all we can tell you unless you give more information, most importantly details of the error shown to the second user.
One possibility is that everything is OK on the web layer but your DB access for the first user causes an exclusive lock so that the second user cannot access the data at the same time. This could be fixed by using non-exclusive read locks. How to do that depends mainly on what DB you're using.
Getting concurrency right requires you to choose the correct tools and use them correctly. It doesn't just happen magically because it's a web app.
What are are using to develop this web-application? If you are developing it in your own way from the start I must say you are trying to re-invent the same wheel which has been already created and enhanced by very solid frameworks.
I suggest you analyze your requirements thoroughly and study some available frameworks. Let them handle the things like multi threading and other aspects in the best possible manner.
Handling multiple request at a time is a container work and as an application developer we have to concentrate how we are handling and processing those requret being forwarded by the container.
I must suggest you to get some insight how web-application work and how request -response cycle happens