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!

plans for day one at ICGSE 2010

Looking forward to a full schedule at ICGSE 2010 today:
* 90-min REMIDI workshop (Tool Support Development and Management in Distributed Projects)
* the first part of the PARIS workshop (Methods and Tools for Project/Architecture/Risk Management in Globally Distributed Software Development Projects)
* after lunch, a half-day tutorial on “Implementing Agile Software Development Across Time Zones”.
The conference also includes a full-day tutorial on “Requirements Engineering for Large Systems-Processes and Tooling”, a doctoral symposium, a half-day session on “What Did You Say? Cultural Influences on Communication and Understanding”, and the KNOWING’10 workshop on knowledge management in GSD.

I chatted briefly with one of the organizers at registration. Attendance for ICGSE 2010 is expected to be around 70 people, lower than usual, and about 70% university attendees, 30% industry. He attributed both the low attendance and the low industry percentage to the still-weak global economy: usually it’s over 100 people, and usually closer to 70% industry and 30% academic participation.

fun at SATURN 2010

I’ve been taking notes, getting good ideas, and collecting great insights for two solid days now at SATURN 2010. I have to call out one highlight: playing the Hard Choices game.

I’d looked forward to this COOL event since I first heard about it from game co-creator Rod Nord, and it didn’t disappoint. Getting to play the game with keynote speakers Jim Highsmith (his talk this morning on agility and architecture was excellent!) and Linda Rising (I’m looking forward to her talk tomorrow and her tutorial on Friday), and Marco of SEI, was great fun. The Hard Choices game is a useful metaphor for getting people to think and talk about software development strategies and tradeoff decisions, and I’m looking forward to trying it out ‘back home’ shortly.

You can check out the game at http://www.sei.cmu.edu/architecture/tools/hardchoices/!

SEPG NA 2010 wrap-up

Here’s the summary I promised on my experiences at SEPG North America 2010. Overall: great people and many good discussions on agile, CMMI, measurements, and practical real-world improvement.

Some related web references:

By the numbers (of course!): According to Anita Carleton at the Tuesday opening, nearly 800 people attended, of whom 250 were newbies, and 125 were from overseas (furthest: from Nanjing). One thing that was not clear: how many people actually attended all four days of the conference?

Continue reading

on requirements metrics

This morning I gave our SEPG NA 2010 presentation on requirements engineering metrics. It went well, and I got some great comments immediately afterward from some front-row participants, including one who said it was the most useful and practical presentation he’d heard all week! That made my day.

A PDF of the updated slides I delivered can be downloaded from the agileteams.com website publications area. Comments are welcome, here or on the agileteams blog or Twitter!