Last modified on 27 June 2017, at 12:42

UBIK HoloLens Client Basics

Revision as of 12:42, 27 June 2017 by KVA (Talk | contribs)

Login

The HoloLens App uses the first profile that was found where IsDefault is set to true. If none is found, it will connect to the Demo server automatically.


Commands

The HoloLens App can be controlled with voice commands and gestures. In most cases, except for the "Assign POI" and "Refresh POI" voice commands, a POI can refer to any type of placeable object. In the HoloLens app, this means regular content objects, documents, or tasks.

Command Purpose
Create POI Creates a new POI at the spot the user is currently gazing at
Assign POI Switches the currently focused POI into dictation mode and listens for text input. The text is searched against the data model.
Move POI Puts the POI in movement mode. This can also be triggered by AirTapping the POI
Place POI Places the POI that is currently being moved
Delete POI Removes a POI from the virtual world
Reset world Removes all placed POIs and documents from the virtual world
Refresh POI Reloads the UBIK object behind the POI
Show documents Displays a list of documents associated to the POI. The documents can be picked (AirTap) and placed like regular POIs
Hide documents Hides the document list
Show Tasks Displays a list of tasks associated to the POI. The tasks can be picked (AirTap) and placed like regular POIs.
Hide Tasks Hides the task list
Next When documents are shown, brings the next document to the front of the list
Previous When documents are shown, brings the previous document to the front of the list
Save objects Saves the location of each POI and document to the server (if available)
Load objects Restores are previously saved POIs and documents to their previous location by retrieving them from the server (if available)

POIs

POIs are the HoloLens representations of UBIK content objects. To place these POIs in the world, you only need to do the 2 following things:

  1. Use "Create POI" voice command to create a new empty POI
  2. Use "Assign POI" voice command, followed by dictating the name of the content object you are looking for

If the assigned name of the POI can be found, the app will assign it to the empty POI, and start loading the object's properties, documents, and tasks.

Documents

Documents are children of POIs, but are treated similarly to POIs. All voice commands which are available for documents are detailed above. If a POI has document children, the user may view the expanded list (carousel) of document previews by using "Show Documents". The carousel can be navigated using "Next" and "Previous", or by tapping on the individual previews. The documents can then be placed anywhere in the world by tapping the centered preview, and tapping again to release the document (while it loads).

Scaling documents

The user can scale flat (images and pdfs) and 3D objects once they are placed. For flat documents, the handle in the top right corner must be tapped, while holding down the tap gesture. Then, simply move your hand in any direction to start scaling the document up or down. Release the handle to stop scaling.

3D documents can be scaled similarly. The only difference is that there is no handle. The user can simply tap and drag anywhere on the visible mesh to scale the object.

Tasks

POIs can, besides documents, also have tasks as children. You can view the list of available tasks (if any) by using the "Show Tasks" command. Similar to documents, a list of task previews will be shown. From there, you can place the tasks anywhere in the world, where they can be edited.

Editing tasks

Once tasks are placed in the world, they become editable. We differentiate between 2 different types of tasks, which are both edited in a slightly different way. Some tasks will present a list of options, which the user can tap (or dictate) to assign the value to the task. For others, such as tasks where a number has to be entered, presenting a list would make no sense. Therefore, you can simply dictate the desired value the task should have (which can be anything, depending on the value type of the task).