[ This is the fourth post in the Shufflr on Ultrabook: Intel Ultimate Coder Contest series. Here are the first, second and third posts. ]

Tilt Navigation with Accelerometer

After a series of adventures (for which we seem to have become notoriously infamous over the last few weeks), we have 2 designs and 2 implementations of tilt navigation on the Daily Fix view, in our lab now.

Our Windows 8 Metro UI app users are very familiar with navigation controls on the Daily Fix view (tap on left & right buttons or swipe left / swipe right). The Ultrabook’s light weight lends itself reasonably well for a tilt navigation, as we had discussed in our previous post. Many of our users will be picking up Windows8 tablets when they are launched, and this tilt navigation suits that use case even better.

The first design is based on ‘one video shift per tilt’. This allows the user to tilt the Ultrabook, shift to a new video and stay there in a tilted position (typical use case: On a bean bag / bed, reclined on the back, Ultrabook resting on the knees, its position randomly shifting a few degrees off the vertical). In order to move to a new video, without using the touch controls, the user has to repeat the tilt from a normal position. This looked fine in most of the use cases we tested here and we will fine tune the exact axis tilt before the final release.

The second design is based on ‘continuous shift in a tilt’. This allows the user to step through videos in the Daily Fix, by holding the Ultrabook in a tilted position. This worked fine too, after we tuned the delays between two video shifts to a few 100s of milliseconds. This will be an app setting which lets the user choose the preferred behaviour.

Tilt with Inclinometer?

The second implementation uses the ‘roll’ feedback from the Ultrabook’s inclinometer. Since pitch & yaw are being ignored in our app during tilt navigation, the inclinometer implementation should compete well with the pure accelerometer based tilt navigation.

From what we see, it is not very apparent yet which of our implementations is better and under what real life conditions does one score over the other. We will choose one of these two implementations in the final build.

Tilt state machine glitch

Both the implementations are showing a glitch in ’one video shift per tilt’ mode. We do not think this is a h/w issue, but points to an issue in our tilt & rest detection state machine. Due to this glitch, between tilt and rest state transition, users might see an additional video shift (which can be annoying, after all the pain they’ve gone through to lift the Ultrabook and tilt it!). We will need to fix this glitch before the final release.

Multi-touch – Pinch out & in

On the FlipSide of our app (the “other side” of DailyFix), we have implemented a multi-touch pinch out & in for resizing the video player. It is working quite well. As a design philosophy, we will allow only two modes – ‘normal’ and ‘full screen’. This will avoid app element layout issues with an arbitrarily resized video player.

We have noticed that the touch response on our Ultrabook screen is bit ‘ouch’ as compared to a few other touch screens we’ve seen (including a Windows8 tablet whose make we can’t reveal, as it is not yet out in the market). For example, we have to tap more than once on some UI elements to get them going. Swipe left/right/up/down/diagonal is not feeling as fast/responsive as one would like. We would like to see if other Ultrabook users are getting a better experience.

So, what’s the adventure deal?

Just picture this: Early in the week, we were coasting on our way with sensor experiments on our Ultrabook which came pre-loaded with a Windows8 RP build. And we were planning to take Shufflr to IDF and even pull off a few demos on the Ultrabook on the event floor. We heard from our IDF friends that our app has to be Windows 8 RTM compatible to be considered for IDF. Since upgrading Windows is a very routine affair, we did not think much of it and move to the RTM build. This reckless play with danger, grounded the Ultrabook sensors for the next 4 days and 5 nights (including the weekends).

When none of the sensors worked after the RTM upgrade, we had to reinstall the sensor drivers. And when that didn’t help, we raised an SoS. A couple of days later, we went down to the Intel Bangalore office and picked up a flash stick with the recommended drivers and firmware.

A quick detour: The Emergency

Wait! You won’t believe this: The last time we wen’t to that office, it was a ‘misson impossible‘ sequence.

This time, as we entered the waiting lounge, the security alarms went out loud and a stern voice came on to the public address system, declaring an emergency. In the next few minutes, we were asked to exit. But then, it turns out, we weren’t alone. The entire building started emptying as people starting coming out in tens and hundreds. Our Intel contact caught us just as we were running away from the alarms, quickly gave us the flash stick and told us it was just a fire drill. Ah! we are clean, then :) But for the next 15-20 minutes, along with hundreds of their employees, we stood there just waiting for the drill to end so that we can pull our car out and run hard.

Back to the RTM, drivers & firmware upgrade

We installed the drivers and the firmware to the ones in the flash stick given by our Intel Bangalore office. But the sensors did not budge. Just as any smart fellow would do when stuck – we stopped thinking logically. And re-installed the Windows8 and firmware and drivers a couple of times, apart from rebooting the bejesus out of the Ultrabook (It reboots really fast, btw!). That’s when it hit us – we will miss the Monday blog post deadline!

Bob brings in Norm

This is probably when Bob@Intel thought, this is enough. He brought in Norm, a one man SWAT team for pulling us out of the wormhole. We suspect he is available on all time-zones in the globe – a true AOAC. Norm worked with us from then on, as we sent him the Ultrabook device configuration given by the Intel System Identification Utility, and screen shots of the driver / sensor devices from the control panel. After a couple of exchanges, he authored a ‘Windows8 Ultrabook RTM Driver & Firmware upgrade for Certified Dummies’ document mailed it to us along with a new set of drivers & firmware. This worked like magic! We instantly nominated him for ‘Nobel prize for patience’. (Sorry Norm, we haven’t read the entire document with pictures and all that; your text notes were awesome enough).

Looking ahead

Next week, we will have to gain on lost time, not attempt any more s/w or firmware upgrades, look at adding more multi-touch gestures and probably give the GPS sensor a look. But we are getting ahead of ourselves here, aren’t we? We have the IDF to prepare for too. Stay tuned.