HolonizeThePlanet - what do we know

What do we know?

So, we began working our way through the Unity training material to quickly absorb terminology, processes, and requirements for developing different kinds of Unity applications. They focused on areas that relate to the application we need to develop. This opened a can of worms.

We launched a conversation about how to provide a service to synchronize the HoloLens virtual space of multiple users who share the same physical space. This is interesting because we have no idea what HoloLens will do, what hardware it will contain, or how it will communicate with Unity. So, a refresher of the basics was in order:

  • HoloLens can map the surrounding environment and create a tessellated mesh of it.
  • HoloLens can apply movement and physics to objects without a user specifically coding for these things.

How HoloLens achieves the interaction between virtual objects and the physical environment matters. The approach used by HoloLens may help or hinder the development of a solution that provides persistence and sharing capability. If an application can access a map of the surrounding environment and the placement of objects then that information can be saved. If a map cannot be accessed, then the function of persistence may be impossible to deliver.

This lead us to the next topic of discussion: Creating a universal script for positioning objects. When an object is in a Unity Scene running on HoloLens, can the user automatically move, rotate and scale the object using functions provided by the HoloLens SKD, or is a developer supplied script still required? At this point we just don’t know. In this case, we made the decision that a “universal” script should be developed that will be assigned to every object in Unity. This way we can guarantee that users will have these abilities.

So grows the list of functions the application must provide.

HolonizeThePlanet - Leap

Environments, tools, and training

Let’s recap: We’re developing software for a device that doesn’t exist yet. The device is for a market that doesn’t exist yet. As we established last time, we don’t have the finished tools we need to complete our application. Hmm…

This should take a degree of insanity to seem like a good idea. What makes us confident in our ability to write software for HoloLens right now is our comfort with the tools.

For example: we know that HoloLens runs Windows 10. At the very least, whatever we make needs to run in Windows 10. We’ve been using the technical preview for a while now and from our point of view it’s a cross between Windows 7 and Windows 8. We’re at home here.

Next up: HoloLens runs Universal Windows Applications. These are built with Visual Studio 2015, which isn’t that different from Visual Studio 2012, which isn’t too different from Visual Studio 2010. They actually add an amazing amount features each version, but for our purposes it’s the same Visual Studio we know and love.

HoloLens also runs Unity 5.0. Some of us have been using Unity for the last three years, some haven’t. To learn how to develop 3D objects, perform animation, create event driven scripts and integrate the Visual Studio development environment with Unity 5.0 we set ourselves the challenge of creating 3D clocks and animating their hands to tell the correct time.

Those who didn’t learned by cheating and took the easy path. We imported a free clock model downloaded from the internet into Unity. Small win! Although, those that did know Unity, built the clock below.

After creating our model clocks, and animating them we had learned all we needed to know about the process of developing for HoloLens. I’m sure veteran Unity developers will be aghast at this claim, but keep in mind, we are not making a AAA game.

Remember back to those features a few posts ago: Sharing and Persistence. Our aim is to develop a process that will let users place objects in a room, turn their HoloLens off, come back the next day, turn their HoloLens on and find the object still where they left it. We also want to enable sharing of objects such that two people can interact with the same object and see each other as they perform these interactions.

We don’t have a HoloLens to test our applications on so in its absence we are using the Oculus Rift. Add to this the Leap Motion for gesture control and the Virtuix Omni which should arrive before Christmas and we have a hardware rig that will let us test 90% of our application before the HoloLens is available.

HolonizeThePlanet - Boy Questioning what?

The value of a name

The first step for us as a startup was choosing a name. Usually for brand recognition and marketing purposes it helps if the company name relates in some way to the product or service the company will bring to market.

So we looked. We wanted a company name that is related to augmented reality, 3D, or holograms. It was easy coming up with names – most were either taken, or hilariously bad. It was hard to come up with a name that related to our endeavor, was memorable and had an available domain. After much deliberation settled on “Flatventure Ltd”.

Yea, we know, calling it Flatventure when creating 3D applications sounds like an oxymoron, but hey. It vaguely related to our company structure. Besides after days of searching, the novelty of wondering what we would call our company had definitely worn off.

#HolonizeThePlanet

How to build on $0.83

Ideas are a dime a dozen. Everyone has them and ideas alone rarely have any value. If you want to prove your idea has value you must investigate it.

  • Is it unique or does it have a unique selling point?
  • Can the idea be developed into a working prototype?
  • Is there a market for the product or service?
  • Can you sell it?

I’m pleased to say we scored 4/4. We looked at what HoloLens will offer and believe we can extend this sooner in ways that Microsoft may not be considering just yet.

HoloLens provides a Holographic manager for Universal Windows Applications and Unity 3D objects. Users can execute these applications, move windows and objects, rotate, resize and interact with them. Take a moment to think about how this technology belongs in sci-fi movies.

Microsoft has done a great job with this technology. However after some investigation we can improve on their features and, for the sake of this blog, there are some features that are not available in HoloLens that we are going to focus on: Persistence and Sharing.