Where do holographic apps differ?

Due to the unique nature of the HoloLens device, it should be no surprise that the apps running on it are unique as well. Of course, certain principles apply across all sorts of devices; I have outlined them earlier. However, there are specific things you need to keep in mind when building apps for HoloLens. Here are the most important ones:

  • Do not use the color black: Well, you can use it, but keep in mind that black is transparent. After all, the device works by adding light, and black is the absence of light. There is an exception; if you want to draw tiny details in black on a light background, you will find that it works just great. If you were to look closely, you will note that the black is still transparent, but to the human eye, this looks black. You can use black text on a bright background, and people will be able to see it. However, large dark areas will be more or less translucent, so avoid those.
  • Take care of the level of detail of your graphics: In a normal app, something that will be displayed far away (represented on the screen by being quite small) does not need much detail--it is only a couple of pixels high, so users cannot see detail anyway. With holographic apps, this is quite different--the user can decide to physically walk toward the object and examine it up close. When you have drawn the item thinking that you do not need that much detail, the user will see this.
  • Use large enough user interface elements: People will have a hard time positioning the pointer on a button and keeping it there while air tapping. If the button is too small, the pointer will move away from it. Usually, this results in the user using all the muscles in his neck to steady his head. This can get quite tiring very soon. It is better to avoid this and to have large buttons, text boxes, and so on. In general, a button should be on a plane about 2 meters away from the user and have about 15% of the screen estate.
  • Do not use scrollbars: People will move themselves, so just present longer lists. If you need to scroll, use the scroll-gesture the system provides. The Edge browser shows how to do this. The same applies for zoom and move. Use gestures to accomplish this, not a button or any other user interface control.
  • Use a pointer: Although it is possible to create apps without having a pointer, I would strongly suggest that you create a pointer. This helps the user focus and determines what he is looking at. Users who are inexperienced with the HoloLens might think that they can select objects just by looking at them, but in reality; the pointer is always in the middle of the screen. They cannot move it by moving their eyes, they have to move it by moving their head. Showing the pointer helps them remember this and discover actions.
  • Use the hover event: In mobile apps, we have no hover event; there's no way to know whether the user is holding their finger over an element on the screen until they touch the actual control. With HoloLens apps, we can use this; the user can look at an item and that looking-at can be considered to be a hover. Use this to indicate that the user can or cannot do anything with this item. Change the pointer, change the color, animate the user interface a bit, anything to make it clear that the thing the user is looking at is special and deserves some exploration.
  • Use the physical world: If you can, make good use of the existence of the walls, floors, and other surfaces in the user's environment. A great example of this is the RoboRaid app, which you can find in the store. This app will punch holes in the walls and let aliens creep out of them. The effect is incredibly strong and much stronger than when these aliens appear out of thin air. You can do similar things: placing holograms firmly on tables or attaching them to walls if you can. Alternatively, ensure that you hide your holograms when they are behind or under physical things. This helps in achieving a level of realism.