Thursday, April 19, 2007

A while back I posted some thoughts about how the mobile user experience could be greatly improved if we paid less attention to applications (I called them silos) and more attention to tasks the users want to perform and the data associated with them (regardless of where that data lives on the device or what app created it). A part of this vision is a move away from traditional GUIs that focus on launching applications to start a task and toward a natural language interface that gives users a faster, more direct way to get things done when they are mobile. Unfortunately, it's all a little abstract until you see an example of what I'm talking about so I really need to get some animated screenshots up here soon. And I may have compounded the confusion by referring to this as the "return of the command line interface" which suggests a blank DOS or Bash console that requires the user to learn a special language and do a lot of typing. Some readers (mostly developers and Mac Quicksilver users) got the vision and saw the opportunity like I do, while others thought I was talking about something that was designed to support power-users and geeks at the expense of newbies. My goal is actually to make the mobile UI a lot more obvious and intuitive, and to cut down on all the clicking and tapping you have to do today to get where you're going on your device. Maybe a better term would have been "text-driven interface"? "Natural language interface?" Bah, sounds pretentious. I don't know.

Anyway, for those who are following this nascent "CLI renaissance" meme (which Don Norman started) here are a few recent links and products that explore the idea:

The CLI is cool again! by Malcolm Lithgow at Smart Dreaming follows up on my original post with a really thoughtful breakdown of the advantages and disadvantages of the CLI vs the GUI. While he is less optimistic than I am about the CLI creating a better mobile experience, I think our difference of opinion mainly hinges on terminology—he's really thinking of the traditional CLI, even to the point of talking about scripting. He does point out that part of what makes a CLI powerful and fast is auto-completion. In the Serenity prototype I've been working on, autocompletion and autofiltering of commands and data records are pervasive, so you are fully prompted at all times. You never need to wonder what you might be able to enter next and usually don't need to enter more than one or two letters before the software completes the word for you (or at least prompts you for the next required information). So, for example, from a visible list of task "verbs" like Call, Read, Play, Message, New, Find etc. the user can type "c" to select Call, see the completed "Call" keyword, and be prompted with their contact list. Entering "jh" would usually be enough to filter that list to, say, "Jeff Hawkins" and initiate the call. Meanwhile the user might be prompted with Hang up, Add caller, Record call, Write note, etc., all accessible with a single keypress if you only have one hand free and don't want to tap these options on the touchscreen. No using the D-pad to traverse the controls on a form or the items in a menu and get the focus on the one you want. Malcolm's post points to some alternative GUIs that aim in some measure to achieve this kind of directness and it's great stuff to ponder for folks who are thinking about what "simplicity" and "ease of use" really mean on a mobile device.

Last week I ran across a good example of the return of the CLI outside the mobile context: Google Calendar's Quick Add feature. Go try it. I wish I didn't have to click the "Quick Add" link to have the command line display, but once it does I can type something like "Movero conference call 2p Mon," hit the Enter key and it will add the appointment with a default duration at 2pm next Monday. I seem to remember a Palm application that worked a little like this (parsing and interpreting which PIM database and which fields the data needed to go into). Drop me a comment if you know it.

Another nice example that shows with some screenshot mockups how CLI can be combined with prompting and autocomplete (again, on the PC): Conservative Design: Command Line Interface at a blog amusingly named "Web 3.0, 6 Bladed razors, 7 Minute Abs."

Finally, Russell Beattie's new Mowser project has a hint of the CLI in his "one box" interface (I like that term better than "command line," by the way). You can type "am Nokia n95" to search for that handset on Amazon—somewhat better than having to select Amazon from a drop-down list as you do in most desktop browsers. But the result is not what you expect. Instead of getting a link to the most relevant listings you get a transcoded-for-mobile version of Amazon's home page, which is too big for your phone, I guess, so it's broken by Mowser into 5 pages. Only when you get to the third page do you find the Amazon search box with "Nokia n95" pre-entered. Click that button and you get your search results.

All right, all right, Mowser's been up for what? 3 days? I'm guessing that in a future iteration Russ will make these commands use the web services that these big sites provide for search. The real point I wanted to make is that there's the potential for a powerful but simple command language here. Mowser's eBay command ("eb") could have some handy ways to extend the search that are eBay-specific. Consider "eb Palm TX PDA notify $100" which would send your phone a text message with a link when an auction that matches the "Palm TX PDA" search string is at $100 or less, say, 2 hrs before closing. Without good prompts to guide you in writing the command this would not be for the casual eBay user, but there are a lot of non-casual eBay users out there that would learn this quickly and use it often. Still, this kind of interaction only gets really good and simple when you get out of the browser and use web widgets or web clipping apps (see yesterday's post) that can prompt you with the commands and parameters to build the query and auto-complete them as you enter a few characters. On the web side of things that's the kind of interaction I'm trying to enable with Serenity.

Ok, now I have just used my vaporware non-product to diss a cool, free new web product from a great guy who we're all glad to see back in the blogosphere after a sad (for us) hiatus. He already has some great ideas packed into Mowser and some good suggestions about how to make your blog work with it to be more accessible to mobile browsers. So hats off to Russell Beattie!

Comments

I don't think it's cool that Mowser is profiting by stealing your content with "Ads by AdMob"...

http://kevinperkins.wordpre...

Posted by kevinperkins at Monday, April 23, 2007 03:45:33

G'day David, I agree that all this stuff is pretty cool and worth discussing and working on (I'd really like to do more with DreamScribe, for example).

I've added a few thoughts in response to this post of yours at: http://smartdreaming.blogsp...

It's a bit rambling, and still skeptical, but I do substantially agree with your approach.

Posted by lithgow at Monday, April 23, 2007 06:28:08

Hey, Kevin... In my use of Mowser I couldn't find any advertising on adapted content pages at all. From the snippet of Russell Beattie's blog that you posted it doesn't sound like he means to be putting ads on your content unless you include the AdMob header yourself. I saw your screenshots but I don't get ads when I browse to those sites with Mowser on my phone and haven't seen them elsewhere. I suspect this was a software bug (now fixed?) and that he means to do exactly what he says he's doing.

In any case, why not ask him directly on his forum? http://mowser.com/forum/

Posted by cervezas at Monday, April 23, 2007 07:00:34

Add Comment

Comments must be approved before being published. Thank you!