Hacker News new | comments | show | ask | jobs | submit login

If your interface needs a cheat sheet or tip mechanism or animated assistant to explain to the user how it works, it is a failure.

I think this is where Microsoft isn't getting a fair shake. Half of the iPhone features require a gesture. If it wasn't for talking to people and 'cheat sheets' no one would know how to search, kill apps, set the orientation, move apps, uninstall apps, etc.

Clearly Apple traded off a lot of learnability for aesthetics and a pleasant experience after you learn. I see this as very similar.

I agree that Microsoft isn't receiving entirely fair treatment here. As noted in the comments on the link's page, I'm sure a simple tutorial at install will do just fine for many, many typical users.

However, with regard to my personal experience, I picked up the iPhone 4S as my first smart phone. I've never seen an iPhone or iPod touch in action before and this was my first experience with an iOS device. It took me very little time to figure out how to navigate it, close and uninstall apps, etc. I never googled how to do something, and even had fun trying out my new toy.

I think comparing something like the simple iOS and the should-be simple Windows 8 is a very complicated act. The basic nature of a single Home Button and a touch screen simplified my learning of the iPhone. I imagine, without an introductory tutorial, Windows 8, with such complications as an external mouse and full keyboard and no touch-screen monitor, may be a very hectic experience (as seen in the video).

Searching, killing apps, setting orientation, etc, aren't core functionality necessary for using the device.

Win8 is frustrating and I personally don't like its interface but I disagree with calling it a "failure". I did literally drag and randomly click until things happened when I couldn't figure out what to do. However knowledge has to be conveyed somehow. No one can instantly know how to use a device unless told how to, whether by tutorial or by labeled buttons and you can't label gestures. Complex gestures and shortcuts are in no way obvious.

Yes, users have to be "told how" to do things, but what's more reasonable: a clickable menu or button that tells you what it does by having its function literally written on it, or an arcane gesture that you have to discover either by trial and error or by querying external documentation?

OS functions aren't discoverable without external reference materials, applications run in full-screen and offer limited integration with other applications, and multitasking is crippled.

Welcome to DOS.

So Linux CLI is a failure? Even geeks sometimes need the cheat sheet for it.

In terms of being intuitive for a new user? Yes, the Linux CLI is a total failure. Can you imagine sitting an absolute newbie in front of a Linux (or any Unix) TTY and telling them, "Go at it"?

Why yes I can. I remember using a PC for the first time and typing all sorts of things at a prompt trying to work out the range of commands that were available.

The user will likely type "help" first. On Kubuntu I get this:

  username@loclahost:~$ help
  GNU bash, version 4.2.10(1)-release (x86_64-pc-linux-gnu)
  These shell commands are defined internally.  Type `help' to see this list.
  Type `help name' to find out more about the function `name'.
  Use `info bash' to find out more about the shell in general.
  Use `man -k' or `info' to find out more about commands not in this list.

  A star (*) next to a name means that the command is disabled.
  job_spec [&]                                                          history [-c] [-d offset] [n] or history -anrw [filename] or histor>
   (( expression ))                                                      if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [>
   . filename [arguments]                                                jobs [-lnprs] [jobspec ...] or jobs -x command [args]
   :                                                                     kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill>
   [ arg... ]                                                            let arg [arg ...]
   [[ expression ]]                                                      local [option] name[=value] ...
Which is surprisingly helpful and would give you a start at interacting with the computer at least. How far you'd get if you were literally thrown in at the deep-end with this I don't know.

To an inexperienced computer user, that help screen would be beyond incomprehensible.

>To an inexperienced computer user //

Actually I don't think it's about experience, it's about willingness to read and attempt to comprehend a system. If a person doesn't want to try then yes this will be difficult for them; it needs effort.

I did exactly that. It wasn't very helpful. One of the things that would bring shell into the 21st century is a decent discovery mechanism for new users. Learning shell by immersion in the oral history of *nix just isn't a scalable way to teach. No matter how enjoyable.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact