Inspiration
When I was a manager, project management and planning felt inefficient and frustrating. This competition was an opportunity to see how numerous old problems could be resolved with new technology.
What it does
The Project Plan
The core feature is the 3d planning chart. It's easier to use than Gantt charts with less wasted white space. I used it as an example of how 2d interfaces can be reimagined in XR. There is still a page to focus on, but tasks float on the page and can extend beyond it's boundary and fade into the distance. StereoKit handles allow you to simply drag and drop tasks around the plan. Multiple tasks can be placed on the same row and have an implied dependency. Conflicts are highlighted by popping the problem task further away from the page, making use of the availability of 3d. You and your team can simultaneously add tasks, allocate resources, update progress percentages, and set task dependencies.
By interactively collaborating on the plan, I hope to increase buy-in and commitment from the team, and make them more aware of their responsibilities and impact on the project.
A Persistent Project Room
Anyone with the project code can enter the cloud-based project room at any time from any location. You can add assets using StereoKit's file picker and have them stored in the cloud to use in meetings or presentations. The project plan and the assets can be cast to the stage area and the assets can be arranged along the walls for quick access (click with the laser pointer) or referencing during meetings.
A persistent project room means everyone knows where to go for updates and information. Everyone can update the same space and plan so keeping things up to date is a group effort. I hope it encourages and improves communication.
Meetings and presentations
The semi-circular stage means users can have an unobstructed view and can see each other and who is talking. Rather than one person at the front, everyone is involved equally. The casted image automatically faces the user and everyone has an optional laser pointer. Remote user's laser pointer positions are updated for each viewer to accurately reflect the pointer position on their local casted screens.
It should be an ideal place for both team and stakeholder meetings.
No time wasted printing out plans and documents for meetings
Easier to collaborate and view multiple assets than Zoom-type meetings
My intension is to make meetings feel less formal, anyone can take the lead or use their laser pointer, hopefully giving more of a team feel.
How we built it
I built it using StereoKit for its fast prototyping, flexible UI and inbuilt features such as the file picker and runtime support for easily loading images and files. The dashboard was quickly finished and due to the way UI is handled it was easy to set a new position and scale (using a hierarchy) for the dashboard and have it drawn a second time on the stage when casting was enabled. Tasks make use of StereoKit handles meaning you can highlight them when they are in grabbing range and easily drag and drop them around the plan. A custom shader is used to decorate task blocks with additional information such as selection status, whether the task has sufficient resources allocated and progress made on the task. I used StereoKit's holographic style with some minor amendment's. I use Azure to save project details and assets in the cloud, providing central access from anywhere. I use Epic Online Services for P2P networking. Sample images in the app are CC0 licensed. Details are included in the SampleAssets folder.
Challenges we ran into
I had not implemented multiplayer in StereoKit before so this required a lot of thought and there are still some occasional issues to resolve. I originally investigated PlayFab, but had to pause that approach due to their lack of C# support for their Party features. Hopefully this will improve in the future so I can re-evaluate. Instead I used Epic Online Services for peer to peer networking.
Accomplishments that we're proud of
I'm please with the result of expanding a typical 2d plan into 3d and making good use of the space and 3d possibilities opened up by XR. I like the semi-circular stage for a less formal approach to meetings where anyone can lead and you can all see each other and the stage. I'm pleased with the multi-user capability and the idea of collaborating on the plan.
What we learned
Gained more XR-focused UI experience. Gained knowledge on multiplayer services and coding (EOS and PlayFab). Learned how to implement Azure C# SDK. Furthered my knowledge of StereoKit.
Running the app
If you use the "Party" sample project, please leave it intact. Create new projects to experiment. You may need to install the .Net 6 runtime if you don't have it. Make sure you allow access through your firewall.
What's next for MasterPlanXR
There's lots I didn't have time to do such as allow PDFs to be imported and various other features I would like to include in a commercial solution:
- Zoom in / out of plan.
- Networking improvements and voice support.
- Proper avatars.
- Security and permissions.
- Configure working days on a calendar.
- Personal calendar for each resource, usable in multiple project rooms.
- Data visualisation for project data and imported CSV files.
- Quest support
Log in or sign up for Devpost to join the conversation.