rvdleun / onoffice Goto Github PK
View Code? Open in Web Editor NEWThe open-source Virtual Office, powered by WebVR
Home Page: https://onoffice.app
License: GNU General Public License v3.0
The open-source Virtual Office, powered by WebVR
Home Page: https://onoffice.app
License: GNU General Public License v3.0
Goal
To let the user add more screens into the virtual environment
Description
I briefly played with getting multiple screens to show up in the virtual environment, and was able to get it to work. However, there were still some mishaps here and there, and I preferred to focus on getting a first release out before focusing on this
Deliverables
Goal
To improve the screen display in the virtual environment
Description
When compared to other solutions(Virtual Desktop, Bigscreen), the displays are still very pixely. When the display is large in the virtual environment, you can work with it, but it isn't as nice as it should be.
Unfortunately, I really have very little experience with this and would love to learn of a way on how to make the screens more readable.
Deliverables
hello,
on my epson moverio bt-300 (android 6, AR-HMD) the height in the space is to low. it woluld be very nice, if there were an option to adjust the height without a vr controler - maybe via keyboard or mouse, etc.
I've also tested it with a old andorid device as vr controller, but my setup doesnt recognized this device as vr controller in onoffice.
let me know if you need further details.
thanks!
Goal
Let the user pick custom AFrame environments
Description
AFrame is incredibly easy to pick up. People can put something together with just HTML and a bit of Javascript if they want. We should make use of this.
At the moment, On/Office is serving a static HTML file with the splashscreen and the AFrame <a-scene>
. This item is about letting the user pick a custom environment which will replace the default <a-scene>
.
This would replace the 'Change 360 image' button on the desktop application. Rather, the user should be able to point to an archive file that will have the AFrame scene, plus eventual assets.
Next to this, each AFrame scene could also have a number of variables that the user can set. For example, the current scene should be available in the same format, and the user should still be able to change the background image.
For builders, we'll likely also want to have a template / repository for them to be able to start building a scene.
Later on, it would be neat to have a 'repository' where builders could add their own environments for others to share.
Deliverables
a-scene
that is served dynamic, instead of hard-coded.Goal
Change the current WebRTC implementation with an existing library
Description
Getting the WebRTC implementation to working was the result of a long Saturday evening. I tried to get it implemented with a number of NPM modules, but none of them really worked out. In the end, I decided to build my own implementation via some tutorials that I found on the Internet.
I am glad to see that it's working now, but I'm not too happy with it. I would rather have a library that is maintained with people who are more experienced about the subject to handle the WebRTC aspects of streaming a screen to the VR Headset.
Deliverables
I'm using the OnOffice on iPhone safari, and can enter vr, but the screen is placed too high. I was just wondering whether there is a setting to adjust the height?
Goal
The user should be able to give permission to let the app get access to the Device Motion Sensors.
Description
Due to Apple cutting off access to the devicemotion events on the browser by default, On/Office doesn't work on iOS devices at the moment. With the latest update, a permission API has been added that will give the app access again.
Deliverables
AFrame is currently using the outdated v0.8.0, and needs to be updated v0.9.2 to keep up with the latest updates.
I've tried to do this earlier, but the Virtual Cursor didn't show up for reasons that I'm still not clear about. Going to spend a bit more time investigating this.
Deliverables
Goal
Give the user instructions on how to connect per headset
Description
At the moment when the application is running, there is a single instructions page with a list of items on what the user needs to do.
What I'm thinking of adding here is to let the user pick his headset(that is officially supported by the project) and get tailored instructions for that device. ie. With the Oculus Quest, click on 'Navigate' -> 'Browser'. For the HTC Vive, open Firefox', along with screenshots.
I briefly spent some time trying to get this to work, but couldn't get the UI to work. Plus, couldn't get a proper design for it either.
Deliverables
StreamingScreen
to pick a headset and get instructions on how to connect to On/Office there.I use cardboard but I can't viewscreen of my macos computer.
I follow instruction, I view default environement but not view screen.
Goal
To get On/Office running on a Linux distro.
Description
The application is built with Electron, so should technically be portable to Linux. I haven't had fully time to explore how to handle this, and the one time I tried to run On/Office in a virtual Ubuntu environment led to a number of errors.
I also don't have enough experience with building applications for Linux, in particular with different distros. Most of my experience comes from Ubuntu, and I don't know how big the differences are to release the application on several distros.
Will likely need some help here or research more into it.
Deliverables
Goal
The user should be able to pick an application window to show up in the virtual environment
Description
At the moment, the desktopCapturer API is used to stream the entire screen to the virtual environment. However, the API also offers an option to stream a single application window. By using this, it would be possible to let the user stream separate windows, disconnected from the desktop screen.
There are some caveats. The user will not be able to actually interact with these windows in the virtual environment. If he wants to do this, he would still need to do this on the desktop. What this feature would add is to easily be able to monitor a process which can still have its advantages.
From a technical point of view, it would also need a lot of development and research. What happens if a window is minimized, resized or closed? Can this work on all operating systems? What happens if I'd stream a lot of windows and how much lag can this cause? The user interface would also need a revamp to be able to easily accommodate being able to move multiple windows around.
I have done a bit prototyping and hacking to see if this is possible, and the early test shows promise. For the application, there is no real difference between getting a video from a desktop or a single application. It's nothing more than a playing a video on a plane, really. My attempts can be found in the feature/windows
branch.
Truth be told, this item may need some more thought and is really more of a concept. At the very least, some more basic features, like multiple displays and controller support, will need to be implemented before giving this a serious look.
Deliverables
Goal
The user should be able to use a controller to move the screen
Description
At the moment, the only way to interact in the virtual environment is with the desktop application. It would nice and more immersive if the user could move the screen by picking it up with a controller and placing it somewhere else.
Maybe also increase or decrease the size with the touchpad, but that is a nice-to-have.
The controller might also feel to be in the way, so it might be nice to have an option to have the controller disappear if it hasn't been used for, say, 30 seconds. Note that the 'Screen size' slider should remain in the desktop application for headsets without a controller
Deliverables
please start supporting https and use it by default, i guess i don't need to explain why.
It would be nice to see some examples of how it looks like :)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.