A core concept that has resonated through societies of the world over the course the last few hundred years is "knowledge is power." And understanding that concept gives us the drive to push further forward and learn as much as we can on a subject. At the moment, that subject for us at Next Reality is the recently released information about Magic Leap's upcoming Magic Leap One: Creator Edition.
In order to learn everything we can about the Magic Leap One: Creator Edition, we have continued to look deep into the documentation released to developers this week. This deep dive has led us to the software stack itself. For those unfamiliar with the term, simply put, the software stack is a combination of subsystems or components that, when put together, create a complete platform.
The lowest or first level of the software stack is the operating system. The OS for the Magic Leap One: Creator Edition, Lumin OS, is controlled by an open-source Linux kernel called Lumis OS Core. For those unfamiliar with the term, the kernel is the core of the operating system, which handles basic hardware functionality, such as data input and output, memory management, and system calls.
The next layer of the Magic Leap One software stack is the OS Services layer. Here we get into the higher level functions that use the OS Core to run other hardware on the device. For example, input management, communications management (Bluetooth and Wi-Fi), and power management, among other functions, are handled here.
Also in this layer, Magic Leap has included what the company calls Perception services. These subsystems handle some of the more complex input, such as user and environment sensing, as well as the graphics rendering pipeline, which includes Magic Leap's implementation of asynchronous time-warp (ATW).
- Don't Miss: Magic Leap Filings Point to 'Magic Shop' Branding for Online Store, L.E.A.P. Creator Conference Event
Using the Portable Operating System Interface (POSIX) API standard, the Platform APIs layer works as a gatekeeper of sorts between developers and the capabilities of the spatial computing functionality, with a user set permission system. This layer also includes a Binder framework, commonly used in Android OS as an interprocess communications system, allowing applications to interact with one another (a functionality very notably missing from the HoloLens at this point).
The final layer in the software stack between applications and the operating system is the Lumin Runtime. At one point, what we now know as a Windows computer was made up of the MS-DOS operating system, and Windows was a Graphic User Interface (GUI) that ran on top of the operating system. So a GUI+ could be an easy way to view what the Lumin Runtime is. But Lumin Runtime offers a few more important functionalities beyond a simple GUI.
Out of the box, Magic Leap One is using a client/server model that allows multiple devices to share applications. Based on how it is worded in the documentation, it sounds like this is handled automatically. If true, while it brings up questions of controlling what elements are shared or not shared, this will be a breath of fresh air for those of us who have been developing shared experiences on the HoloLens.
Other elements of the Lumin Runtime:
- 3D models with material and skeletal 3D model animations
- 2D sprite animation
- High fidelity spatialized text rendering for spatial computing
- 2D and Soundfield Audio
- 2D and stereoscopic video
- Rigid Body collision physics
- Real-time particle FX
- Input events and haptics control
- Hand gestures
- Speech to text
- Real-time spatial computing technology for rendering objects, lighting, shadows, and real-world occlusion
It appears the Lumin Runtime is designed to provide all of the amenities that 3D engines like Unreal and Unity would provide, including things such as the Lumin Editor and UI Toolkit. That said, the Lumin Runtime layer also supports both of the aforementioned engines.
That is, with a caveat.
- Don't Miss: New Magic Leap Gesture Documentation Offers Insight into How Hands Will Make Its Digital World Come Alive
While Lumin Runtime applications can run in parallel and work together, Unreal and Unity applications run as stand-alone apps, as they take exclusive control over the device. Of course, this is exactly what they do on other platforms as well, so it's not much of a surprise. But it is something that some developers would love to see changed.
So all in all, it looks like Magic Leap has really put a good deal of thought and work into the Lumin OS and its software stack. At least on an abstract level. We can't really know for sure just how everything does or doesn't work until we get our hands on the device itself.
That said, with tools like the simulator we can approximate results on some level (there are many of us who started HoloLens development on the HoloLens Emulator, so we can say it's familiar territory). And that approximation is hopefully enough to create the necessary level of excitement and energy to bring the right developers to the door, to create the fun needed to grow the platform.