Orientation to leaping

Getting Orientation.exe to stop crashing

After getting started with my Leap Motion controller, I had stopped at the point where the Orientation.exe app was crashing. A few days later, I was ready to try again.

Checking for prerequisites

First step: reconfirm prerequisites. As of May 19, 2013, the minimum system requirements were:

  • Windows® 7 or 8 or Mac® OS X 10.7 – Windows 7 Enterprise (64-bit) with SP1
  • AMD Phenom™ II or Intel® Core™ i3, i5, i7 processor
  • 2 GB RAM – I have more than 8gb
  • USB 2.0 port – check
  • Internet connection – check

No problems there.

Next I looked in the Airspace Control Panel for software updates, and found one which said it fixed startup issues with Orientation.exe. But still no luck. I checked the support forum and troubleshooting guides and didn’t find anything useful. At this point (on July 29), I set my Leap Motion controller aside to work on other things.

First leap, take two

Absent any replies to my support email requests and twitter pings, I revived my investigation this past weekend (August 4) by considering possible unstated prerequisites. One that came to mind was the “.NET 4.0” that Cut The Rope apparently needs. Maybe Orientation.exe and other apps need it too?

Using Aaron Stebner’s .NET verifier, I confirmed that my prior . NET 4.5 installation did provide a functional version of .NET 4.0 ( both Client and Full).

Next I re-checked for updates (none found), and scanned the troubleshooting pages. Here I found a new Support entry from August 2 on “How to update your graphics driver“. Aha! (Should have thought of that.)

Rather than following their instructions to the letter and trying to figure out exactly which NVIDIA Quadro FX 880M driver I should manually download, I used the Windows “Update Driver” function. That worked beautifully (after about 20 min on a bandwidth-constrained connection). All I had to do after installation was reset the driver configuration to 1280×800 (listed as the minimum by many Leap Motion apps) and full width.

Getting Oriented!

Now Orientation.exe ran beautifully. I actually didn’t expect it to, so I still had my laptop on mute! I grabbed a pair of headphones to plug in and restarted it. It was way too loud at 50% headphone volume level – I reduced it to 15% and went through the app once. (Mute would have been fine. Orientation has no audio or aural instructions, and I found the music kind of annoying – more distracting than inspiring. YMMV.)

In ‘where it sees’ of Orientation, I noticed that the colors of the visualization changed towards orange or red when I made quicker moves – that was cool, and promising.

In ‘what it sees’, I quickly figured out how to get it to recognize both of my hands, and most of the time, all of my fingers. But some simple gestures that I expected to work well didn’t – e.g. gradually closing a thumb and finger into a pinch, or bringing a left finger and right finger together. In both cases, the two fingers would ‘disappear’ soon before the tips actually touched. I have not yet gotten this to work, but will keep experimenting with it.

‘How to draw’ was a good introduction to apps that use depth for ‘touching’ and ‘lifting’ from a surface. I definitely need more runtime on this too, but will probably just experiment with Corel® Painter® Freestyle™ app from now on. Trying to draw something of any complexity in Orientation, only to have the first parts erased, got to be a bit frustrating.

Who’s training who?

My techie husband saw me doing these Orientation experiments and got curious. One of his first questions was, “Are you training it, or is it training you?” It’s a great question. He shares my interest in understanding how well user interface technologies adapt to people, not vice versa. In the long run, technologies that require careful user training are not likely to ‘stick’ or be productive for sporadic use scenarios. (Key architectural quality attributes: learnability, memorability, and operability!) But for purposes of exploring a first version of a new UI technology, I don’t mind being trained a bit.
 

More adventures to follow …


  1. Leap Motion and the Leap Motion logo are the trademarks of Leap Motion, Inc. and are used here by permission.
  2. All other trademarks and registered marks are the property of their respective owners.
Advertisements

First Leap

Some notes from my “first leap” – getting started with my new Leap Motion device:

Resources

Before jumping in, I read through the FAQs, legal terms, a tutorial on using it on Windows, and some ergonomic hints on the website, as well as the customary Twitter, Google+, and Facebook links. My overall impression was of a professional organization that has thought carefully about its users – an encouraging start.

Installation

Their startup web page auto-detected my operating system correctly, and the software download (about 57 mb) was fast, under a minute (kudos to whoever at Leap Motion planned for scalability of their web portal). Installation of “Leap Motion software and Airspace” was simple, was properly signed with a security certificate, and didn’t require any special permissions (more kudos on all counts).

I plugged its USB cable into my laptop (Windows 7 64-bit Enterprise). After a firmware update and quick installation of device drivers, it was ready to use. So far, the road looked smooth and fast.

Startup

Their “Welcome” app launched after installation finished. Here I hit a glitch after viewing the “Orientation” hints and repositioning my LeapMotion sensor in front of my keyboard as they indicated: I clicked “Continue”, and Orientation.exe promptly crashed (see image). But the crash appeared harmless, and their software continued introducing me to “Airspace”, their app store (iTunes equivalent).

The next speed bump was registering for an Airspace account. I tried to register and leave birthdate blank, but registration failed. This was annoying – I’ll readily acknowledge that I’m WAY over both 18 and 21, so I’m annoyed by spurious requests for the month and day (fodder for identity thieves). I took away a few kudo points for privacy concerns, and continued. Then when I re-tried the registration with a birthdate, I found the page had wiped out the password I’d already entered and I had to put it in again (twice). Grr. But moving on … I made it to the Airspace Home page.

Five app buttons loaded on the page, and then another browser window popped up in front of it. I knew from reading the Leap Motion blog that way more than 5 apps were available, so I wondered if the home page didn’t fully load.

The popup window indicated that the fifth app, “Cut the Rope” (a game), has dependencies I didn’t yet have installed: Microsoft .NET Framework 4.0, and Microsoft XNA Framework 4.0. This puzzled me a bit because I already have .NET 4.5 installed. Shouldn’t the Leap Motion framework and “Cut the Rope” be upward compatible with v4.5?

Being a software hacker (the good kind), I did a bit of poking around at this point. The dependency installation page pointed to C:\Users\[myID]\AppData\Local\AirspaceApps\CuttheRope\Dependencies\README.html, so I took a look in C:\Users\[myID]\AppData\Local\AirspaceApps\. It contained only 3 folders: CuttheRope, Lotus, and Shimsham. (I guess the “Airspace Store” and “Orientation” don’t need folders.) CuttheRope contained an .EXE, some sub-folders, and LeapCSharp.NET4.0.dll. (So I’m guessing maybe it’s not just CuttheRope that is going to have these dependencies.) Its “Dependencies” sub-folder contained installers (one .MSI, one .EXE) for both installations. Kudos for the self-containment, but this didn’t fully offset the jolt of the dependency interruption.

My two cents: Seeing the first home page display get stuck on such dependencies is annoying and weighs down the up-til-now pretty lightweight installation process. Components required by the pre-installed LM apps should be automatically installed along with the Leap software and Airspace”.

I decided to ignore “Cut the Rope” and its dependencies, and try to run one of the 4 visible apps that did appear to load.

Airspace: The Leap Motion app store

Clicking the Airspace Store app button just took me to their website, https://airspace.leapmotion.com/, carrying with it my account information. I explored my profile a bit and found just Username (already populated), Email (already populated), and Payment Type (blank). Hmm. This left me wondering how many apps useful for my investigation would be free or reasonably priced. Of the Top Picks in the store, only a few (including Cut The Rope) appeared to be free, with most priced between $1.99 and $4.99. I’ll be further exploring the “free apps” category link.

Google Earth looked promising, and was included by PC Magazine in their “10 Best Apps for the Leap Motion Controller“. But the link almost completely failed to load in IE8 (all I got were the 3 tumblr links). It loaded much better in Firefox, so I plan to do most of my further app explorations there instead of IE.

Stuck at Orientation

Orientation.exe again crashed, this time with Problem Signature:

Problem signature:
Problem Event Name: BEX
Application Name: Orientation.exe
Application Version: 0.0.0.0
Application Timestamp: 51ea9edd
Fault Module Name: StackHash_0a9e
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 00000000
Exception Offset: 00000000
Exception Code: c0000005
Exception Data: 00000008
OS Version: 6.1.7601.2.1.0.256.4
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

Read our privacy statement online:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt

I tried using “Check online for a solution”, to no apparent avail. I also tried searching Airspace for the Orientation app, but the only match was Corel Painter Freestyle (which is free, so I expect I’ll give it a try).

At this point, I unplugged the USB from my laptop to get ready to go to a meeting. Almost immediately, I got a system tray popup that said “Smudge detected. Your Leap Motion Controller may function better if you clean the window.”. Um, no, that’s not the problem 😉

Troubleshooting

After my meeting, I did a little investigation in the Leap Motion control panel before ending my experiments for the afternoon. First I checked the Software Log looking for insights on the Orientation.exe crash, and found at the end of the log:

[15:00:16] [Info] Leap Motion Controller disconnected: LP81576857099
[15:00:24] [Warning] Smudge detected. Your Leap Motion Controller may function better if you clean the window.

So the disconnection was detected correctly, but the message was overridden by a spurious smudge detection – a minor adjustment might be needed in that part of the software.

I didn’t find any clues to the Orientation crash in the remainder of the log, or in the FAQ. I’m going to inquire with Leap Motion support before installing anything further.

I did find a few perplexing log entries, such as “[12:21:05] [Warning] The device has entered ‘Robust Mode’ to compensate for lighting conditions.” and many more messages about the device going into and out of “robust mode”. That probably reflects the fact that I sit and move around between a big window and my keyboard & LM sensor. I may need to adjust my window blinds to darken my space a bit.

I also had one log message “[Info] Reversed tracking orientation”. By default, the Tracking tab of the control panel has “Auto Orient Tracking” checked by default, so moving the device during setup probably explains it.

I may run those two dependency installations to see if it fixes the Orientation.exe crash. And I expect to try out a potentially useful “Diagnostic Visualizer” I found in the Leap Motion control panel.

Then I want to see how well it lets me navigate Windows (via the free Touchless for Windows app).

Running Windows post-installation for a day, without the Leap Motion sensor plugged-in, is a bit “off”. Two observations so far:

  • My mouse seemed to be moving and snapping relative to an unseen grid (wouldn’t move diagonally). Unchecking the option to launch the tray item at startup and rebooting seemed to solve this.
  • I need to be able to use vertical scroll bars with my mouse or touchpad while reading or showing PDF files in a meeting. My Adobe Reader is now stuck in ‘touch’ mode every time I open a new PDF file (no scroll bars, just a ‘hand’). Attempts to change the touch mode setting in Adobe Reader don’t persist. The multi-touch driver that was installed with Airspace appears to be stickier. I will definitely be looking for a solution to this.

More on my further adventures in future blog entries

Leap Motion and the Leap Motion logo are the trademarks of Leap Motion, Inc. and are used here by permission.

Leaping forward?

Got a Xbox Kinect, Playstation Move, or similar 3D gaming interface at home? Isn’t it cool to not have to hunt for a remote or wand or controller to be able to participate in a game? And it’s nice to not worry whether our devices have power, or whether kids (or adults) will spill food, drinks, crumbs, or dirt on them and make them unusable.

Wouldn’t it be even cooler if we had touch-free control of our desktops, laptops, and enterprise computers, the way Tom Cruise did in “Minority Report”? (see WIMP video here)

Technology has been getting closer to making this vision a reality. For instance, this demo at TED 2010 showed a spatial user interface, but it required the user to wear special gloves.
TED 2010 demo of a spatial user interface by John Underkoffler

A new device by LeapMotion proposes to make the vision of accessory-free, touch-free navigation a reality. I pre-ordered a Leap Motion controller last year, and watched as beta stories like NASA controlling a space robot with a Leap Motion sensor began to surface.

Today I received my new toy technology device. The LeapMotion controller is tiny: a sleek, lightweight device about as long and thick as my index finger and twice as wide. So it takes just a small bit of space in front of my keyboard. [see more photos here].
Leap Motion image of their new controller: image usage believed to be consistent with their Social Medial Guidelines at https://www.leapmotion.com/legal/fan_site_and_social_media_guidelines

I will be writing more here as I try out my Leap Motion controller. Stay tuned!


Image credits:

  1. TED 2010 image by Steve Jurvetson on Flickr, via Wikimedia, under the Creative Commons Attribution 2.0 Generic license
  2. Leap Motion controller image used in accordance with their social media guidelines

Leap Motion and the Leap Motion logo are the trademarks of Leap Motion, Inc. and are used here by permission.

self-consistency

Some of the theories around human judgment and decision-making suggest that humans find it hard to be consistent. Every so often I’ve had a chance to assess my own consistency, and confirmed that yes, I’m very human! Tonight I had a chance to re-test that theory on myself.

I just finished reviewing 11 conference abstracts. There are some good topics I’m looking forward to: I hope the other reviewers and the Program Committee agree with me about accepting them ;) Reviewing and submitting my ratings on each abstract took me an average of 17 minutes. Since I did them in my spare time, in subsets over the past two weeks, it seemed possible I hadn’t judged the first subset or first few quite the same way as I did the others, due to ‘decision fatigue’ or other factors. So before I called my opinions ‘final’, I decided to I’d do a quick check on whether I’d been consistent.

The review process calls for 3 binary judgments, yes/no, where no indicates a submittal isn’t a good fit in some way; 6 Likert scale ratings from 1-5, where 1=strongly disagree, 2=disagree, 3=neutral, 4=agree, 5=strongly agree; specific comments to the author and the committee, and a final vote (reject, weak reject, neutral, weak accept, accept). So I put all 11 entries into a spreadsheet, with my yes/no and 1-5 ratings, and my votes.

The first sanity check I did was to calculate an average and median for 5 of the Likert values, to compare vs. the 6th which was “overall”. I was inconsistent in 1 of the 11. After re-reading it and comparing it to the others, I adjusted the overall score upward 1 notch to make it align better with the 5 specific ratings.

Then I did a quick pivot table, cross-tabulating my overall ratings against my votes. This let me see whether, for the same vote, I had a range of overall ratings, or if they all had the same rating. Of the 11, it seemed at first that I was inconsistent on 3. For instance, 3 entries initially had the same overall rating, but 1 of the 3 had a different vote – the explanation was that it had a NO which made it (IMHO) not acceptable, while the other 2 had only YESes. In another two cases, I had given different votes to two abstracts rated the same. I re-read them to see whether I thought my vote was wrong, my rating was wrong, or if there were other factors. I ended up adjusting the overall rating on one, the vote on the other.

What does this prove? Well, not much – it’s a small, and not-unbiased, study in decision-making! But I did draw two conclusions.

1. Even with good guidance and clear rating scales to guide me, and experience as a reviewer, I am still humanly inconsistent.

2. Doing just a wee bit of simple analysis gave me more uniform ratings and votes.

I think it was well worth the 15 minutes it took to build the spreadsheet, and the additional 20 minutes to review, adjust, update, and submit my revised ratings. I feel more confident that I made better judgments, and I figure I owe it to the submitters to try to be as objective as possible in assessing their hard work!

The final validation, of course, will be seeing how well my votes align with the program committee’s final choices. For that, I’ll have to wait for the program to be announced …

3 INCOSE takeaways on requirements

July 1, 2011 – Last week’s INCOSE International Symposium was refreshing. The sessions and events offered great opportunities to network with other industry professionals interested in systems and not just software, and I joined some useful tutorials in systems engineering. I’m still distilling my thoughts on “systems engineering vs. software engineering”.

Participating on the “Is Requirements Engineering Really Necessary?panel with Brian Berenbach, Mark Sampson, and James Hulgan was great fun. We don’t have the official session survey ratings yet, but we drew an audience of several hundred who never ran out of questions for us. My top 3 takeaways from our discussions are:

  1. Emphasize activities, not titles. The more stakeholders and team members who understand and can use Requirements Engineering methods effectively, the more the system and business will benefit. RE advocates have to remember, though, that most systems engineers aren’t, and don’t want to become, “requirements engineers” or even “requirements analysts”. They are committed “control systems engineers”, “electronics engineers”, “software system engineers”, or “power systems engineers” who are passionate about their own domains of expertise. To be most useful, training in requirements elicitation and analysis should be aligned to their domain worlds, instead of expecting systems engineers to align with the world of RE.
  2. System requirements need systems thinking, too. How formally requirements are managed should depend on the risks and consequences – not all requirements are “created equal”. Likewise, how requirements are documented should depend on who they are being documented for – the audience who needs to understand and use them. With today’s increasingly complicated systems and escalating time-to-market pressures, the same old mountain-of-text-documents approaches don’t scale; we need to adapt, and start ’system-engineering’ how we handle our requirements to fit the needs of the business and the system.
  3. No silver RE bullets. Requirements engineering isn’t a panacea that can solve any and all problems in a system. Requirements aren’t mushrooms to be “gathered” for analysis. They’re more like truffles that need to be carefully searched-for and unearthed. RE techniques can help you find the truffles and ensure that key needs aren’t overlooked. And RE can help you analyze and manage needs to ensure that requirements are well-defined, prioritized, verifiable, and necessary. RE can’t guarantee that you’ll never miss a requirement, include extraneous features, or misinterpret an important aspect. Using a mixture of senior and junior staff can help: experienced people are guided by the pain that came from overlooking key requirements or quality attributes in the past, and junior people can help the team avoid “expertosis”, by questioning assumptions and asking “why?”.

(My “point of view” slide can be downloaded from the Agile Teams website, as well as my 1-page position statement.)

day 2 at ICGSE 2010

ICGSE 2010 will open today with a keynote by Len Bass of the SEI architecture team, titled “Speculation on Coordination Models”, and will close with a technology panel including Len on “Impact of Future Communication Technology on GSD”. I’m definitely looking forward to both.

In between, the schedule holds a single track of sessions on:

  • Tools I: Support and Use
  • Processes and Practices
  • Management Environments I

Yesterday afternoon’s agile GSD tutorial was interesting and offered a nice preview of Erran Carmel’s forthcoming book, as well as a review of Yael Dubinsky’s HOT framework (humans, organizations, technology). However, I was a little disappointed that more time wasn’t spent on the GSD challenges of implementing specific agile practices. (It could have easily been a full-day session.)

While waiting for the keynote session to start, I enjoyed a good chat with Darja Smite of BTH, who gave yesterday’s REMIDI talk. It turns out that we have similar views on measurement in GSD, as well as knowing some mutual friends/colleagues in Sweden!