These new UI concepts are always awe inspiring, but what is really the benefit of using them?
One of the most popular demonstrations is browsing through a bunch of photos on a huge screen with large gestures. While this looks quite impressive it's inaccurate when performing specific tasks (e.g. the color-selection planes in the video), the gestures are limited and you have to learn somewhat unintuitive ones apart from the more obvious "select", "move left" and "zoom" gestures. His more real world example (the table and the globe) didn't quite work, but what he could show us wasn't a step up from using a mouse.
An other favorite is the "physical elements on a table" example. This works reasonable well but his examples again were not convincing. Using it as a wind tunnel without being able to rotate it in three dimensions? Calculating the shadows of buildings?
But what's holding us back? Processing power? Cost? Hardware requirements? Or a general lack of use cases, of areas where this really makes sense?
Their incentive is to make it look cool, wow an audience, and bring more grant money to the MIT Media Lab. Contrast this with a company that puts the pieces together and ships a useful product - like the iPad UI...
I always thought crazy concept cars were a waste of time and resources for car companies. If they instead focused on massive in-house iteration (like Apple's 10-3-1 prototyping process), better cars would be brought to market.
Wasn't sure what "Apple's 10-3-1 prototyping process" involves; it ends up that the title is pretty self-explanatory:
Apple designers come up with 10 entirely different mock ups of any new feature. Not, Lopp said, "seven in order to make three look good", which seems to be a fairly standard practice elsewhere. They'll take ten, and give themselves room to design without restriction. Later they whittle that number to three, spend more months on those three and then finally end up with one strong decision.
No doubt. That's why specifying project requirements and writing proposals is usually so important for both client and coder. Managing expectations is key.
It sure looks like Greenspun's page, using simple formatting, has aged very very many times better than anything the MIT Media Lab would have been doing.
The Media Lab does all kinds of neat research. The point of Greenspun’s argument is that the purely promotional website structure designed by generic managers, even ones who manage a lab that does neat stuff, is much less useful to its intended audience (potential grad students) than a website designed for some concrete purpose like explaining the first-person history of computer science.
You shouldn’t misrepresent his words to be an all-purpose indictment of the Media Lab.
Imagine a 60 inch iPad hanging on the wall of your kitchen. Imagine being able to point and gesture instead of touching. Want to watch a movie while cooking? Switch back to the cook-"book" app when it's time to add the next ingredient, then go back to your film.
> I always thought crazy concept cars were a waste of time and resources for car companies. If they instead focused on massive in-house iteration (like Apple's 10-3-1 prototyping process), better cars would be brought to market.
Definitely. I've been watching the car industry for a few years now, and I'm still waiting for an "Apple" to emerge.
They iterate even more out of the public eye. There are endless reams of concept art that never even made it to scale model clay. All of the major manufacturers have design houses staffed with people who's sole job is to draw neat looking car ideas. Eventually a few float to the top and they make scale models out of clay (or in this day and age on rapid prototype machines). And then those design studies may end up as full sized, half-car (lengthwise) mock-ups made out of clay. If they survive that, they may even get made into a pure, non-functional concept car like we see at trade shows. It the public reception is positive, they turn manufacturing engineers loose on the design and they cut out all the artistic junk that would cause the car to cost 4 times as much to make, and introduce safety devices and such that change the styling.....it might make it to a functional prototype at that point where they show it at next year's auto-show, if reception is still good, it'll probably make it into to production.
> why are command line interfaces still the most efficient way for experts to interact with a system?
That's an easy one to answer.
It's for the same reason humans developed natural language by sounds emitted by vocal cords, with a pretty simple mechanism ... you've got a vocabulary of words that describe something, like an action, or an attribute or a physical object, and then you can mix them together to form phrases, with multiple phrases used to describe entire plots.
So you're not limited in any way, being able to communicate designs, strategies, emotions, just with words ... and the combinations you can come up with are infinite, the more you talk and write, the more skilled you get in communicating.
It was the most efficient way it could happen ... there's only so much you can describe with hand gestures without the movements becoming unintuitive.
So it is with command-line interfaces ... you've got commands you can issue perfectly described by words. And you can mix and match them however you like in totally unpredictable ways.
It's not natural language, but it's a lot closer then graphical interfaces. And a lot of the work programmers or sysadmins do is just story-telling. Personally I don't see any way around that unless we are talking about very limited niches.
The question is why don't normal people do it? Well, 10 years ago very few people could type. Now 12 year-old teenagers do it efficiently, and typing on a computer is quickly replacing hand-writing. I believe that in the future most people will be familiar with a programming language / CLI interface (while also having more advanced graphical interfaces).
Sooner or later everyone will for the same reason humans learned how to speak ... evolution didn't favor those who didn't. And learning a natural language is the hardest thing humans do ... we just don't notice it anymore since we're learning it since birth and it's in our genes already.
> there's only so much you can describe with hand gestures without the movements becoming unintuitive.
Even more so for sounds. Most spoken words are no more intuitive than arbitrary gestures in modern gestural languages (which can similarly be articulated in powerful systems just like spoken languages).
Aural, visual, tactile and chemical channels each have advantages and disadvantages for different applications. I'm not convinced intrinsic 'intuitiveness' is one of these factors. In communication, intuition is mostly hardwired convention. Lowering ears and wagging tail has a different (and quite opposite) instinctive meaning for cats and dogs.
> Aural, visual, tactile and chemical channels each have advantages and disadvantages for different applications
I wasn't talking about the method of delivery.
A wagging tail may not be intuitive, but moving a physical object from A to B by picking it up and dropping it is very much intuitive, not just by hardwired convention (both cats and dogs do it in the same way).
And the only rationale for the futuristic graphical interfaces we see demoed (including stuff like multitouch in iPhone/iPad) is based on the implicit intuitiveness of handling physical objects with your hands.
But that's just a niche ... beyond that you need a language for building stories out of composable phrases, and the demos of futuristic graphical interfaces I've seen just don't cut it.
Command-line interfaces seem to involve two main parts. The commands themselves (ls, mv, rm, and so on) and the arbitrary parameters supplied to them (all files with the .txt extension or compiler flags). For the former hand gestures would work well since there is a limited and well-defined set of commands, the latter would be better served with a regular text input. Even here the distinction gets blurred by commands created by applications you install yourself.
A combination of the two with instant switching between the two modes would be nice. But that still seems like an uncreative solution.
> why are command line interfaces still the most efficient way for experts to interact with a system?
This is far from generally true. I defy you to make a command line interface for performing a piano concerto, painting a landscape, or flying an airplane.
Well, if we are talking about computer interfaces, the more sophisticated graphic and music programs have some kind of scripting capabilities. Think Photoshop, AutoCAD, C-Music...
If you are talking about computer vs non-computer interfaces, yes, you are not going to play a piano concert with a mouse either.
Who said anything about a mouse? The three interfaces I was thinking about were (a) a piano (that is, the keys and pedals), (b) a brush, a canvas, and some tubes of paint, and (c) a joystick and a few walls of dials and switches and buttons.
If you want to put things directly in a computer, you probably want a digital piano keyboard, a graphics tablet, and a joystick + keyboard.
Scripting it is an alternative way to interact with, e.g., Photoshop, but you wouldn’t want to “paint” a digital picture by typing in some JavaScript to direct it.
> but you wouldn’t want to “paint” a digital picture by typing in some JavaScript to direct it
A painting you cannot, but the architecture of a building is better if it's built by using a CLI interface ... because you need control over every detail of your construction. Just look at AutoCAD sometimes.
Also, for playing on a piano you first need to read a sheet of music that describes your melody.
> [...] the architecture of a building is better if it's built by using a CLI interface [...]
Bullshit. The architecture of buildings is refined from models made in clay, drawings made on paper, people walking around the physical site, and annotations to photographs. Eventually, the building is realized with cranes and hammers and two-by-fours and drywall.
There’s potentially one step in there where each part is precisely specified numerically, and you could maybe make that step easier by typing into a CLI. But saying that’s “the interface”, or “a better interface” to the design or construction of the building is an almost impossibly myopic analysis.
True. I also don't really feel the need for a command line on my iPhone.
My point being that yes, command line interfaces are the most efficient way to interact with Linux, but elsewhere, not so much. Maybe it means that Linux was designed for the command line.
The fun fact is that is that deep inside, the iPhone runs some variant of Unix.
There is benefit for a small subset of applications, applications which can gain from having 3d input. Most of the stuff he does in that demonstration is not of this category. But interfaces like that can be very nice for architecture (or computer assisted design) and 3d data visualization (medical or other). Gaming is also bound to be an interesting application. It will be nice to see what Microsoft comes up with for natal as well.
For general computing I am not sure if there is a use for this kind of interface, this stuff takes a lot of space and is long to setup while we are going the other way - towards smaller and more portable computers.
Also, let us not forget that gestural interfaces are very tiresome and it would be hard to use one for a long period of time.
One of the most popular demonstrations is browsing through a bunch of photos on a huge screen with large gestures. While this looks quite impressive it's inaccurate when performing specific tasks (e.g. the color-selection planes in the video), the gestures are limited and you have to learn somewhat unintuitive ones apart from the more obvious "select", "move left" and "zoom" gestures. His more real world example (the table and the globe) didn't quite work, but what he could show us wasn't a step up from using a mouse.
An other favorite is the "physical elements on a table" example. This works reasonable well but his examples again were not convincing. Using it as a wind tunnel without being able to rotate it in three dimensions? Calculating the shadows of buildings?
But what's holding us back? Processing power? Cost? Hardware requirements? Or a general lack of use cases, of areas where this really makes sense?