OSVR / OSVR-Core

The core libraries, applications, and plugins of the OSVR software platform.
Apache License 2.0
329 stars 124 forks source link

User configuration GUI #392

Open alfa256 opened 8 years ago

alfa256 commented 8 years ago

Based on https://www.reddit.com/r/OSVR/comments/47ri8g/just_got_my_hdk_back_from_razer_exchange/d0feect

Can we list the requirements for the tool ? It would be done in Qt framework and (I think) no more dependencies.

JeroMiya commented 8 years ago

There is work in progress for the config utility. Some aspects of the utility are in the very early design phases. You can track progress here:

https://github.com/OSVR/OSVR-Config

alfa256 commented 8 years ago

I see that it uses asp.net , can you run that on linux ?

JeroMiya commented 8 years ago

Indeed you can. Mac as well. It's running on CoreCLR.

alfa256 commented 8 years ago

Is there a particular reason for that choice of stack ? Wouldn't Qt make sense? Also is there a build somewhere?

JeroMiya commented 8 years ago

We chose a frontend/backend architecture to make it flexible - we anticipate multiple "frontend" apps or utilities might need to connect to the same backend, including some that might be done in Qt instead of web based.

The frontend is done in pure HTML/JS as a SPA style application (AngularJS is the primary framework, with Bootstrap as the CSS library). We're not using any server-side rendering. It uses a very light weight, modern MVVM style application architecture that makes it incredibly easy to prototype new UI quickly. Good results with not much fuss and muss. A web-based UI also makes it more straightforward to integrate dynamic components for custom plugin configuration pages as well as auto-generated UI for json schemas.

The backend is ASP.Net Core running on CoreCLR (kestral server). NodeJS might have been the more popular choice for a backend, and I have had to use it for a time, but I really don't know how anyone gets any real work done with it without many hours of nightmares and hair pulling. Call this one a personal preference.

I have about 3 years of experience with this stack (frontend and backend) with a much larger application (literally hundreds of screens with super fiddly rules and requirements), and this stack pulled through with flying colors - I've been really happy with it.

The application is in the very early stages, so there is no build yet.