Everyone is using the headline, but it’s so good I had to repeat it. Such a great example of ARkit in action. Apple’s really on to a winner. Here’s context for the very young.
Hardware for VR development š„
Starting out in VR development it’s easy to think you’ll spend the earth on special hardware to get going. The reality is that’s just not true. The below 360 image (which I took with the google street view app on iOS) is fairly rough as 360 images go. The room was a mess as I was in the middle of a fairly ugly hardware transition. The stitching isn’t very good, so there’s lots of bung parts to it, but you get the idea of the space and gear I work with.
Until recently I was using a late 2009 Mac Mini and was managing just fine on my Udacity VR developer course. Well I was managing, not sure about the fine part. So I upgraded to a late 2012 mac mini, still 5 year old hardware, and I’m going gang busters doing google cardboard development with it.
Here’s a few more details on the hardware setup i’m running in the 360 image above:
Hardware
Displays – Two second hand 1080p displays I purchased on Trademe for $300 total. The one on the left is in portrait orientation for my code editor. The one on the right in landscape for the Unity editor. Both are on this monitor stand I purchased from PB tech for around $100.
Input devices – There’s a bunch of keyboards in the shot but the one I’m actually using now is a Logitech K380. I managed to get a refurbished one on 1-day for $40 shipped. Honestly it’s such a good keyboard I’d be happy to pay retail for it. Logitech claims 2 AAA batteries will last 2 years. Far better than the 2 months I was getting out of my Apple keyboard and a fraction of the price. For a pointing device I’m using a stock standard magic mouse. I’d prefer a Logitech MX Master 2S, but it’s a nice to have rather than a must.
Computer – I have two in play now. My development machine is a late 2012 Mac Mini I purchased on Trademe for $500. Even though it’s from late 2012 it’s actually the fastest model of Mac Mini ever made, the quad core i7. I’ve put 16GB of ram in it and replace the spinning disk with an SSD. I’m really happy with its performance. It does everything I need for Unity development, especially given the contrast of my other machine the late 2009 Mac Mini. That machine is now running as the server for the house. I’ve modified it a bit adding 4.5TB of storage and 8GB of ram. It can no longer run the latest version of MacOS but it’s doing a great job as a cache and Time Machine server.
Future plans
Audio hardware – Something I’m really aware of with VR is the impact of audio. Obviously visuals are important in VR, but good quality audio can also have a huge impact on immersion. It’s also very useful in directing the users attention. I’ve got a few bits of hardware on order to support creating more of my own audio for various projects. The main bit of kit is a USB audio interface, or more specifically a Focusrite Scarlett Solo (2nd Gen). I got mine via Amazon as it actually worked out a bit cheaper than buying local, even with the shipping costs via youshop.
I’m trying to play a longer game with this purchase. It’s likely better than I need at this stage, but it will last me 15 years or more. Ā With budget in mind, for the rest of my audio gear I opted for a cheap XLR mic, arm, and pop filter from Aliexpress. I’ll upgrade those later when I have more funds available and other parts of my setup mature.
360 camera – At the moment i’m just using my iPhone 6s and various 360 apps. Over time I’m expanding my capabilities as I need/can afford them. I’m in the market for a 360 camera, likely something like the RicohĀ Theta S or a 2017 Gear VR camera. I’m hoping to purchase one of these in the next 3-4 months.
Mac Pro and a 6DOF VR setup – Ultimately I want to replace my Mac Mini with a far more powerful setup so I can expand into more immersive VR development. I’m aiming for a new Mac Pro when they become available later next year. I’m also delaying purchase of something like a Vive or anĀ Oculus as long as I possibly can. It’s such early days in VR hardware and i’d prefer to wait to buy when there’s gen 2 or even 3 out. I suspect 2018 is going to be an expensive year.
The thing to take away here is you don’t need to spend the earth to get started with VR. Some second hand hardware and a drive to learn will take you a long way before you need to invest more.
Ready player one š¹
I’m 6 chapters into the book and suddenly there’s a movie trailer. Awesome!
$99 AR headset š
I seriously doubt the stock like silliness in this promo video is even remotely connected to reality… but $99USD AR headset! Sign me up!
Locomotion š
You know whatās really fun? Being able to move around and interact in a virtual environment. You know what isnāt? Barfing all over your new all birds.
Thatās exactly whatās at stake when designing a good VR experience. Particular one that includes movement. When developing for VR itās important to build a good understanding of āsimulator sicknessā and what can be done to eliminate, or at the very least, minimise it.
Just like with other forms of motion sickness, simulator sickness affects different people in different ways. As itās still early days of mainstream VR, thereās still a lot of research to be done into causes and solutions. Having said that thereās also a lot of good material out there that can help you provide comfortable experience for users.
Some general rules of thumb to follow include:
- Tightly control the users speed and rate of acceleration. Slower speeds are generally more comfortable for users, as is a very high rate of acceleration. Any gradual acceleration at all in VR can trigger simulator sickness so itās best to keep speed transitions short and infrequent
- Leave your user in control of their vision. In other words donāt disconnect what you see from the users head tracking. If you need the user to look in a certain direction use other techniques such as sound or lighting to draw their gaze.
- Make sure your experience is performant by maintaining a suitable frame rate. 90 FPS is optimal.
The best way to stay on top user comfort is to test things on them as early into development as possible. Ask them questions about their comfort levels and always make sure you let them know to remove the headset right away if they feel any discomfort. After all, The last thing you want is to push a tester to the point of ruining their shoes.
VR and the power of scale š
One of the most powerful things about VR is its ability to have a shared experience at scale.
From an education perspective this is an extremely exciting thing. The below TED talk is a fantastic example of how VR can bring multi million dollar facilities to every student without the cost of traditional real world labs.
Not only that but the evidence in the video suggests that combining teachers and VR in this way results in a 2x improvement in learning outcomes. Just awesome!
Process: User experience testing š¬
As I said in my previous post on process, itās important to test your work early and often. This means getting in front of your users and collecting feedback, aka UX testing.
When youāre starting out with user testing it can be quite intimidating, but with a few tips and a bit of preparation it can be very valuable. Thereās a few basic things to consider when carrying out tests.
Asking the right questions
Just rolling up to your user and asking questions may provide some value, but it may also give you some bias or low value results. To avoid this it pays to prepare your questions in advance of the interview. When formulating the questions themselves make sure you avoid both leading and dead end questions.
Leading questions
An example of a leading question is ādo you find the mood of the scene magical?ā. By asking a question in this way youāre influencing your user to think of the scene in a magical context. This may effect their answers, reducing the value of the feedback. A better question to ask would be ācan you describe the mood of the scene?ā. Itās more open ended, leaving the user to describe the mood without bias.
Dead end questions
Likewise asking dead end questions also provides little value. Dead end questions are questions that can be answered with a simple yes or no. An example would be ādid you enjoy the experience?ā. A better option would be ātell me about the experience?ā.
If need be, you can always ask follow up questions to clarify anything you feel isnāt clearly communicated in the users answers.
Sample size
On the surface youād think youād need dozens and dozens of users to test on, and in the past many UX practitioners have done just that. As it turns out, that really isnāt needed. In fact according to a study by the Norman Nelson Group youāre actually wasting your time with big sample sizes. You’re actually far better served by performing multiple small test on 3-5 people. Not only is it cheaper and easier to do, but itās actually more effective.
