Wednesday, March 30, 2011

Kinect Is Useless

Aha! It took a long time but I finally figured out that Kinect is useless. I blame having just woken up.

Gesture languages are just castrated forms of sign languages, which are full-fledged langugaes. And sign languages are useless for people who aren't deaf. So gesture languages are useless. QED. I've known that for years now.

Oh and they also make you look retarded, take a look at the photo of the three retards behind the conference table in Google's Gmail Motion for proof. Google seriously thinks this photo will help sell this piece of crapware. "more efficient and intuitive" my ass!

Conceptual Analysis

The problem is that it seemed Kinect had more. And it turns out the "more" bit, the part about moving stuff from device to device "with a flick of your fingers" can be done entirely without flicking your fingers.

All it requires is a good UI, one that provides an extensible spatio-visual field. So that your computer exists in a space represented on its monitor and other devices exist as extensions of that space. That's the basic conceptual mechanism underlying "moving stuff from device to device".

Note that this conceptual mechanism does not in any way rely on fingers or hand motions or body motions or "multi-touch" (ugh!) or anything of the kind. It can be achieved with the mouse, which is a perfectly usable pointing device.

A device far, far more sensitive than that crappy fucking piece of shit Kinect that requires you to move your hand 15 centimeters for a gesture. Seriously, what the fuck? Those ergonomics are atrocious!

You see, when you break things down at their conceptual level, you've got a conceptual mechanism + hardware, and those are independent. Kinect provides the hardware only. And this hardware sucks for ergonomic reasons.

If an input device like Kinect ever acquired sub-centimeter resolution then it would compete directly against the mouse and could be superior to it. But I predict that such an input device won't use (because it won't need) shitty gimmicks like gesture languages.

It's a similar analysis that reveals that touch screens absolutely suck for general computers and laptops.

It's another similar analysis that reveals multi-touch is useless. I mean for fuck's sake, in my design work I've come up with two pointers and am struggling to have any kind of justification to have more. I don't have any use for multi-touch.

It's another similar analysis that reveals that mouse buttons are useless so mice should really have zero buttons. Because the mouse can never support as many buttons as the keyboard (ergonomics) and the keyboard is where buttons belong (conceptually)!

The Fundamentals

The basic problem with input devices is this:

  • you've got your discrete events device - the keyboard provides zero dimensional input
  • you've got your continuous 2D device - the mouse provides 2 dimensional input

what's left?

Adding buttons to mice doesn't improve them because they shouldn't have any buttons at all. Mice shouldn't generate discrete events at all! It is a defect in UI programmers' imaginations that has made users associate so-called "mouse events" with mice.

Laser mice are a great change to mice hardware but they don't change what the mice does conceptually so it's evolutionary, not revolutionary, to users. To hardware designers, laser mice are of course revolutionary.

Multi-touch is having 2 or 3 times the already existing continuous 2D device. And you can achieve 90% of the benefits of that by having an easy way to switch off between multiple pointers. Chasing that remaining 10% is just not worth the effort - you end up "needing" it only for gimmicks.

Touch screens are just 2D continuous input devices with horrible ergonomics. Interesting in theory, useless in practice. You need something as bizarre as the iPad where the proportion of input to output activity is miniscule (eg, restricted to flipping pages) to make touchscreens viable.

1D continuous input is ... provided by the scroll wheel. Hence that is revolutionary from the user's point of view! So now we have in the present situation

  • a 0D input device - the keyboard
  • a 1D input device - the wheel
  • a 2D input device - the mouse

What the fuck more do we need?

The False Need For 3D

In certain rarefied applications, we might desire a genuinely 3D input device. These (eg, ringmouse) haven't panned out because of technological problems with resolution. Hmm, poor resolution, does that sound familiar?

The bigger problem with them is that their applicability is extremely limited. Because the visual cortex of homo sapiens sapiens isn't 3D! It's strictly 2+1D, like a topographical map or bitmap. Which is exactly what the wheelmouse provides!

Except for a few freaks, human brains just don't process 3D data. We don't see in 3D (you can't see the inside of a box and its outside simultaneously), you don't think in 3D, you don't visualize in 3D (go ahead, try to visualize all sides of a solid box at the same time), you do nothing in 3D except move your body. You do everything in 2+1D.

Is it any wonder then that anyone wanting to push 3D input devices resorts to proprioception? To moving around and dancing with your body? Even though moving around your body has fuck all to do with any computer game or software application out there? Yeah yeah, it looks great. And you know what? Fucking useless!

Look at the video of Kinect users in the first article I linked to. Do you see any game or application in the video? No. Because the peddlers of this tech couldn't imagine anyone actually using it for anything exciting so they didn't bother to make a rigged demo. It's exactly like I said - it looks great but it's fucking useless.

The challenge for input hardware designers is that input hardware is already perfect. Excepting only that slanted QWERTY keyboards are fucking horrible and Kinesis contoured keyboards are vastly superior. Well, that's a legacy problem and a patent problem. The patent may have expired but it's been there holding up progress for a long time.

And while I'm at it, 3D output hardware (holograms and phased array optics) are also useless for individual users. They only come into their own in holodecks where multiple users can interact. Otherwise, virtual retinal display is plenty good enough. Or I suppose if you want to drive what the user sees with natural head motion without inducing nausea.

Summary

Like touchscreens, 3D output hardware is of limited applicability. Great when you absolutely need it, terrible most of the time. Like automatic kitty lasers, 3D input hardware is completely fucking useless. We don't really need 3D because the human brain just doesn't process it. We need inspired use of 2+1D. And this isn't going to take better technology but better systems designers. Unfortunately, we're pretty good at the former and terrible at the latter.

13 comments:

Stanislav Datskovskiy said...

Have you ever used a Spaceball? IMHO it is the only 3D input device worthy of the name.

When I first picked it up, it "clicked" in my head the way the mouse did when I was a child.

The Kinect, on the other hand, is merely a ploy to make children exercise.

Richard Kulisz said...

I don't think I had ever seen the spaceball. I checked it out just now and certain things were interesting.

Not functionally of course since it's useless to me. For my 3d UI, I only need 4 degrees of freedom. No yaw and no left-right. No one will ever yaw intentionally because I have uniformly oriented objects. And no one will ever move horizontally since all objects are arranged on the surface of a sphere. Moving horizontally twists your perspective in unpredictable ways.

For me, perspective is defined from the axis, or even center, of the sphere. So you can orbit around the axis (something I picked up from Myth), zoom in & out from it, orbit vertically, and maybe elevate along it. I can get away with using a wheelmouse and (any) mouse button to switch from zoom to elevate.

But even though the spaceball is useless to me without constraining those extra evil degrees of freedom, which is more trouble than it's worth I bet, it was still very interesting to read that page. I note that I was right about them not bothering with gimmicky shit like gesture languages. Their angle is "look, we do 3D design and CAD/CAM and oh yeah it also works in Office".

The second thing that was interesting was this related product which ties together their great product with a crappy fucking keyboard. Niiiice. Nobody seems to talk to anyone else because it's Not Their Business. The makers of SpaceMouse don't talk with Kinesis. And Kinesis most definitely doesn't talk to Logitech the makers of working wireless keyboard and laser mouse sets. No fucking integration.

Stanislav Datskovskiy said...

I am using one of these:

http://cadjournal.com/images/hardware/SpaceBall5000-a.jpeg

They are out of production but can be had for $20-50 used/new in nearly endless quantity.

I should mention that I have yet to be sold on the concept of 3D UIs of any sort, and have the device only because I have been dealing with an industrial robot. The latter's business-end neither rolls nor pitches. The spaceball is still very convenient and the ball's extra degrees of freedom can be ignored without conscious effort.

If your UI involves the surface of a sphere, the ball can be treated as representing the motion of the sphere, rather than that of the camera. This is typically how it is used when dealing with 3D models.

I see no reason whatsoever to build the spaceball into a keyboard or anything else, save perhaps a laptop.

Unrelated: do any of the contoured keyboards you linked to have decent (buckling-spring or at least Alps-like) keys? Membrane boards feel like typing on bubble wrap.

‪Stanislav Datskovskiy‬ said...

By the way, in case this is not obvious from the manufacturer's descriptions, a spaceball does not freely rotate; rather, it tilts and twists much like a joystick. It is quite sensitive and so the physical range of motion is tiny. This is one of the reasons I like it: a mouse or trackball is a Kinect by comparison, from the standpoint of excess motion.

Richard Kulisz said...

Maybe you're right about just ignoring the extra degrees of freedom. Assuming the events sent by the device are encoded appropriately.

I'm not surprised you're not sold on 3D UIs. I'm the only person that's ever imagined one where the 3D performs a vital function rather than be some stupid fucking gimmick.

In math, moebius transformations look ad hoc in 2D and ridiculously simple in 3D. My 3D UI already projects down from higher dimensions. Kneecapping it to 2D would make it fugly and incomprehensible. You don't know what I would give for humans being able to process 4D data.

For the switches, I found this forum discussion.

Huh, so that's why the spaceball is so large. It has to damp down hysteresis with its large sensitivity. I was wondering.

Richard Kulisz said...

Damnit, I forgot: moebius transformations.

Richard Kulisz said...

Ah, I made a mistake, I only need 3 degrees of freedom. Pitch is unnecessary since upon evaluation of everything I've got by now, I actually have all the camera perspectives I want to have by default. If some user wants more choice, well fuck em, since I'm in the business of simplifying.

Stanislav Datskovskiy said...

I gather that you are not using 3D to bring "real world" metaphors into the OS (because that would be textbook lameness) or for gesture controls (wouldn't line up with your design philosophy as I understand it.) This leaves... object navigation?

The distortion from 3D-on-2D projection is resolution-costly. Have you considered some combination of mechanical control and eye tracking?

Also, how to deal with "Doom Syndrome" sufferers? (Many otherwise-healthy people appear to have problems with simulated motion through 3-space.) Maybe it goes away with practice.

When we focus on anything of interest, we tend make it mostly planar so as to make the best use of "eye pixels." I would confine 3D navigational cues to peripheral vision only. Now that I think about, this can be done without eye tracking.

Richard Kulisz said...

Object navigation? Correct. I'm quite scathing about metaphors and skeumorphs wherever any lamer defends them. And I posted a comprehensive denunciation of metaphor too.

I don't understand what you're talking about there at all. I especially don't understand why I should care about resolution when an object is at a distance among lots of other objects.

Regarding doom syndrome, 1) I can't find enough references to the problem, 2) it doesn't seem to be constant across all 3D games, only ones that are discontinuous and fast, 3) fuck em, it's only part of the population. Trying to appeal to everyone is a guarantee for disaster. I can more easily afford to sacrifice 50% of my ultimate market than to worry about hardware optimization.

I still don't understand how eye tracking got involved. 2D vs 3D is a non-issue since the obvious solution is to use 3D for global navigation with multiple objects, and to use 2D for the ZOOMED IN view. Considering that even the hacks that fail at making serious 3D UIs (and not total gimmicks) all build in zooming, it is an obvious feature to have.

Hell, my objects aren't even 3D, they're one-sided flat rectangles always oriented towards the camera. And when you zoom into them, it's a blatantly obvious optimization to turn it 2D somehow. But it's still an optimization and hence not something to worry about right now.

Stanislav, you're blatantly violating 'Make It Work, Make It Right, Make It Fast'. I've got enough problems myself obsessing over Make It Right before doing Make It Work. I'm incapable of comprehending the obsession with Make It Fast.

Furthermore, software is stupidly slow because it does what nobody needs it to do. But I'm not a typical programmer, not one of those fucking retards incapable of design. So I'm putting in a lot of effort to make sure that everything my UI does is things the user NEEDS to happen. And preferably, also wants to happen and asks to happen!

Now generalize what I said about software speed to ALL optimization and ALL resources. First you never put in crap that soaks up resources for no reason (*), second you add more resources, and only last do you optimize. If there genuinely isn't enough of a resource then you ADD MORE OF THE RESOURCE. You do NOT start optimizing!

*: if you're at the stage where you have to remove crap you already put in, it's too late. Give up and fire yourself. And if it's crap someone else put in, then burn it, burn it all.

I'm a designer, my job is to design. I leave the optimization to people who are incapable of design. Assuming I ever get them involved, which I don't.

Jason said...

I liked your rant, and it got me thinking that all your objections are tied together with one theme:

"Users will choose the solution that requires the least effort."

If anything new requires more effort (to learn, adopt and use) than the existing method - it won't be adopted. You can overcome this with a reward for the user, but in general - I think the challenge is the same.

However, I think we will eventually end up with a product that is useful, and it will be on the backs of these products which are now "useless." So in that sense, the current products are very useful - just as stepping stones. And early adopters who are willing to look stupid, be inconvenienced and waste time, are key to that evolution.

Richard Kulisz said...

You seem to have entirely missed the point of my rant.

1) there is in HCI (that's human-computer interaction) something the equivalent of an ecological niche in biology.

2) HCI niches are determined NOT by marketers (or hardware makers) but uniquely by the physical and psychological characteristics of human beings.

3) each niche is filled by the fittest input/output device and all others will go extinct given sufficient time.

4) all these toys aren't even remotely fit to survive. They are pathetically malformed ad hoc creations that straddle niches.

5) In the case of Kinect, it straddles the niche of the mouse and the monitor. Without filling either niche!

It has fuck-all to do with "easy". It has everything to do with conceptual HCI niches. And with these gimmicky piles of shit being the equivalent of wolf-plants with non-functional teeth or leggy whales with non-functional legs.

Richard Kulisz said...

Jason, you feel you are my equal and so feel free to authoritatively STATE what my words actually mean. (As opposed to question me about whether or not you understood me.) It is my duty to inform you that neither of your feelings are even remotely true. And that if you've read 3 or more of my posts and still feel that way, then you are delusional.

The sad thing is that as a graphics designer, you have spontaneous creativity and I think analysis. But not intellectualism (belief in the value of ideas for their own sake). So you have the raw cognitive machinery to be my equal, but you have neither the interest in being so nor even any interest in understanding me. You're only interested in ideas for their practical applications. You're only interested in my post for what you can get out of it. And that's where you derailed off track.

My message is that keyboards would be perfect input device if they were all wireless kinesis. And that wireless laser mice would be their perfect companion if they had ZERO buttons. Improvable only if you can slip a mouse on a finger. And that these devices already almost completely fill their niches leaving NO ROOM for anything new. Well, that doesn't seem to be a message you want to hear so you've deafened yourself to it.

The input device situation is already close to perfect and there isn't EVER going to be anything radically new ... yeah, that's not something you want to hear.

Oh and Jason, I've done original research in psychology and moral philosophy. I'm conversant in fields ranging wildly from cosmology, mathematics, meta-physics, economics, political science, applied sociology (education, business), and various aspects of high industry (steel, trains, nuclear). And I've taken a special interest in collecting knowledge of lies and frauds in fields outside of these.

Understand this - NONE OF the above field are my main area of interest. That would be computer science and systems design. But that's what an intellectual does - they develop interests and acquire knowledge FOR THEIR OWN SAKE.

You will be my peer only when you want to be. And I don't think you ever will.

Anonymous said...

You wrote:
take a look at the photo of the three retards behind the conference table in Google's Gmail Motion for proof. Google seriously thinks this photo will help sell this piece of crapware. "more efficient and intuitive" my ass!
But if you had explored the link, you would have seen that it was an April fool's joke. Google is making fun of ridiculous gesture interfaces. So, no, Google does not seriously think that motion input is a good idea. The actors behind the table look silly on purpose.