The Magic Leap is one of the most anticipated pieces of AR gear to be released in recent memory. Until now, Magic Leap has been ultra-secret about the details and specifications of the device for such a long time that many (including myself) have become skeptical about it being released at all. At last, a few units have trickled out, along with an sdk being made public. A few brave developers have made YouTube tutorial videos demonstrating basic functionality without actually having the device in hand to test, but at the time of this writing, there are very few practical development examples available to get a new developer up and running quickly.
A few weeks ago I was fortunate enough to get early access to the Magic Leap. I have been developing using Unity for the HoloLens for a while now, and I was curious as to how the Leap would be like in comparison. In this article, I will share some observations on what it’s like to develop for the Magic Leap in comparison to the HoloLens. I will also discuss a few of the practical differences in hardware and UX expectations between the two.
If you have ever used the HoloLens, you know that the glasses are supported by a halo ring that sits on top of the user’s head and supports the weight of the device. Very little pressure is placed on the user’s nose. This is, in my opinion, is superior to the Leap, which has a nice automatic retracting headband, but tends to pull down and off my face during regular use. Also, the external puck’s cabling is rather weighty and helps to pull the glasses down onto my face. Concerning the actual display itself, I have the subjective opinion that the while Leap has a higher resolution, performance and frame rate, holograms look more saturated and bright in the HoloLens.
Field of view and the Leap’s enclosed design:
One complaint that most people have about both devices, and especially the HoloLens, is the extremely narrow FOV. This is especially frustrating when trying to interact with things and holograms within arms reach. The HoloLens’ FOV is 30 degrees horizontal and 17.5 degrees vertical, while the Leap has an improved FOV of 40 degrees horizontal 30 degrees vertical.. The first time I put on the Leap, I didn’t care for the steampunk like hard border around the user’s eyes. However after hours of use, I realized that this may have actually been an intentional design decision to help mitigate the narrow FOV. The presence of a thick border around the user’s eyes encourages the user to look straight ahead, while the clear glass window of the HoloLens (albeit a more clear view into the real world) tends to accentuate the limitations of the holographic display. Perhaps the Holo will continue to be more suitable to industrial applications for this reason.
Operating System and Usability:
The Magic leap runs on a custom Android variant called Lumin, while the HoloLens is considered a windows phone and maintains a familiar windows-like context switching paradigm. Here is where the devices differ greatly from an end user perspective. The HoloLens quickly and automatically senses a room. You usually don’t need to do a lot of scanning around, while the Leap wants you to do an extensive scan of a room that can take up to several minutes to complete. The Leap features two kinds of applications, fully immersive (where all other apps are blocked out) and mixed mode, where other apps can co-exist in your visual space. This sounds nice, but it can result in a disastrous mess if several applications are open in your physical space, especially when they all have a different ways to interact and close them. Context switching between simultaneous applications can also be difficult, especially if there are multiple apps in the same Z axis from the user (in front or behind each other). This brings me to my biggest criticism of the Leap, lack of uniformity in UX. Every single app seems to behave differently as if the development was done in complete isolation. There is little commonality in which buttons do what on the touchpad, and it’s usually not obvious how to close an app. It’s almost like going from Android to IOS, where there is no back button and every app has a different way of traversing back in an app. Even the Leaps pre-installed apps seem to lack uniformity in this regard.
Testing and developing for a new AR device gives me newfound appreciation for the HoloLens’ simplicity of interaction design. You have a cursor in the middle of your view at all times, and you use this to focus on the object of interest. Most applications use the center cursor along with the “click” or “pinch” gesture to select things manipulate 3D objects. Furthermore, a handsfree device allows the user to interact with the real world more naturally. That’s not to say that all Leap apps use the included wireless touchpad , but it seems that you must always have it handy to close apps and interact with the main menu.
The Leap is way more fun:
It’s pretty obvious that the HoloLens will continue to be the device of choice for corporate training and simulation applications, while the Leap (for better or worse) features an implied sense of fun and inspiration into its GUI and OS. When you first put it on, you may think that it was designed for children, with all the blips and beeps and Disney ride background music. I have not played many games on the HoloLens, but the I’ve got to say, Angry Birds on the Leap is incredibly fun, and the game makes great use of the wireless touchpad.
API and Code Examples:
As I mentioned before, the HoloLens has much stronger uniformity across applications. This is largely due to the MR-Toolkit, which makes development for 3D applications easy, quick and uniform. Things like object selection, bounding boxes and object manipulation have great API abstractions and examples abound online, while the leap leaves these implementations up to the developer. I’m sure that this will change as more developers gain access to the device and release how-to tutorials and development notes, but for now, the simple task of developing a simple application that allows the user to place a 3D object on a detected plane in the room, then move or manipulate it requires low level code writing and a decent amount of math skill. The Leap SDK is (in my opinion) seriously lacking in overall explanation of provided library functionality as well as solid examples.
The Web Interface:
Another greatly anticipated feature of the leap is a browser that supports web based content that can interact with the space around you. The Helio browser does in fact support this, and there are a few websites that are compatible with the leap. For instance, the Wayfair site allows you to pull furniture into your 3D space from the browser. However, one serious drawback at the time of this writing is that the browser does not appear to be aware of surface planes in the real world. And so it is very easy to pull a 3D object out of the browser and accidentally sink it halfway into your floor. The system does automatically occlude content behind real world objects, so you can accidentally place a chair, say behind a wall and never find it. I’m hopeful that this will be addressed in a future release of the browser.
World-aware AR glassware is obviously still an emerging technology, and many of us working in the XR industry believe that AR is absolutely the future of personal computing. As we all wait for Apple to release an AR glassware product, I can imagine that the early players in this space will shape the public’s expectation for AR based interaction. Perhaps there will be 2 or 3 flavors of AR glasses, resulting in the “Leap” way of doing things v/s the “AppleARGlass” way of doing things.. These early devices, while still difficult and a bit strange to use, are revealing and inspiring us developers to think differently about AR and how to develop useful and fun applications that work around the devices shortcomings. Concerning the Leap and HoloLens, while neither device is really available to the many people, as a Developer I strongly prefer to work with the HoloLens until there is more established documentation and support for the Leap. Once the leap has its version of the MR-Toolkit, it will become a much more viable platform to develop for. However, if you work for an agency or entertainment based organization and your client wants a fun and novel experience that very few people have experienced, the Leap is definitely the way to go, but for those of you who are trying to develop enterprise level solutions, I would stay with the HoloLens for now.